Print

Print


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
> ------------------------------------------------------------------------
> ---
>