Dear Prof Ashburner,
A while ago we had an email exchange (below) about how to extract the
position of a point in a DARTEL-registered scan given its initial
position in a T1 native scan.
After recently revising the method, I would like to clear one question
that occurred to me: do the y_*.nii deformation fields only contain
DARTEL related deformations? If such is the case, as DARTEL works "on
top" of the unified segmentation, in order to extract the final
locations in DARTEL space (from T1 scan positions) won't it be
necessary to include the composition with the previous registration
field from the unified segmentation?
I'm probably just missing something in the proposed method, but it
would be great if you could clarify this.
Thank you very much!
Best,
Joao Pereira
--------- Previous thread ------------------------------
I forgot about this. The procedure needs another step, which can be achieved
in one of two ways:
5.1. Using Deformations -> Composition
5.1.1 Inverse -> Composition -> Imported _sn.mat -> chose template 6 and
base inverse on native space scan of each subject
5.1.2 DARTEL flow -> u_rc1* files for each subject + *"Forward"*
5.1.2 Identity, with the image to base it on being the
original scan.
This is similar to the steps described in Section 1.4 of the DARTEL guide,
except that the mapping from Template_6 to MNI space is from the inverse of
the transform contained in the _sn.mat, rather than a DARTEL deformation.
The other way would be to use the matrix information in the headers, but I
won't elaborate on this.
Best regards,
-John
On Wednesday 08 October 2008 19:42, Joao Pereira wrote:
> Dear Prof Ashburner,
>
> Thank you very much for your reply. Just one more thing:
>
> When I try to apply these steps in the reverse order you suggested, the
> output y* file has 91x109x91 dimensions, whereas I need the original
> dimensions for it to be usable. Should then 5.1.2 be:
>
> Inverse -> Composition -> DARTEL flow -> u_rc1* files + (and now I get lost
> given I already have an inverse) Backwards/Forward? + native space image to
> use as basis for inverse
>
> Please let me know if this is correct.
>
> Thank you once again!
>
> Joao
>
> -----Original Message-----
> From: John Ashburner [mailto:[log in to unmask]]
> Sent: 08 October 2008 16:07
> To: Joao Pereira; [log in to unmask]
> Subject: Re: [SPM] DARTEL - voxel normalisation
>
>
> Section 1.2.2 of the DARTEL guide describes how to generate a mapping from
> MNI
> space to Template_6.nii to individual subject. What you are after is the
> inverse of this, which is a mapping from individual subject to
> Template_6.nii
> to MNI space. You therefore need to swap some of the operations around:
>
> 5.1. Using Deformations -> Composition
> 5.1.1 Inverse -> Composition -> Imported _sn.mat -> chose template 6 and
> base inverse on native space scan of each subject
> 5.1.2 DARTEL flow -> u_rc1* files for each subject + *"Forward"*
>
> The rest seems fine. This stuff can be a bit tricky to get your head
> around -
> but it gets easier with practice.
>
> Best regards,
> -John
>
> On Wednesday 08 October 2008 14:33, Joao Pereira wrote:
> > Hello,
> >
> > I've been trying to extract the normalised positions (after DARTEL) of
> > points placed in native space.
> >
> > I've come up with a methodology for this purpose (for each cohort) which
> > I would like you to comment on if possible:
> >
> > 1. Normalise all scans and extract mwc* files, as well as the *seg_sn.mat
> > file for each scan
> > 2. DARTEL Tools -> Initial import, using all seg_sn files and setting
>
> voxel
>
> > size at NaN
> > 3. Create Template using rc1* and rc2* files
> > 4. Affine transform the DARTEL template (#6) to MNI and extract the
>
> *sn.mat
>
> > file (I need my coordinates in MNI)
> > -- (New bit starts here) --
> > 5. Estimate the deformation field from initial (native) scan to DARTEL
> > output by:
> > 5.1. Using Deformations -> Composition
> > 5.1.1 DARTEL flow -> u_rc1* files for each subject + *"Forward"*
> > 5.1.2 Inverse -> Composition -> Imported _sn.mat -> chose template 6
> > and base inverse on native space scan of each subject
> > 6. Use y_* output to locate normalised position of native point (x,y,z)
> > by using f = nifti(y_*); norm_pos = squeeze(f.dat(x,y,z,:,:));
> >
> > Please let me know if this is sensible. Thank you all very much for your
> > help!
> >
> > Best,
> >
> > Joao Pereira
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
|