This won't work. The N vox value is just the number of voxels within a
certain region of the volume. You'd need to read the code to figure out what
this region is. If you want to figure out the total volume, then use the
script on Tom N's website and modify it to
fprintf('%g voxels, %g litres\n', vol, vol*abs(det(V.mat(1:3,1:3)))*1e-6);
The reason for the negative volumes is that the voxel-to-world mapping flips
from a left- to a right-handed co-ordinate system. This mapping therefore
has a negative determinant. The script was originally written for SPM99,
where things were done slightly differently. It works for SPM2 - providing
you take the absolute value of the determinant.
Don't confuse this determinant with the one from the affine registration.
They are completely different.
Best regards,
-John
On Tuesday 26 July 2005 08:12, Jürgen Hänggi wrote:
> Dear SPM users
>
> I tried to calculate the volumes of the GM/WM/CSF segments.
>
> 1. I tried it with the N vox value by multiplying the n vox value
> with the whole boundingbox volume (customised) and divide them by
> the determinant from the affine registration.
> e.g. for GM (0.1996 * 4.985 liters)/0.4375 = 2.274 liters????
>
> In my opinion, there must be a error in the matrix from which
> I have calculated the determinant.
>
> The matrix from the affine registration looks like this
>
> -0.984652397319312 -0.01601706430295645 -0.002118768348360404
> 201.0153957960537
> 0.009009810452331476 -0.40483913770032703 -0.7711390007527495
> 192.507048140182
> -9.784690721137174E-4 -0.48843170079109083 0.16698600269962102
> 100.13643261690986
> 0.0 0.0 0.0
> 1.0
>
> the determinant of this matrix is 0.4375 which seems very strange
> what happens with that matrix???
> what would it mean when the determinant becomes negative?
>
> 2. To get segment volumes I have also tried the following function from
> John V = spm_vol(spm_get(1,'*_seg*.img'));
> vol = 0;
> for i=1:V.dim(3),
> img = spm_slice_vol(V,spm_matrix([0 0 i]),V.dim(1:2),0);
> vol = vol + sum(img(:));
> end;
> fprintf('%g voxels, %g litres\n', vol, vol*det(V.mat(1:3,1:3))*1e-6);
> for GM: 838197 voxels, -0.838197 litres
> for WM: 553626 voxels, -0.553626 litres
> for CSF: 1.01618e+006 voxels, -1.01618 litres
>
> why there is a negative foresign?
> it is not plausible that the whole brain volume (GM/WM/CSF) is about 2.397
> liters!!!
>
> 3. Is there an other way to get GM/WM/CSF volumes from normalised MR
> images?
>
> Thanks a lot in advance
> best regard
> Juergen
>
> ----------------------------------------------
> Juergen Haenggi, Ph.D. student
> Division of Psychiatry Research
> Psychiatric University Hospital
> University of Zurich, Switzerland
> P.O. Box 1931
> Lenggstrasse 31, 8032 Zurich
> 0041 44 384 26 10 (office phone)
> 0041 76 445 86 84 (mobile phone)
> 0041 44 384 26 86 (fax)
> H 115 (office room number)
> [log in to unmask] (division email)
> http://www.dpr.unizh.ch/ (division website)
> http://www.juergenhaenggi.ch (private website)
> ----------------------------------------------
|