Hi Doug,
My understanding of the theory is that the registration in
step 7 should account for the shift as well as any rotations,
etc. The tricky thing is that there are two reference frames to
consider: the undistorted-fieldmap-frame (UFF) and the
distorted-fieldmap-frame (DFF). Now since the EPI is acquired
in some other frame, it is necessary to register it to the
fieldmap frame. Since the actual fieldmap acquisition is in
the UFF, this isn't suitable for registering the EPI, as it
is distorted. Hence the forward warp creates a distorted
fieldmap image in the DFF. If there is a mean offset in the
fieldmap then the DFF and UFF will be offset by a global
translation, as well as the local distortions. However, if
the EPI is registered correctly to the DFF, then the process
of unwarping it, which creates a blank image in the UFF and
does (reverse) coordinate look-ups in the DFF to move the
EPI intensities back to the UFF, should correctly account for
the global shift.
Now, that's the theory. In practice there may be implementation
issues with the forward warp so that it isn't a true inverse
of the required undistorting transformation. So if you are
finding problems in practice then it may be because of this,
although I thought that this should work OK still. You can test
this by trying to unwarp your distorted fieldmap image and
see if it returns to the correct location, undoing any global
shift. I think it should, although I'm not sure I've actually
tested this case.
To be even more pragmatic - as no-one cares about the global
shift - then it is perfectly safe to demean the fieldmap as
soon as it is reconstructed (after step 4) and always use
the demeaned fieldmap/shiftmap. By doing this you probably
get more intuitive behaviour, so by all means go ahead with
this plan if you like. The easiest way to demean would be
to use avwstats to calculate the mean (over non-zero voxels)
and then subtract this from the image using avwmaths (remembering
to re-mask the result).
Hope this makes sense, and let me know if there does seem
to be an implementation problem in getting the same image
back from forward-backward warping.
All the best,
Mark
On 19 Nov 2004, at 19:01, Doug Greve wrote:
> Hi Y'all,
>
> I've come across an extra step that I need when using the B0 unwarping.
> Here's what I do now:
>
> 1. Create a brain mask from the mag volume (BET)
> 2. Create a head mask by dilating the brain mask (AVWMATHS)
> 3. Rescale the phase image to -pi to pi (AVWMATHS)
> 4. Unwrap the phase (PRELUDE)
> 5. Create the voxel shift map (VSM) (FUGUE)
> 6. Forward warp the mag volume (FUGUE)
> 7. Register the forward warped mag with the example func (FLIRT)
> 8. Resample the VSM into EPI space (FLIRT)
> 9. Dewarp the EPI (FUGUE).
>
> The problem is that the VSM has a non-zero global mean (about 2.5
> voxels
> in one case) due to the fact that we acquired the field map at the end
> of the session, which was about 1.5 hours after the shim was done. The
> net shift comes from the fact that the B0 shifts due to heating of the
> shim magnets.
>
> The problem is that the mag is shifted as part of the forward warp and
> so this shift is not accounted for in the registrtation (step 7), which
> means that the VSM does not get mapped to the right place (step 8).
>
> I have a fix for this which is simply:
>
> 5.5 Remove the global within-brain mean in the VSM
>
> Would you agree that this needs to be done?
>
> Is there something in fugue which will do this? Or is there some series
> of avwmaths commands which would work?
>
> thanks
>
> doug
>
>
>
> --
> Douglas N. Greve, Ph.D.
> MGH-NMR Center
> [log in to unmask]
> Phone Number: 617-724-2358
> Fax: 617-726-7422
|