There was a bit of hidden extra stuff involved in encoding a second
voxel-to-world matrix in the DARTEL imported rc* files, which are also
included in the u_* files. These encode the relative positions and
orientations of the imported data with respect to the original scans.
All the DARTEL code makes use of these second matrices (but note that
the y_* files don't actually work with the Deformations Utility for
generating spatially normalised rc* images - only the originals).
Best regards,
-John
On Fri, 2009-06-05 at 12:46 +0100, [log in to unmask] wrote:
> 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.
>
>
--
John Ashburner <[log in to unmask]>
|