> Thank you John for the very important information about the u* files
> applying to the original images and not the imported images. I see now
> that Create Warped works with both and the script includes a test for which
> way to do it.
>
> Do u* files include the bias correction information from the initial
> Segment?
The bias correction parameters are saved in the seg_sn.mat file.
>
> I was wondering if there is a way to use DARTEL that gets around the
> problem that Gaser's method was meant to avoid (the problem that if you
> independently normalize two time-points then differences in segments could
> be attributable to differences in normalization). Our plan was to warp
> segments from each time-point to subject template to group template to MNI
> space. The warp that moves one subject to MNI space is the same for both
> time-points with this plan. However, even though they begin in native
> space, the segments were produced with the initial unified
> segment/normalize, during which the normalization to a priori templates
> would be independent and different for each time-point.
There is not yet any easy way to deal with this, although I'm not sure how
great the problem is in practice. It may need some empirical exploration.
Perhaps the deformations are almost identical.
>
> Another idea is to warp each time-point's original whole brain to the
> subject-specific template using the within-subject u*. Average these two
> images (they should be nearly identical and in the same space "half-way
> between time1 and time2"), and segment this average image. Then warp these
> segments to MNI space. Use the same segments for both time-points, but
> modulate one set of segments with Jacobians from ["time1 to subject
> template" o "subject template to MNI"] and modulate the other set with
> Jacobians from ["time2 to subject template" o "subject template to MNI"].
> This might be better than the former plan ... however, the DARTEL warps
> calculated for "time1 to subject template", for example, were still based
> on the segments produced by the initial unified segment/normalize. The
> intensities and location of gray and white might be influenced by the
> inherent normalization and in turn affect decisions about warping.
The idea looks like a good one, but again, I'm not sure how large the effect
of different registrations with the tissue probability maps would be.
>
> How concerned should I be about this problem? Can anyone see a way around
> it while still using DARTEL?
There isn't a workaround yet, but dealing more elegantly with serial scans is
another thing on my list.
Best regards,
-John
> -----Original Message-----
> From: John Ashburner [mailto:[log in to unmask]]
> Sent: Thursday, December 18, 2008 7:49 AM
> To: Dana Perantie; [log in to unmask]
> Subject: Re: [SPM] forward/backward flow, warp, map
>
> > Thank you, John. I understand all but your last sentence. The u* can be
> > applied to the DARTEL-imported images (Create Warped is applied to
> > rc1*.nii), but the transform that was made by combining u* flow fields
> > cannot be applied to the imported images? I would have guessed the other
> > way around - that they could not be applied to the original-native-space
> > images. Are the u* files flow fields between the imported images and the
> > resulting template, or original-native-space and the resulting template?
>
> The deformation fields are generated so that there is a mapping to the
> images prior to their being imported, rather than to the imported images.
> I figured that this would be generally more useful. It is possible to
> achieve because the imported images (and u_*.nii files) contain two
> different matrices in their headers. One of them (the one used by Display
> and Check Reg) shows the imported images in alignment with each other. The
> other one (not used by Display and Check Reg) contains a mapping that
> relates the imported to the original image.
>
> > We made a script (attached) to convert the y* deformation field to
> > Jacobian determinant image that can be used to multiply/modulate. This
> > was based on snippets of HDW scripts as suggested in previous posts. Our
> > next step is to make a script to do it in a batch: calculate the
> > compositions y*, translate to Jacobians and modulate (for a list of
> > subjects at multiple timepoints).
>
> That's a good approach.
>
> Best regards,
> -John
>
> > -----Original Message-----
> > From: John Ashburner [mailto:[log in to unmask]]
> > Sent: Wednesday, December 17, 2008 1:02 PM
> > To: Dana Perantie; [log in to unmask]
> > Subject: Re: [SPM] forward/backward flow, warp, map
> >
> > I usually get confused myself when dealing with compositions of warps,
> > and have to refer to the example in Section 1.4 of the Dartel Guide. I
> > find this sort of thing is much easier to figure out with by equations
> > than with words.
> >
> > When creating a warped an image, the usual approach is to scan through
> > the image to be created. For each voxel (of the new image, which is to
> > be created), the resampling needs to figure out where in the original
> > image to read the value from. In other words, it needs a mapping from
> > coordinates in the new image, to coordinates in the original.
> >
> > >If I
> > > Normalise: Estimate with Image1 as the source and Image2 as the
> > > template, then the resulting *sn.mat transforms from Image1 (source) to
> > > Image2 (template), and this is called the "map" or "mapping" from
> > > Image2 (template) to Image1 (source)?
> >
> > Yes. The algorithm needs to know where in image 1 to read the values
> > from.
> >
> > > Also, a forward DARTEL flow u_* transforms
> > > from template to individual, and this is a "mapping" from individual to
> > > template?
> >
> > The DARTEL u_* can be used to transform either way. In the Deformations
> > utility, I used "backward" to mean something that will warp an individual
> > scan to the template.
> >
> > > And if this is correct, does "Create Warped" apply the backward
> > > transform?
> >
> > Yes.
> >
> > > Based on the example in the manual, I believe the way I am supposed to
> > > enter the warps/maps to get a deformation from Time1 to MNI space is:
> > >
> > > 1) Flow field from within-subject DARTEL (warp of Time1 to
> > > individual template, a.k.a. mapping of individual template to Time1) -
> > > backward
> > >
> > > 2) Flow field from between-subject DARTEL (warp of individual
> > > template to group template, a.k.a. mapping of group template to
> > > individual template) - backward
> > >
> > > 3) *sn.mat from Normalise:Estimate of group template to MNI
> > > template (mapping from MNI space to group template)
> > >
> > > Would someone please let me know if this is correct?
> >
> > That looks entirely correct.
> >
> > Note that the transform does not work with "imported" images (clue: try a
> > Check Reg with an imported image and an original), but it should work on
> > the originals and any images in alignment with them (according to Check
> > Reg).
> >
> > All the best,
> > -John
> >
> > On Monday 15 December 2008 21:15, Dana Perantie wrote:
> > > Dear SPM and DARTEL experts,
> > > I am doing longitudinal DARTEL and I am at the step of combining
> > > multiple warps (e.g., Time1 to individual template, individual template
> > > to group template, and group template to MNI). I want to make sure I
> > > am combining them in the proper order and direction. I want to clarify
> > > the term "mapping" as it used in the manual. Do I understand
> > > correctly: If I Normalise: Estimate with Image1 as the source and
> > > Image2 as the template, then the resulting *sn.mat transforms from
> > > Image1 (source) to Image2 (template), and this is called the "map" or
> > > "mapping" from Image2 (template) to Image1 (source)? Also, a forward
> > > DARTEL flow u_* transforms from template to individual, and this is a
> > > "mapping" from individual to template? And if this is correct, does
> > > "Create Warped" apply the backward transform?
> > >
> > > Based on the example in the manual, I believe the way I am supposed to
> > > enter the warps/maps to get a deformation from Time1 to MNI space is:
> > >
> > > 1) Flow field from within-subject DARTEL (warp of Time1 to
> > > individual template, a.k.a. mapping of individual template to Time1) -
> > > backward
> > >
> > > 2) Flow field from between-subject DARTEL (warp of individual
> > > template to group template, a.k.a. mapping of group template to
> > > individual template) - backward
> > >
> > > 3) *sn.mat from Normalise:Estimate of group template to MNI
> > > template (mapping from MNI space to group template)
> > >
> > > Would someone please let me know if this is correct?
> > > Thank you,
> > > Dana
|