Hi Steve,
Thanks for looking into this. I started over from scratch, just to
make sure I didn't do something wrong. And, of course, after posting
a problem, I discover it was user error... I don't know where I
messed it up, but I'm getting the expected values now.
Here's what I'm doing and the results I'm getting, if interested: I'm
trying to count the number of voxels above a given threshold. I'm
using a t map from an individual analysis in spm, thresholding it to
only leave t values above 2.6259 (p=.01, df=100, uncorrected) and
masking it to look at things only within a given roi (that's already
been converted to a binary mask). So, to do this, at the terminal I
type: avwmaths_16SI <spmT map>.hdr -thr 2.6259 -mul <roi mask>
<output>.
If I check the header info with avwhd, I get:
bash-2.05b$ avwhd masked_t.nii.gz
filename masked_t.nii.gz
sizeof_hdr 348
data_type INT16
dim0 3
dim1 79
dim2 95
dim3 69
dim4 1
dim5 1
dim6 1
dim7 1
vox_units mm
time_units s
datatype 4
nbyper 2
bitpix 16
pixdim0 0.0000000000
pixdim1 2.0000000000
pixdim2 2.0000000000
pixdim3 2.0000000000
pixdim4 1.0000000000
pixdim5 1.0000000000
pixdim6 1.0000000000
pixdim7 1.0000000000
vox_offset 352
cal_max 1.0000
cal_min 0.0000
scl_slope 0.000000
scl_inter 0.000000
phase_dim 0
freq_dim 0
slice_dim 0
slice_name Unknown
slice_code 0
slice_start 0
slice_end 0
slice_duration 0.000000
time_offset 0.000000
intent Unknown
intent_code 0
intent_name
intent_p1 0.000000
intent_p2 0.000000
intent_p3 0.000000
qform_name Unknown
qform_code 0
qto_xyz:1 2.000000 0.000000 0.000000 0.000000
qto_xyz:2 0.000000 2.000000 0.000000 0.000000
qto_xyz:3 0.000000 0.000000 2.000000 0.000000
qto_xyz:4 0.000000 0.000000 0.000000 1.000000
qform_xorient Left-to-Right
qform_yorient Posterior-to-Anterior
qform_zorient Inferior-to-Superior
sform_name Aligned Anat
sform_code 2
sto_xyz:1 -2.000000 0.000000 0.000000 78.000000
sto_xyz:2 0.000000 2.000000 0.000000 -112.000000
sto_xyz:3 0.000000 0.000000 2.000000 -50.000000
sto_xyz:4 0.000000 0.000000 0.000000 1.000000
sform_xorient Right-to-Left
sform_yorient Posterior-to-Anterior
sform_zorient Inferior-to-Superior
file_type NIFTI-1+
file_code 1
descrip FSL3.2beta
aux_file
The output from avwstats++ is:
bash-2.05b$ avwstats++ masked_t.nii.gz -v -V -r -R -m -M
517845 4142760.000000 440 3520.000000 765 1276 0 1530 0.760305 894.818182
Thanks for your help and sorry about wasting your time...
Pat
On 5/19/07, Steve Smith <[log in to unmask]> wrote:
> Hi - sounds odd - can you send the output from:
>
> avwhd <input>
> avwstats++ <input> -v -V -r -R -m -M
>
> Cheers.
>
>
> On 18 May 2007, at 21:36, Pat Vee wrote:
>
> > Hi Steve,
> >
> > Thanks for the quick reply. One follow up question though... For
> > avwstats, I'm still confused b/c my voxels are 2x2x2mm (confirmed
> > by avwhd). Therefore, if I multiply that by the number of voxels,
> > I shouldn't get a decimal. And, the number ( e.g., 13560.75) is
> > much larger than my number of voxels (826) times the volume
> > (8mm^3). Am I doing something wrong?
> >
> > Thanks,
> > Pat
> >
> > On 5/18/07, Steve Smith <[log in to unmask]> wrote:Hi,
> >
> > On 18 May 2007, at 02:23, Pat Vee wrote:
> >
> > > Hi all,
> > >
> > > I'm trying to use avwstats to count the number of voxels and find
> > > the mean
> > > within a masked image. What I've done is created a binary mask,
> > then
> > > multiplied that by an image to only leave values in the non-masked
> > > regions.
> > >
> > > So, to count voxels I'm typing:
> > > avwstats <input> -V
> > > It outputs 2 values; I understand that the 1st value is the number
> > > of voxels
> > > that are non-zero. I've been getting whole numbers for this on the
> > > order of
> > > hundreds (e.g., 826), which is what I expect. However, I don't
> > > understand
> > > what the 2nd value is. I've been getting numbers on the order of
> > > thousands,
> > > with decimals for this (e.g., 13560.75). Can someone explain what
> > > this
> > > number is?
> >
> > If you just type "avwstats" you get the usage;
> > the second number is the volume, i.e. the first number X voxel volume.
> >
> > > To find the mean, I'm typing:
> > > avwstats <input> -M
> > > It outputs a value that I believe is the mean for all the non-zero
> > > voxels.
> > > However, I realized that it's possible that some of the volumes
> > > will have
> > > zero values within the non-masked regions. So, is there some way
> > > to mask
> > > regions so that the masked area is converted to NaNs - or some
> > > other method
> > > that would allow me to include zeros when calculating the mean?
> >
> > We don't use NaNs, This is easy in avwstats++ with the -k (masking)
> > option.
> >
> > Cheers.
> >
> >
> > ----------------------------------------------------------------------
> > --
> > ---
> > Stephen M. Smith, Professor of Biomedical Engineering
> > Associate Director, Oxford University FMRIB Centre
> >
> > FMRIB, JR Hospital, Headington, Oxford OX3 9DU, UK
> > +44 (0) 1865 222726 (fax 222717)
> > [log in to unmask] http://www.fmrib.ox.ac.uk/~steve
> > ----------------------------------------------------------------------
> > --
> > ---
> >
>
>
> ------------------------------------------------------------------------
> ---
> Stephen M. Smith, Professor of Biomedical Engineering
> Associate Director, Oxford University FMRIB Centre
>
> FMRIB, JR Hospital, Headington, Oxford OX3 9DU, UK
> +44 (0) 1865 222726 (fax 222717)
> [log in to unmask] http://www.fmrib.ox.ac.uk/~steve
> ------------------------------------------------------------------------
> ---
>
|