> our group comparison (f-test) resulted in three cluster of difference. the
> post-hoc t-test showed that group 1 showed less volume (t contrast -1 1).
> is this assumption right?
I don't know for certain. The difference is significant, but it could be
attributed to many possible causes. Hopefully, the most probable is that it
is a real volumetric difference - but systematic mis-registration or
mis-segmentation could also be perfectly plausible explanations.
>
> did i understand john correctly that the unit of modulated images (the
> value for each voxel) is a sort of percentage (between 0 and 1) of how much
> the original voxel had to be warped? like 0.5 means the voxels has to be
> warped 2 times to be normalized?
The values in the original segmented images (no warping or scaling) are
between 0 and 1, so that they (loosly) represent the probability that a voxel
belongs to a particular tissue class. After warping, the values may exceed
one.For example, if a brain needs to be uniformly shrunk in volume by a
factor of 2 during spatial normalisation, then the values in the warped and
Jacobian scaled images could be as high as 2.
>
> i more or less understand the comments about the difficulties in extracting
> the volumes from modulated vbm images.
This should be relatively easy stuff to script.
> but i can't transfer this (lack of
> brain power) into my data. is there any script for people like me, which
> explains the procedure how to extract mean volumes of our clusters for each
> group separately, to visualize the actual difference in volume?
If you have a region defined as an image of ones and zeros, then all you need
is to multiply (voxel by voxel) this image with one of your pre-processed
images, add the values up and scale by the volume of a voxel. If you use
ImCalc, then you can multiply one image by another, and the following piece
of code (which can be copied and pasted into MATLAB) can be used for adding
up the values.
% Select an image
V = spm_vol(spm_select(1,'image'));
% Set the initial volume to zero
tot = 0;
for i=1:V(1).dim(3), % Loop over the slices ("i" goes from 1 to num slices)
% Read slice number "i"
img = spm_slice_vol(V,spm_matrix([0 0 i]),V(1).dim(1:2),0);
% Set NaNs to zero
img(~isfinite(img)) = 0;
% Sum up the values
tot = tot + sum(img(:));
end;
% Compute the volume of a voxel, in litres
voxvol = abs(det(V(1).mat))/100^3;
% Compute the volume of tissue
tot*voxvol
Best regards,
-John
|