I've posted a question about a strange behavior of mri_segstats if voxel size 
isn't 1 mm3 and --pv 
option is used.

I found a reason of this problem in the source code of mri_segstats.c
(release_5_1_0 branch was checked out from read-only CVS source-code repository)

In mri_segstats.c the return value from 
MRIvoxelsInLabelWithPartialVolumeEffects is used as the 
number of voxels;

nhits =
   MRIvoxelsInLabelWithPartialVolumeEffects
   (seg, pvvol, StatSumTable[n].id, NULL, NULL);
vol = nhits*voxelvolume;

However, MRIvoxelsInLabelWithPartialVolumeEffects in utils/mri.c returns volume 
(e.g. volume += 
vox_vol; or volume += vox_vol * pv;), not the number of voxels.

nhits value is adjusted by voxel volume in mri_segstats.c (vol = 
nhits*voxelvolume), so that the 
voxelvolume (vox_vol) is multiplied twice.

The volume reported by mri_segstats, therefore, is too small if the voxel 
volume is less than 1 mm^3 
or too large if the voxel volume is larger than 1 mm3.

Note that this is not a problem when voxel volume is conformed to 1 mm3 
(default option in recon-all).

I think many of FreeSurfer programs do not support high-resolution (< 1mm3) 
image without conforming 
to 1 mm3 voxel, but could you fix the problem of mri_segstats? I want to use 
mri_segstats with 
partial volume correction for high-resolution MRI image.

Thank you,

--Masaya


On 06/26/2012 08:40 AM, Masaya Misaki wrote:
> Hello all,
>
> I found volume size reported by mri_segstats is changed very much
> depending on voxel size when partial volume correction (--pv option) is
> used. The difference was much larger than that can be explained by the
> difference of image resolution.
> (mri_segstats version is 1.75.22 2011/4/27 in FreeSurfer v5.1.0)
>
> When I performed segmentation for high-resolution image (voxel size = 0.5
> mm^3), I found all volumes of segmented regions in aseg.stats was too
> small; about 8 times smaller than that was estimated from 1mm^3 conformed
> image.
>
> So I tested the effect of voxel size on mri_segstats.
> At first, recon-all was run with conforming 1mm^3 voxel (default option).
> Then aseg.mgz and norm.mgz were conformed to small voxel size, and
> mri_segstats was applied to the conformed files:
>
> mri_convert aseg.mgz aseg_cs05.mgz -cs 0.5 ­rt nearest
> mri_convert norm.mgz norm_cs05.mgz -cs 0.5
> mri_segstats --seg aseg_cs05.mgz --pv norm_cs05.mgz \
>    --ctab $FREESURFER_HOME/FreeSurferColorLUT.txt \
>    --nonempty --excludeid 0 --sum aseg_cs05.stats
>
> (these are just for testing the effect of voxel size, not for actual
> analysis)
>
> All volumes reported in aseg_cs05.stats (for 0.5mm^3 voxel) was about 8
> times smaller than aseg.stats (for 1mm^3 voxel). So the reported volume
> was scaled with the same ratio as the voxel size. Same effect was observed
> when voxel size was conformed to larger one (e.g. 1.5mm^3); reported
> volumes were about 3 times larger than those for 1mm^3-voxel. The number
> of voxels in the segmented regions (Nvoxels column in aseg.stats) were
> similar across different voxel sizes while voxel sizes are different.
>
> When --pv option was not used, the reported volumes were almost the same
> across different voxel sizes. So the partial volume correction in
> mri_segstats seems to depend on voxel size.
>
> Can I fix this with some missed options or shouldn't I use --pv option
> for the image with voxel size other than 1mm^3?
>
> thanks,
>
>
> --
> Masaya Misaki Ph.D.
>
>


_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

Reply via email to