> Just to verify that I understand, here is the plan:
> 1) Segment Time1 and Time2 in native space.
> 2) Coregister Time2 segments to Time1 segments (estimate only).
> 3) Apply the sn.mat from Time1 -> MNI to Time1 images and "preserve amount"
> to modulate. 4) Apply the .mat from the Time1->Time2 coreg and the
> Time1->MNI sn.mat to Time2 images (also selecting "preserve amount"). 5)
> Mask the images to get rid of values < .1
> 6) Smooth
> 7) Subtract the MNI-space Time2 segments minus MNI-space Time1 segments.
>
> Is this right? Is there a simple way to combine .mat files for step 4 so
> the images will not have to be resampled twice?
The rigid body transform as well as the nonlinear deformation would be
combined when you do a "write normalised".
Also, when I segment Time1
> in native space, then use Normalize to apply the sn.mat and "preserve
> amount", should I be concerned that I get a different result than when
> Segment directly produces modulated, normalized segments?
Not too concerned, providing you do a similar thing for both datasets. The
reason is that when Segment produces warped tissue class images, it smooths
the data slightly first. The reason for this is that the warped images are
lower resolution than the original ones. See the following for more info:
http://en.wikipedia.org/wiki/Decimation_%28signal_processing%29
> When I subtract
> these images I was hoping to get all 0, but have values ranging from about
> -.2 to .2.
A slight smoothing of the original segmented images would give more similar
results. See around line 148 of spm_preproc_write.m:
%
% Average voxel size of tissue probability maps (ie images that are
% written).
ovx = abs(det(p.VG(1).mat(1:3,1:3)))^(1/3);
%
% FWHM of required smoothness (in voxels). Don't ask me why it is
% calculated like this. It just seemed like a good idea at the time.
fwhm = max(ovx./sqrt(sum(p.VF.mat(1:3,1:3).^2))-1,0.1);
%
% Do the smoothing using the function at around line 193. Notice that
% it uses spm_smoothkern to generate the kernel. This assumes that
% images are continuous over space - rather than just a bunch
% of stick functions arranged on a regular grid.
dat{k1} = decimate(dat{k1},fwhm);
Best regards,
-John
|