Be careful about the codet being used, although this may NOT explain the strange result. My understanding is that you wish to estimate ICV which is the sum of whole brain WM, GM and CSF; irrelevant of inclsuion of brainstem & cerebelllum.
Assuming the Graphical prescription of data acquision is consistent on all subjects (i.e. foreman magnum to brain vertex)
[1] I would take the masked whole cranium data and sum all non-zero voxels. In SPM segmented regions are saved as c1, c2, c3,. and these are reported as "probability, 0 to 1 or 0 to 255" and hence must be threholded (say 0.5 or 127)
to get the GM, WM, CSF and masks. In specific the codet you are using adds up intensities and not voxel numbers.
[2] Ignore for now the the loop over subjects or slices and just validate the results on one subject. Lets say you have a masked T1w (or T2w) file and you wish to estimate ICV in mL as it is traditionally reported with expected values in humans
1000-1700 mL.
The old good SPM2 will do it as descibed below:
%provde long file name with path
threshold=0.0; %for masked files, and 0.5 or so for segemented files
hdr=spm_vol(T1w_file); vox_vol=prod(hdr.private.hdr.dime.pixdim(2:4))/1000;%vox vol in mm*mm*mm or 1/10cm*1/10cm*1/10cm=1/1000 mL
img=spm_read_vols(hdr); icv=length(find(img>threshold))*vox_vol;
**If the file being used is c1,c2,c3 then replace threshold with 0.5 or so, but make sure that the maxium intensities are 0 to 1; otherwise scale it by the maximum (check it).
[3] **Expected values for living Humans of wbGMv, wbWMv, wbCSF should be ~ 700, 400, 200 mL or so. with a ratio of wbGM/wbWM of ~ 2 that also depends on age. An expected CSF to ICV farction of 0.1-0.2 is ok.
All estimates depend on age, gender, pathology (i.e. hyperintensities, lesions,.) and will be affected by how good your masking and partial volume averaging due to selection of voxel size.
ICV should be stable with age (after 5 or so). ICV secrbed is done in native data space, and the value should be ok in standard space if you correct for each subject native volume to standard space dVn/dVs, but segmented results are not accurate if estimated in standard space, due to excessive partial avergaing.
**See Hasan et al Neuroimage 2007 and references therein (Table 1 and Figure 4 --includes pseudo meta nalysis of key works as of 2007 or so; look also at Courchesne et al. 2000 as they used T2w data)
Hasan KM, Halphen C, Sankar A, Eluvathingal TJ, Kramer L, Stuebing KK, Ewing-Cobbs L, Fletcher JM. Diffusion tensor imaging-based tissue segmentation: validation and application to the developing child and adolescent brain.
Neuroimage. 2007;34(4):1497-505. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1995007/pdf/nihms18436.pdf
Khader M Hasan, PhD
Associate Professor of Radiology
MSE 168, Tel 713 500 7690 (FAX 713 500 7684)
University of Texas Health Science Center at Houston
Medical School
Diagnostic and Interventional Imaging
Magnetic Resonance Imaging Research Division
Diffusion Tensor Imaging Lab, Tel 713 500 7683
http://www.uth.tmc.edu/radiology/faculty/khader-m-hasan/index.html
________________________________________
From: SPM (Statistical Parametric Mapping) [[log in to unmask]] on behalf of Josselin Houenou [[log in to unmask]]
Sent: Thursday, November 13, 2014 8:11 AM
To: [log in to unmask]
Subject: [SPM] ICV computation: strange results
Hi everyone,
I want to compute intracranial volumes (ICV) on T1 images.
I use the "New segment" procedure and then apply the following script that I found on this forum:
V = spm_vol(spm_select(Inf,'Image'));
Vols = zeros(numel(V),1);
for j=1:numel(V),
tot = 0;
for i=1:V(1).dim(3),
img = spm_slice_vol(V(j),spm_matrix(...
[0 0 i]),V(j).dim(1:2),0);
img = img(isfinite(img)); % <-- exclude non-finite values
tot = tot + sum(img(:));
end;
voxvol = abs(det(V(j).mat))/100^3; % volume of a voxel, in litres
Vols(j) = tot*voxvol;
end
I do not understand why but I sometimes have slightly different results if I put only one image there (e.g. one c1 image), or the images of 6 subjects at one
As an example, for the c1 volumes, I get these volumes for 6 subjects (only c1 images) if I put them all together:
0,748791232277067
0,566458297542124
0,694005878830069
0,804684337578292
0,497836206898500
0,813398758282534
But if I put only the 5th one alone, I get this volume
0,541700962208066
Any idea why ?
Thanks a lot,
Josselin Houenou
|