Hi there, I wonder if you wouldn’t mind offering a sanity check on my pipeline. I see a lot of different approaches out there related to registration of DWI and T1, some warping DWI, some not. It looks like the BATMAN tutorial warps T1 to DWI (OSF) – I don’t know what is better, it seems to me there are drawbacks to both.
I am using DWI and Freesurfer data from the Human Connectome Project.
Objective: I want to derive tracts from a subject’s DWI data and then register those tracts to Freesurfer’s T1 image produced from recon-all.
My goal is to extract individual masks from Freesurfer’s wmparc file to for ROI-ROI analysis.
So, for example, using two region masks, what is the FA, ADC, and length for tracts starting/ending in any two ROIs.
I appreciate warping DWI to T1 isn’t great because it is potentially lossy, probably other reasons too.
The pipeline below I think tries to do as much as possible in native space and warp as little and as late as possible:
Does this make sense?
- Extract the brain for dwi and T1 data using masks
- Create a mean b0 image from brain-extracted dwi (dwiextract)
- Register mean b0 to T1, creating a transformation matrix (antsRegistration)
- Create a deformation field for DWI to T1 (warpinit → WarpImageMultiTransform → warpcorrect )
- On native DWI, estimate response function(s) for spherical deconvolution (dwi2reponse)
- On native DWI, estimate fibre orientation distributions using spherical deconvolution (dwi2fod)
- Generate a tract file from output of previous step (tckgen)
- Apply warpfield from #4 to tract file (tcktransform). At this point I have a tract file registered to T1.
- On native DWI, produce tensor (dwi2tensor)
- Generate maps of tensor data (FA, ADC) (tensor2metric)
- Apply warp field from #4 to FA, ADC maps so they are registered with T1 (mrtransform)
- Filter warped tracts connecting ROIs (tckedit)
- Calculate stats of warped filtered tract using warped FA,ADC maps (tcksample)
Forgive me if I made glaring mistakes - I’m a first-time user.
Thanks
-dave.