DTI analysis

Introduction

A sample dataset is include in the software forlder of the workshop CD, dtidata.zip. This page describes Diffusion Tensor Imaging and was primarily written by Leigh Morrow and Paul Morgan, with a bit of additions from Chris Rorden. Diffusion imaging measures the random motion of water (and other liquids with hydrogen). DTI appears to be a tremendously important tool, as it is sensitive to acute brain injury (you can see strokes that can not be detected by conventional MRI) and it correlates with white matter integrity. Furthermore, in theory DTI values should be relatively calibrated - healthy adults should show similar values regardless of which scanner is used. This means that one can compare results to different atlases from other centers, for example the Hokkaido University Fractional Anisotropy Database. However, in practice different sequences can give dramatically different results (especially in terms of regional variability) so you probably want to use existing databases primarily as a starting point for developing a set of templates based on your own population, scanner and protocol. Furthermore, analysis methods for DTI remain primitive.

Consider the drawing A below, where the red line shows the typical diffusion of a water molecule, randomly moving around - the black ball shows this molecules diffusion speed and direction. In constricted regions (e.g. inside cells) water is constrained, and the mean diffusion (apparent diffusion coefficient, or ADC) is slow, while in regions such as the ventricles the motion of the cerebral spinal fluid is unconstrained and relatively fast. For example, in the figure below, water is diffusing faster in A than B. On the other hand, in some areas such as along the fiber bundles of neurons (e.g. the brain's white matter) the diffusion properties are anisotropic - water will move in the direction of the fibers much more rapidly than orthogonal to the fibers. For example, in figure C below the water is moving isotropically, while in D the water is moving anisotropically. Therefore, are two ways to describe and analyze diffusion data. One is to describe it as having normal or abnormal ADC values per pixel (e.g. comparing A versus B). The other is to use the data for tractography to illustrate the shape and direction of fiber tracts (comparing C versus D).
DTI
The figure below shows the fractional anistropy and mean diffisuity of a group of healthy individuals. Note that the FA is extreme in regions of white matter (e.g. the tensors look like Figure D above), while the gray matter is more isotropic (i.e. the tissue looks like figure C above). The MD map shows that the ventricles have high diffisuity (looking like Figure A above) while the gray and white matter have lower diffisuity (looking like B above).
md_fa

Viewing the raw data

You can view the raw DICOM files by dragging and dropping them onto MRIcro. Individual files display each slice acquired and each gradient direction. There are multiple volumes, but each at a different diffusion direction. More diffusion yields a darker pixel because you lose signal as the water molecule can go anywhere. Higher ADC values mean it can go very far without interruption, and it takes the signal with it. This is not related to anisotropy.

Below are some raw images from our 12-direction DTI scan collected with our 3-Tesla Siemens Trio in Columbia, SC. On the left is the image for the mean B0 image which is not sensitive to diffusion direction. On the right is a single direction of the diffusion - note that the brightness varies dramatically in the white matter depending on the alignment of the fibers.. More diffusion yields a darker pixel because you lose signal as the water molecule can go anywhere. Higher ADC values mean it can go very far without interruption, and it takes the signal with it. This is not necessarily related to anisotropy.
Bzero 

Reflections on Image Quality

When the ADC values are calculated, they are done so in one direction at a time. It will repeat in different directions (different gradients) around a single point (the pixel). When you are in line with the pathways, you get a high diffusion value because it can move without being hindered. This results in a loss of signal (because it keeps going and going), and the image in that pixel looks dark. If the diffusion value is low, it is because the molecules are blocked by something else. Here, the image will appear bright.

In DTI, you use a tensor rather than a vector. A tensor is arranged as a matrix. You can split the tensor into 3 diffusion directions at right angles to each other. This will give you the eigenvectors and eigenvalues. There are 3 eigenvectors in each direction: the x, y, and z planes; however, we don’t know which eigenvector corresponds to which direction. The eigenvalues are used to determine which eigenvector corresponds to which direction. A high eigenvalue indicates that it is moving along with the fibers.

The more directions you collect, the better the image, but you also increase the risk of noise. One can increase signal by collecting more directions (e.g. 32 instead of 16) or increasing the number of times each direction is sampled (e.g. measuring 12 directions twice, and computing the average). However, additional directions or samples does increase the acquisition time, and people may move their head if they are scanned for extended periods..  The minimum number of directions/gradients to calculate the tensor is 6. More will give you a better estimation of the tensor (therefore better eigenvectors and thus better estimation of fiber directions). Approximately 15 to 20 directions is good, and will take about 5-minutes. But in tractography, you would say the more the merrier to get the better image.

 Data Analysis

You will also need to acquire a reference image with no diffusion information to calculate the ADC value (divide diffusion scan by reference scan). You can vary the amount of diffusion weighting (level of sensitivity to diffusion). The amount of diffusion weighting is measured by the b-value. If te b-value equals 0, there is no diffusion weighting (reference scan). If the diffusion value is very high, you can get greater resolution, but also more noise. The standard b-value for adults is 1000. In children, you typically use 600. If looking outside the brain, typically around 500.

Philips scanners will add an extra volume at the end of all volumes collected that shows the average of other diffusion scans. We don’t really want it, but it’s there anyway. It will always be the last one.

Converting Data to Analyze format and extracting the Gradient Directions:

We need to convert the images from a format used by the scanners (DICOM or PAR/REC) to a format that can be processed by FSL (Analyze NIfTI).The Siemens scanner only exports DICOM images. The Philips scanners can export two types of images. The PAR and REC format doesn't contain details of the scan and you need to know the directions of each volume collected in the analysis. While the DICOM files includes all of the information about the scan, including things you don't need to know; importantly, these include the directions and b values for each volume collected; however, these use a lot more space. FSL and DTIStudio need to know the diffusion directions for the analysis, so DICOM is easier to convert than PAR/REC.

A list of programs that can convert images from a scanner to the NIfTI format that FSL requires can be found here. However, it is important to note that you also need to extract the gradient direction and b-values as a text file. MRIconvert and dcm2nii can both create these files for you - in this tutorial I assume you have these files saved as set00_bvecs.txt and set00_bvals.txt

Processing Data with FSL's FDT Diffusion

 When you collect data, you need to turn the gradients on to their maximum value. But this also puts eddy currents into the scanner causing distortion. So when you go to calculate the FA, the images aren’t always in the right place (motion). You must use the motion correction feature.

  1. Start FSL (click on the FSL icon, or launch Cygwin and type  'FSL' from the command line).
  2. Press the FDT Diffusion button to show the diffusion processing window.
  3. At the top, select the EDDY CURRENT CORRECTION.
    1. It asks for the data file, which is filename_data.hdr.
    2. Also, put in the output name you want to identify it as the corrected data. Filename_data_cor
    3. The reference volume is 0 (back to b-value of 0).
      Eddy Current
  4. Press 'Go' to run the Eddy Current Correction and wait for it to complete before progressing to the next step. 
  5. Now, select DTIFIT RECONSTRUCT DIFFUSION TENSOR. at the top
    1. This will take diffusion images and directions, and calculate the tensor for each point in the mask and give results. FSL assumes 1 data set, but it needs others, so click on SPECIFCY FILES MANUALLY.
    2. Diffusion weighted data This is your corrected file. (Filename_data_cor)
    3. BET Binary map you have to make this using BET in FSL.
      1. Press the 'BET' button from the main FSL window
      2. Input is your corrected data file again.
      3. Under ADVANCED OPTIONS, check GENERATE BINARY MASK. 
      4. The Fractional Intensity Threshold should equal 0.3.
      5. Uncheck Generate image with non-brain matter removed. 
      6. Select OK.
      7. So now, put the name of your brain mask image into the 'BET Binary map' box.
    4. Gradient directions - choose _bvec file.
    5. B-Values - choose _bvals file.
  6. 'Go' to run the DTI fit and wait for it to complete before progressing to the next step.

Vieiwing DTI data withe FSLview 

FSL has written the results as analyze format files, and you can open then in FSL View. Your files should be saved in your data folder. It will save one file with the title 'FA', which refers to the Fractional Anistropy map. It also saves the three orthogonal vectors (V1, V2, V3).

  1. Start FSL (click on the FSL icon, or launch Cygwin and type  'FSL' from the command line).
  2. Press the FSLview button.
  3. Choose File/Open and select the FA map.
  4. Choose File/Add to add an overlay - select the V1 file to show principle vectors.
  5. In box on the bottom, you can see what you have loaded (FA and V1); to turn the overlay off, just click on the eyeball.
    visible
    1. Select the info button (i with circle) after highlighting V1.
    2. Overlay Information: Greyscale
    3. DTI Display: LINES.
      lines menulines

In FSL View, you can scroll at each axis, move crosshairs (+), move stuff with hand, and zoom with big box/little box, just click and drag. You can add lots of files as overlays. The L1, 2, and 3 are your eigenvalues, MD is the ADC value (mean diffusivity), and your eigenvectors are V1, 2, and 3 (along and perpendicular to filter if present). If you zoom in, you can see the direction with the slashes. You really only care about where its brighter/higher anisotropy).

The typical display seen in papers has the colors.

  1. Start FSL (click on the FSL icon, or launch Cygwin and type  'FSL' from the command line).
  2. Press the FSLview button.
  3. Choose File/Open and select the FA map.
  4. Choose File/Add to add an overlay - select the V1 file to show principle vectors.
  5. In box on the bottom, you can see what you have loaded (FA and V1); to turn the overlay off, just click on the eyeball.
    1. Select the info button (i with circle) after highlighting V1.
    2. Overlay Information:RGB
    3. DTI Display: Modulate.
      modulate_menumodulated


FA is grayscale, so FA doesn’t include direction information. Dark is isotropic (same in all directions). Light is anisotropic. Color codes to give directions: Red is  left to right. Green is front to back. Blue is head to foot. But this isn’t tractography. Open BEDPOST/ProbTrack This measures the probability of one thing being connected to another. (kind of tracking). It’s good to look at colors in FSL View to be sure everything is done right. Most likely problem is that directions are off.

Tractography with MedINRIA:

MedINRIA is a powerful tractography program. It not only generates lovely images, but also allows measurements of connectivity between regions of interest. Furthermore, it is easy to use and comes with a good manual. Therefore, this web page only gives a brief description. To proceed, you will need a copy of the MedINRIA software . The following information assumes you are using version 1.5.2 or later: earlier versions can not read FSL format Bvec files or FSL format .nii.gz files.

To proceed, you need a DTI dataset in NIfTI format and a FSL format BVec file. If your images are from a Siemens scanner, my dcm2nii software will create these for you. The output from FSL's eddy current correction is ideal (see the previous section).

  1. Launch MedINRIA 'DTI Track' module by clicking on its desktop icon (or if you have launched the basic MedINRIA, choose 'DTI Track' from the 'Modules' menu).
  2. Choose the DTITrack/DTIStudy/New command to describe a new study. A wizard starts, press next.
  3. You will be asked if the orientation is correct, press 'next' and then choose to 'Save' your description: this will create a *.dts file that you can double-click in the future to view, without going through the Wizard. You are now done with the Wizard.
  4. You will be asked if the orientation is correct, press 'next' and then choose to 'Save' your description: this will create a *.dts file that you can double-click in the future to view, without going through the Wizard. You are now done with the Wizard.
  5. Choose DTITrack/Processing/ComputeFibers to generate your tensors (this will take a few minutes).
  6. By default, medINRIA generates a huge fiber tracking region. As shown in the image below, select the control handles (the balls) and reduce the size of your tracking origin (this will make the changes much quicker. You can now reposition the region by moving the center ball.
  7. I like adjusting the 'Fiber settings' on the right side of the program to "3D Ribbons" with a large radius.
Tractography

Tractography with DTIStudio:

 This software is a good tool to get a quick view of where tracts are. The directions below are for the Philips PAR/REC files, but you can also use DICOM images.

  1. Start DTIstudio
  2. Select DTI Mapping and choose 'Open Philips REC'.
  3. We have to add all of the Philips REC files to Philips REC Image file(s) box: Load in filename_1.rec for the raw data (remember, _2 and _3 are post-processed).
  4. Open MRIcro. Drag the PAR file you want to load it into MRIcro. You have to type in the parameters from MRIcro into DTIStudio. (Use Ctrl+D in MRIcro to view the PAR file header, or select Import/DisplayForeignHeader).
    1. Slice by Slice
    2. Z=# of slices.
    3. Slices to be processed: all slices
    4. Axial slices
    5. Inferior/superior (drag through to be sure)
    6. FOV = Width x dimension times size
    7. Length y dimension times size
    8. Slice thickness =2
    9. B-value = 1000
  5. Gradient Table: Enter in gradients with correct (+) and (-) values. See http://www.mri.jhmi.edu/~craig/protocols/dti.html F.M. Kirby Center - Diffusion Tensor Imaging Protocol – this Java Applet will compute the gradient table
    1. Slice Orientation: Transverse
    2. Head Feet: Head first
    3. Laying: Supine
    4. Foldover: AP
    5. Fat shift: P(Foldover and fat shift found on scanner in geometry)
    6. Gradient Resolution: high is 32, medium is 15, low is 6
    7. Gradient Overplus: Yes
    8. AP Rotation: 0
    9. FH: 0
    10. RL: 0AP/FH/RL: Angulation midslice in PAR file.
    11. Click Create Gradient Table
    12. Note: xyz of image may not be same as scanner.
    13. Copy and paste the gradient table output into the table in DTIStudio.
    14. Click OK.
  6. This will give you MRIView3D file: gives you 3 orthogonal places and 3D view in box.
  7. To move it around, click on the line and drag. Use these to judge if everything looks correct.
  8. On Right, in Viewer:
    1. Image:
    2. ROI: no
    3. DTI Map: Calculate: Tensor, Color Map, etc.
    4. DTI Map Options:Background noise level = 20The rest can stay as the default value. This will display the ADC).
  9. Back to Image: select COLOR MAP – 0
  10. Save as…
  11. Make sure the colors are right because that means the directions are right.
  12. Select DTI MAP again, choose Fiber Tracking. The default parameters ok, so you can use the defaults.
  13. Select FIBER tab.
  14. Draw ROI. All points in ROI are used as start points of fibers.
  15. Under fiber selection, check ROI Drawing Enable. Draw around place and double click to finish. Unclick ROI Drawing button.
  16. Rotate 3D image to see all fibers that come from your ROI. Remember that the colors are random here.
  17. To calculate statistics of a particular ROI, highlight and click statistics. Look at average ADC value and FA value. You could also correlate it with some other variable.
  18. Switch back to Tensor Trace in Image. Then back to FIBER. Under Fiber Display, check show fibers in 2D. 
Tractography

Other tools for DTI Tractography

Here are a couple of additional tools for DTI processing.

Statisitcal Analysis of DTI

By testing a group of people, we can examine whether differences measured by DTI correlate with behavioral performance. To do this, we need to register each individual's brain to a standard space (normalization) and then conduct voxelwise statistical analysis. Currently, we analyze the FA maps and the MD maps. Using SPM and our own NPM software.

logo