You really shouldn't move the DTI data out of native space and then do
calculations like DTIFIT or BEDPOSTX on it. Better to create the
transformation matrices between your diffusion space and structural space
using the FA image (from DTIFIT) and your mprage using the FLIRT -omat
option. The FA image has more similar contrast to the mprage than the b0,
so it sometimes provides a better registration. You can also invert a
matrix using convert_xfm -inverse option. Then if you want to specify your
seeds in mprage space and have your results displayed there for
tractography, you need only to specify the transformation matrix between
structural and diffusion space in your probtrackx commandline using the
--xfm option.
Similarly, you could generate your tissue partial volume map (or tissue
probability map) using FAST in structural space, and then downsample &
transform that map to diffusion space and threshold it at >35% gray matter
as your mask of the cortical regions. Or you could keep things in
structural space, draw your ROIs there, and use the method above to
incorporate the transform into probtrackx.
If, for some reason, you do have to move your DTI data into another space
before calculating DTIFIT or BEDPOSTx, you will have to rotate the gradient
table according to any rotations applied when moving from native DTI space
to other space.
Peace,
Matt.
-----Original Message-----
From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf
Of Xin Li
Sent: Wednesday, October 29, 2008 1:03 PM
To: [log in to unmask]
Subject: Re: [FSL] Bad header info of DTI sequence after registered to
mprage
Hi Mark,
Thank you for your explaination. We have averaged across multiple
acqusitions and done eddy_correct for the diffusion series. I guess we don't
have to do registration at this stage. We can go ahead to run dtifit and
bedpostx as suggested in the pipeline. But then it'll come back to
registration (step 5 in FSL pipleline) after bedpostx. If I understand
correctly, "do a separate registration to the structural volume" still
requires downsampling the mprage structural volume, right?
Actually, we are trying to follow the method mentioned in Croxson et al's
paper. We came to this point,
"We thresholded the results to include only voxels
estimated at >35% gray matter and used this to mask the cortical regions.
We skull stripped the diffusion-weighted and T1-weighted images
(Smith, 2002) and performed affine coregistration (Jenkinson and
Smith, 2001)" ( Croxson et al J. Neurosci., September 28, 2005 .
25(39):8854-8866 (full text attached below) )
That is why I am trying to register the diffusion series to the mprage
volume. Does it make sense to do registration before bedpostx?
Again, thank you for your input.
Rick
Method:
"We corrected the human diffusion data for eddy currents and head
motion using affine registration to a reference volume (Jenkinson and
Smith, 2001). The data from the three acquisitions were subsequently
averaged to improve the signal-to-noise ratio.
We performed tissue-type segmentation, skull stripping, and registration
on the scans, using tools from the Oxford Centre for Functional
Magnetic Resonance Imaging of the Brain's (FMRIB) Software Library
(www.fmrib.ox.ac.uk/fsl). We performed probabilistic tissue-type
segmentation
and partial volume estimation on the T1-weighted image
(Zhang et al., 2001). We thresholded the results to include only voxels
estimated at >35% gray matter and used this to mask the cortical regions.
We skull stripped the diffusion-weighted and T1-weighted images
(Smith, 2002) and performed affine coregistration (Jenkinson and
Smith, 2001) between the first nondiffusion-weighted volume and the
T1-weighted image to derive the transformation matrix between the two
spaces. We then calculated probability distributions of fiber direction at
each voxel using previously described methods (Behrens et al., 2003a)."
(Croxson et al.)
----- Original Message -----
From: Mark Jenkinson <[log in to unmask]>
Date: Wednesday, October 29, 2008 1:18 pm
Subject: Re: [FSL] Bad header info of DTI sequence after registered to
mprage
To: [log in to unmask]
> Hi Rick,
>
> The reference image controls the final output dimensions and voxel
> size.The -noresample flag just controls whether the input image is
> internallyresampled to regular 8mm, 4mm, 2mm and 1mm grids, or
> forced to stay
> at its native resolution. However, the final creation of the
> output
> image
> will still use whatever is specified by the reference volume.
>
> Now one question is do you need your diffusion images aligned with
> yourmprage at this point? We normally just correct for motion
> effects
> within
> the diffusion series using eddy_correct (which aligns them to one
> of the
> unweighted images in your series) and then do a separate registration
> to the structural volume later, with the option of displaying your
>
> diffusion
> analyses in either native diffusion space or structural space.
> Have a
> look
> at the FDT documentation to see what the standard arrangements are.
>
> If you are not happy with the standard pipeline and do need to align
> your diffusion images directly to your mprage, then you need to
> initially
> make a downsampled version of your mprage, and then use this as the
> reference volume in all the -applyxfm calls for flirt. You can do the
> downsampling with the ApplyXFM tool.
>
> I hope this answers your questions.
> All the best,
> Mark
>
>
> On 29 Oct 2008, at 17:06, Xin Li wrote:
>
> > Hi Mark,
> >
> > I tried the "-noresample" option to stop FLIRT from upsampling
> the
> > input, yet Flirt still outputs the upsampled 160x512x512x1 vol.
> > Should I try something else?
> >
> > Command:
> > flirt -noresample -in DTIVol0000.nii.gz -ref mprage.nii.gz -
> applyxfm
> > -init NodiffusionRegToMprageMat -out DTIRegToMprageVol0000
> >
> > DTIVol0000 is 128x128x66x1, mprage is 160x512x512x1 and
> > DTIRegToMprageVol0000 is 160x512x512x1 instead of 128x128x66x1.
> >
> > Thanks,
> > Rick
> > ----- Original Message -----
> > From: Mark Jenkinson <[log in to unmask]>
> > Date: Tuesday, October 28, 2008 4:26 pm
> > Subject: Re: [FSL] Bad header info of DTI sequence after
> registered
> > to mprage
> > To: [log in to unmask]
> >
> >> Hi,
> >>
> >> It sounds like the fslmerge command did not run successfully as
> >> it probably ran out of memory. Is there any reason that you want
> >> you 4D diffusion images upsampled to 0.5x0.5x1mm? We normally
> >> recommend doing all diffusion analysis in the native diffusion
> space.>>
> >> The upsampled data, being 512x512x160x65 would take up 5GB
> >> of memory, plus extra if any temporary copies or partial copies are
> >> needed inside the code, which is probably why it currently fails.
> >>
> >> All the best,
> >> Mark
> >>
> >>
> >>
> >>
> >> On 28 Oct 2008, at 20:17, Xin Li wrote:
> >>
> >>> Dear FSL Users,
> >>>
> >>> I am trying to register the DTI sequence (FLIRT) to a mprage vol
> >> so
> >>> that we can utilize the mask created from the mprage.
> >>>
> >>> Here is what I did:
> >>>
> >>> 1. extract the 3D no-diffusion vol from the DTI sequence(4D).
> >> (Both
> >>> are already skull stripped)
> >>>
> >>> 2. register the no-diffusion vol to the mprage and save the
> >>> transformation matrix:
> >>>
> >>> flirt -in nodiffusion.nii.gz -ref mprage.nii.gz -out
> >>> NodiffusionRegToMprage.nii.gz -omat NodiffusionRegToMprageMat
> >>>
> >>> 3. Align all DTI volumes to the mprage volume using the saved
> >> matrix:>
> >>> flirt -in DTIVol0000.nii.gz -ref mprage.nii.gz -applyxfm -init
> >>> NodiffusionRegToMprageMat -out
> >>> DTIRegToMprageVol0000
> >>>
> >>> 4. Then create a new 4D DTI sequence from the registered volumes
> >>> fslmerge -a DTIRegToMprage DTIRegToMprageVol*
> >>>
> >>> All steps completed successfully except that the new 4D DTI
> >> sequence
> >>> (DTIRegToMprage) has "bad header info". Could anyone tell me
> >> what
> >>> causes this?
> >>>
> >>> Many Thanks,
> >>>
> >>> Rick
> >>>
> >>> All header info are attached below FYI:
> >>> 1.Old DTI sequence (4D)
> >>> data_type INT16
> >>> dim1 128
> >>> dim2 128
> >>> dim3 66
> >>> dim4 65
> >>> datatype 4
> >>> pixdim1 2.0000000000
> >>> pixdim2 2.0000000000
> >>> pixdim3 2.0000000000
> >>> pixdim4 1.0000000000
> >>> cal_max 3915.0000
> >>> cal_min 0.0000
> >>> file_type NIFTI-1+
> >>>
> >>> 2. no-diffusion vol(3D)
> >>> data_type INT16
> >>> dim1 128
> >>> dim2 128
> >>> dim3 66
> >>> dim4 1
> >>> datatype 4
> >>> pixdim1 2.0000000000
> >>> pixdim2 2.0000000000
> >>> pixdim3 2.0000000000
> >>> pixdim4 1.0000000000
> >>> cal_max 3915.0000
> >>> cal_min 0.0000
> >>> file_type NIFTI-1+
> >>>
> >>> 3.Mprage
> >>> data_type FLOAT32
> >>> dim1 160
> >>> dim2 512
> >>> dim3 512
> >>> dim4 1
> >>> datatype 16
> >>> pixdim1 1.0000000000
> >>> pixdim2 0.5000000000
> >>> pixdim3 0.5000000000
> >>> pixdim4 1.0000000000
> >>> cal_max 0.0000
> >>> cal_min 0.0000
> >>> file_type NIFTI-1+
> >>>
> >>> 4.Register no-diffusion vol
> >>> data_type INT16
> >>> dim1 160
> >>> dim2 512
> >>> dim3 512
> >>> dim4 1
> >>> datatype 4
> >>> pixdim1 1.0000000000
> >>> pixdim2 0.5000000000
> >>> pixdim3 0.5000000000
> >>> pixdim4 1.0000000000
> >>> cal_max 3915.0000
> >>> cal_min 0.0000
> >>> file_type NIFTI-1+
> >>>
> >>> 5.Registered diffusion vols
> >>> data_type INT16
> >>> dim1 160
> >>> dim2 512
> >>> dim3 512
> >>> dim4 1
> >>> datatype 4
> >>> pixdim1 1.0000000000
> >>> pixdim2 0.5000000000
> >>> pixdim3 0.5000000000
> >>> pixdim4 1.0000000000
> >>> cal_max 3915.0000
> >>> cal_min 0.0000
> >>> file_type NIFTI-1+
> >>>
> >>
> >
>
|