On Tue, 2008-11-18 at 14:29 +0000, William Copen, MD wrote:
> Thank you Matt and David for your replies. It sounds like I can expect much better
> results from fnirt than from flirt in this case. And David, thank you for your detailed
> instructions on how best to accomplish this. It would not have occurred to me to register
> my FSE volume to an EPI volume and then invert the transformation, but that makes a lot
> of sense.
>
> May I ask a few more questions about how to carry out the steps that David suggested?
> This process will be more complex than what I've done with FSL in the past.
>
> First of all, my EPI images are not actually diffusion-weighted images. As it turns out,
> they're non-diffusion-weighted gradient echo EPI images. They have slightly different
> TE's, but they are all T2-weighted, so they all basically look like the b0 images form a
> DTI data set. And they all have basically the same contrast characteristics as the FSE
> image. I have successfully used mcflirt to register them all to each other, so I'll plan to
> do that again.
>
> I will then use flirt to register my warped EPI images to the FSE image, and I'll include
> the -omat option, to produce <b0_FSE.mat>. I assume that I'll need to scalp the FSE
> image before this step. How many degrees of freedom should I use for flirt? Should I
> use more than 6, and allow flirt to do some scaling and shearing? Or should I use only 6,
> allow only a rigid transformation for now, and do any deformations later with fnirt?
It depends on eddy currents.
If your images are affected by Eddy currents artefacts (it depends on
the acquisition protocol) you can use shear. If not or if 9 DoF leads to
mis-registration you have to reduce it to 6 DoF.
>
> Next step: how do I invert <b0_FSE.mat> to produce <FSE_b0.mat>? I haven't found a
> matrix inversion tool in the FSL software library.
http://www.fmrib.ox.ac.uk/fsl/flirt/examples.html
>
> Once I have <FSE_b0.mat>, I will fnirt the FSE image to the reference b0 image. I
> believe I have seen in the documentation that fnirt prefers to work with unscalped input
> images. I will use the --cout argument to produce a warp field file, let's call it
> warps_FSE_to_b0. Is there anything I can do to constrain fnirt, recognizing that the
> deformation in my images is mostly just mild stretching in the anteroposterior direction?
>
> The I need to invert the warp. I haven't used invwarp before, but it looks like I can call
>
> invwarp --ref=b0.nii --warp=warps_FSE_to_b0 --out=b0unwarped.nii
>
It produces a warp. You have to apply it to the images.
> And that will produce my final, unwarped b0 image. David, you mentioned changing the
> Jacobian constraint for invwarp.
For both fnirt and invwarp.
> Was that to produce a better fit?
It produces a better fit if the jacobian of the distortion filed is
outside the standard boudaries of fnirt.
Time should not be critical. Just write a script and have it running
over the weekend.
Best.
Davide.
> Or to make invwarp
> run more quickly? Or both? Again, the warping my b0 images is mostly just minor
> stretching in the anteroposterior dimension, and anything I can do to make this process
> faster will be a big help.
>
> Thanks again for the help. This expert advice will save me a very large amount of trial-
> and-error time.
|