Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic DTI analysis using the pipeline Kristi Clark January, 2008 Update: July, 2008.

Similar presentations


Presentation on theme: "Basic DTI analysis using the pipeline Kristi Clark January, 2008 Update: July, 2008."— Presentation transcript:

1 Basic DTI analysis using the pipeline Kristi Clark Kaclark@ucla.edu January, 2008 Update: July, 2008

2  You need to be able to convert from raw scanner format to analyze. If you have DICOM, use Dicomdir2ANA module.  You need to know the diffusion gradient vector table and the bvalues.  If you have been using UCLA’s 1.5T Sonata, you should ask Kristi (kaclark@ucla.edu), Roger (rwoods@ucla.edu), Jeff (jralger@ucla.edu) or Trent (TThixton@mednet.ucla.edu) because it’s a works-in-progress sequence so the gradient vectors are not stored in the DICOM folder, but in some obscure folder on the scanner computer.kaclark@ucla.edurwoods@ucla.edujralger@ucla.eduTThixton@mednet.ucla.edu  Standard directions are in the WIP user manual Before starting

3  The end goal is to get the imaging data into Analyze format, and to have the diffusion gradient vectors in the same orientation.  In order to reach this goal, you need to know the orientation once the data is in analyze format.  If you use Dicomdir2ANA, the output analyze image will be in RAS orientation (origin is at left-posterior-inferior corner)  In addition, you need to know which coordinate system was used to describe the diffusion gradient vectors. Some sequences specify the diffusion gradient vectors in the scanner’s physical coordinates & some in the patient’s coordinate system.  If you have been using UCLA’s 1.5T Sonata, the coordinates are in the scanner’s physical coordinates. This means that they are slice prescription dependent. The vectors can be made to correspond to the Analyze RAS convention by using correct_slice_prescription.pipe (reads slice prescription information from the DICOM header). Crazy coordinate systems

4  These first details of converting data to analyze and figuring out the coordinate systems are very important  Also very easy to get wrong  When in doubt, ask your local MR physicist  It’s a good idea to just analyze 1 subject from start to finish first because tractography results of things like the corticospinal tract and the corpus callosum will let you know for sure if you have a coordinate system error Note

5 DICOM & text file that describes diffusion gradient vectors and bvalues Convert imaging data to analyze & correct the gradient vectors Correct the images for eddy current induced distortions and motion artifacts (make corresponding adjustments to the gradient vectors) Optional: skull strip Compute the diffusion tensor at each voxel, and its associated eigenvectors and eigenvalues Compute stats for the goodness of fit of the tensor Compute scalar indices (e.g. FA, MD) Fiber tracking Data Processing Overview

6 correct_slice_prescription.pipe

7  Dicomdir2ANA: convert a directory of DICOM files to a directory of analyze images.  Optional: save out.air file that describes how to get from Analyze space to the scanner’s physical coordinates  Optional: save out an.air file that describes how to get from Analyze space to the patient’s coordinate system  CreateDiff-Easy: generate.diff file (used internally by Kristi’s tools) that summarizes gradient vectors and bvalues.  Multdiff: Can be used to normalize vectors (you should always do this). Optionally can be used to multiply any of components by a scalar (only do this if you know that you should)  NOTE: Previous version contained error. For the UCLA scanners, you DO NOT need to multiply the components at all. This step is now taken care of internally by dicom2ana (info stored in.air file)  Reslice Diff: applies the.air file to the diffusion gradient vectors (e.g. to correct for slice prescription)

8 correct_slice_prescription.pipe: Scan Diff  Scan Diff: Reads a.diff file to stdout (you can read this in execution logs->output stream), in case you want to copy & paste for use in a different program (e.g. DTIStudio)  Optionally output 2 txt files that correspond to the bvals and bvecs needed by FSL

9 dti_eddy_motion.pipe

10  This pipeline uses AIR tools to correct images for eddy current induced artifacts (2D nonlinear) and/or motion artifacts (3D linear).  Optional: This pipeline can also be used to align (rigid body only) the data to another space, e.g. MNI space.  You must also run reslicediffdir module to correct the gradient tables.  Logic: if the subject moved for one of the diffusion-weighted acquisitions, then the diffusion gradient that was actually applied is different than if the subject had not moved.  The same logic applies if you move the subject to align with a reference space. If the image data moves in space, the gradient vectors need to be adjusted accordingly.  This is only necessary for 3D transformations, i.e. not for the correction of eddy current induced distortions

11 Tips for dti_eddy_motion.pipe  The standard image for both the align_warp & alignlinear modules should be one of the b=0 (non-diffusion-weighted) images  The reslice volume for align_warp should be all of the images, including the reference b=0  even though it seems redundant to include the reference image, it is necessary for the reslicediff_dir step  Make sure to list the images in the order that matches the.diff file  You should probably save out the.air &.warp files from align_warp & alignlinear steps

12 Optional step: skull_stripDTI.pipe

13  BET: Only apply the skull stripping algorithm to one b=0 image.  Optional: Use any skull stripping algorithm or even do it manually  Avwmaths: Apply the mask to the remaining images.  Alternative: can use AIR tools binarize & binary_mask  Logic of approach:  Skull stripping algorithms (at least BET) tend to perform better on b=0 images compared to diffusion-weighted images  If the algorithm is applied multiple times to each image, there are likely to be differences across the dataset in terms of how much brain is included (including some random skull stripping algorithm failures)  Alternative: instead of using the skull stripping results to directly mask the raw data, can pass the mask to the tensor computation algorithm

14 DTIanalysis.pipe

15  Compute_single_tensor: This module computes a diffusion tensor (6D Analyze image) and intercept (b=0 image, 3D Analyze) at each voxel.  Many options available: LS vs NLS estimation, constrain eigenvalues to be positive (implies NLS), model Rician noise (implies NLS), only compute on a single slice (easy way to parallelize processing)  Tensor_eig: Computes eigenvectors & eigenvalues of the diffusion tensor at each voxel  Tensor_indices: Computes a number of scalar indices  DTI_regress_stats: Compute stats of the fit at each voxel  StreamlineFT: Tractography, slower than DTIStudio  Outputs: Analyze (optional image dimensions),.ucf and/or comprehensive.txt with xyz coords & FA value at each point in the tract  Options: Runge-Kutta 4th order & trilinear vector field interpolation should theoretically be the best but also longest computation time, step size doesn’t seem to matter (as long as < voxel dim), starting point ROI really speeds up computation time, increasing seed density gives more fibers

16 Convert_for_DTIStudio.pipe  Convert_tensor: converts from my convention for the 6D Analyze tensor image (Dxx, Dxy, Dxz, Dyy, Dyz, Dzz) to the DTIStudio convention (Dxx, Dyy, Dzz, Dxy, Dxz, Dyz)  Optionally can swap bytes  Steps within DTIStudio (see following slides for screenshots):  Download the converted tensor image AND the FA image to PC  Open the FA image in DTIStudio  Open.d to open the tensor image & compute eigenvector and eigenvalues from this image  Save the primary eigenvector AND the FA  Use these saved files to do tractography  Can do tract stats  Can save out the fiber tracking ROIs and/or the fiber tracts themselves

17 Open FA image in DTIStudio

18 Open.d (diffusion tensor image) in DTIStudio Set image dims Set FOV

19 Save primary eigenvector & FA (as.dat)

20 Use saved.dat files to do tractography File->Fiber Tracking Shouldn’t need to flip

21 Fiber tract Stats

22 Save ROI and/or tracts Save ROI Save tract

23 Important Quality Control Steps  Open analyze format images right after reconstruction: check for stripes, ghosts, faulty FOV, or other image artifacts  If there are artifacts: consult your local MR physicist  After dti_eddy_motion, check all images in a viewer to make sure that the algorithm didn’t fail on a single image  If there was a failure: re-run the images that failed by varying the parameters of align_warp & alignlinear. Start with smoothing parameters and sampling density  Check quality of skull stripping  Check that final gradient table (input to compute_single_tensor) looks fairly reasonable (right number of directions, appropriate placement of 0,0,0s, all unit vectors)  Check color map of eigenvolume. Corpus callosum should be red, optic radiations greenish, corticospinal tract blue  Sanity checks for FA and tractography results: high FA in corpus callosum, fiber tracts in the genu & splenium of corpus callosum should extend to a location near the cortex, fibers in the corticospinal tract should be long (extend from primary motor cortex to the brainstem)


Download ppt "Basic DTI analysis using the pipeline Kristi Clark January, 2008 Update: July, 2008."

Similar presentations


Ads by Google