Here is an old posting that may help...
-----------------------------------------------------------------------
>
> In the user guide it states that the DARTEL results are not in MNI space
> and they need to be transformed to MNI space using a linear affine
> transformation. And then create a composite transform from the flow field
> and the _sn.mat file. However, when I do this and apply them to the rc*
> images, I get severly warpped brains that are nowhere close to MNI space.
> Interestingly, when I use the c* images that have the tissue classes in
> native space, everything works.
>
> (1) Am I doing something wrong or when I apply the composite transformation
> does it need to be applied to the native space images?
I think I got the documentation correct, although I am reluctant to run
through all the processing steps again to check that there are no typos.
> (2) y* files are created when you create the composite transformation, can
> I use these images to calculate the jacobian determinant? If yes, can I use
> i1.*i2 in IMCALC to create a modulated image?
I'm guessing that you are doing a VBM study. The original intention was to
superimpose the blobs on to the template that DARTEL generates, but I guess
you want to report your results as coordinates in MNI space.
> (3) In using a composite transformation and applying the the jacobian in
> MNI space, only one transformation is necessary, rather than 2 if the
> jacobains are applied in DARTEL space and then normalized to MNI space.
> This seems preferable as there is less resampling of the data this way; or
> am I missing a critical step in the process?
For VBM, it may be easier to tweek the headers of the DARTEL warped images, so
that the affine transform in the headers is modified...
% Select files
PN = spm_select(1,'.*_sn.mat','Select sn.mat file');
PI = spm_select(inf,'nifti','Select images');
% Determine affine transform from header
sn = load(deblank(PN));
M = sn.VG(1).mat/(sn.VF(1).mat*sn.Affine);
% Scaling by inverse of Jacobian determinant, so that
% total tissue volumes are preserved.
scale = 1/abs(det(M(1:3,1:3)));
% Pre-multiply existing headers by affine transform
for i=1:size(PI,1),
% Read header
Ni = nifti(deblank(PI(i,:)));
% Pre-multiply existing header by affine transform
Ni.mat = M*Ni.mat;
Ni.mat_intent='MNI152';
% Change the scalefactor. This is like doing a "modulation"
Ni.dat.scl_slope = Ni.dat.scl_slope*scale;
% Write the header
create(Ni);
end
Note that the original affine voxel-to-world mappings are still saved in the
header (Ni.mat0).
Best regards,
-John
-----------------------------------------------------------------------
On Monday 02 June 2008 06:27, Harsha Halahalli wrote:
> Dear SPMers
>
> I am attempting to use the DARTEL toolbox for a VBM type analysis. I have
> been able to follow the guidelines in the excellent manual (that John
> Ashburner has kindly made available here)to obtain flow fields and warped
> tissue class images in the "averaged" space.
> I am now trying to spatially normalize the tissue images to the MNI space.
> I understand that the approach involves estimating the parameters for
> affine normalization of the dartel tissue template with the MNI tissue
> probability map and combining this with the dartel generated flow fields to
> obtain composite deformations. I have a few questions about these steps:
> 1. Which are the images to which we are to apply the composite
> deformations. I have applied them to the rc*.nii images. Is this correct?
> 2. The resulting MNI normalized images do not appear to be "modulated". How
> would I go about obtaining "modulated" images in the MNI space?
>
> Any assistance would be greatly appreciated.
>
> Harsha
>
> -------------------------------
> Harsha Halahalli
> Research Associate
> MBIAL, Department of Psychitary
> National institute of Mental Health and Neuro Sciences (NIMHANS)
> Bamgalore - 560029, INDIA
|