This is an old revision of the document!
Table of Contents
Diffusion Weighted Imaging
A white matter fiber connects the output of one neuron to one or more target neurons. There are well known bundles or tracts of fibers that run through the brain and spinal cord and connect distant brain regions. Here are a few examples of major tracts:
- Corticospinal tract. A good review is linked here.
- Inferior longitudinal fasciculus.
A review of tracts using DTI can be found here.
In this lab we will investigate relatively new methods in MRI to visualize the integrity and direction of white matter tracts.
Data used in this lab
Laboratory Report
This lab report will be due Wednesday Feb 24
I would like you to demonstrate your understanding of the principles of diffusion weighted imaging (DWI) in this report.
This should be done by prefacing your lab results with a couple of paragraphs summarizing your understanding of DWI.
Some things to consider:
- How is diffusion data acquired?
- Why do we apply the dephasing-rephasing gradients?
- Why is there smaller signal in the primary direction of water diffusion?
Part 1: Introduction to Diffusion and White Matter Tracts
White Matter Tracts
An important part of the lab will be knowing your way around the white-matter and being able to identity some white-matter tracts, particularly when trying to identity locations of crossing fibers. Let's learn about some tracts now.
FSLView Setup
The info below requires knowledge of fslview and using the 'Atlas Tools'. If you need a reminder of how to use the Atlas Tools, please refer back to this previous lab.
1. Start up FSLView
and open the MNI152_T1_1mm_brain.nii.gz
standard brain.
2. Click on Tools ⇒ Toolbars ⇒ Atlas tools
3. Toggle your view layout to have bigger slices by clicking the following button below.
You want your view to look this below.
4. Click on the Structures
button in the Atlas information at the bottom.
5. Then select the JHU White-Matter Tractography Atlas
and select the check boxes for Locate selected structure
and Preview selected structure's probability map
.
Move this window to the side so you can see all three slices in FSLView while being able to change the selected tract in this atlas.
Learning about White Matter Tracts
LAB REPORT Part 1 - #1
We will now identify various white matter structures.
- For each of the four white matter tracts indicated below, please take a screenshot and add it along with the tract label to your lab report.
6. Identify each of the following structures one by one. Note we are only going through the left hemisphere tracts here to conserve time. For the following four, make sure to take a screenshot.
- Corticospinal tract L: nerves within the corticospinal tract are involved in movement of muscles of the body.
- Cingulum (cingulate gyrus) L: white matter fibers that project from the cingulate gyrus to the entorhinal cortex.
- Forceps minor: connects the lateral and medial surfaces of the frontal lobes and crosses the midline via the genu of the corpus callosum.
- Inferior fronto-occipital fasciculus L: passes backward from the frontal lobe to the occipital and temporal lobes. Also note the proximity of this tract to the forceps minor and to the corticospinal tract (this might be important later when discussing crossing fibers)!
Feel free to explore some of the other fiber tracts on your own. Do you notice any other tracts that might either cross or come very close to each other?
Crossing Fibers
7. To get an idea of this possibility (of adjacent or crossing fibers), load several of the white matter tracts you just went through at the same time. You can do so by running the following command below in the terminal. (remember, you can just copy and paste it)
cd ~/Desktop/class/input/dti/atlas fslview ${FSLDIR}/data/standard/MNI152_T1_2mm_brain.nii.gz \ cingulum_L.nii.gz -l 'Green' -t 0.7 -b 0,50 \ corticospinal_tract_L.nii.gz -l 'Blue' -t 0.7 -b 0,50 \ forceps_minor.nii.gz -l 'Red' -t 0.5 -b 0,50 \ inferior_fronto-occipital_fasciculus_L.nii.gz -l 'Green' -t 0.8 -b 0,50
We have just opened four tracts primarily in the left hemisphere:
- Corticospinal tract in blue indicating it mainly goes between superior and inferior
- Cingulum in green indicating it mainly goes between anterior and posterior
- Forceps minor in red indicating it mainly goes between lateral and medial
- Inferior fronto-occipital fasciculus in green like the cingulum
Feel free to adjust the transparency of each of the tracts via the slider at the bottom or to hide/show each of the tracts by double-clicking the eye icon next to the name of the tract. Note that the values for each tract represent the probability that tract was found for a subject in that dataset. Here, we are displaying tracts where a value was found for any of the subjects.
LAB REPORT Part 1 - #2
- Take one screenshot of an area where some of these tracts intersect or come close to each other.
- What issues might you face in trying to identity the different tracts using diffusion weighted imaging?
Before proceeding you should close all open FSLView
instances.
Part 2: Computing FA and DT images using FSL/FDT
In this section we will compute FA and DT maps using the FSL Diffusion Toolkit program; FDT diffusion
.
Note, the FDT diffusion
program writes its output to the same folder as it reads its input. Thus, you will need to copy your input data from ~/Desktop/class/input/dti
to your output folder ~/Desktop/class/output/lab05
. This is what we will be doing below (i.e., copying a sample subject dataset from the dti folder within the ~/Desktop/class/input
directory to our ~/Desktop/class/output/lab05
directory)
Use the ~/Desktop/class/output/lab05
directory for all output generated today.
Open up a new terminal window and enter in the following:
mkdir -p ~/Desktop/class/output/lab05 cp ~/Desktop/class/input/dti/33470_complete/33470_LAS_eddy.nii.gz ~/Desktop/class/output/lab05 cp ~/Desktop/class/input/dti/33470_complete/bvecs ~/Desktop/class/output/lab05 cp ~/Desktop/class/input/dti/33470_complete/bvals ~/Desktop/class/output/lab05 cd ~/Desktop/class/output/lab05
In the same terminal window you used above:
- Type
fsl &
in the terminal. - Because you launched fsl within a dti subject folder, this will simplify navigation when selecting the input files.
As this exercise will focus upon white matter tracts, note that FSLView
has special options for displaying DTI data and special atlases for exploring fiber tracks. We will go through these in further detail below.
WM Atlas
In this section, we will continue to use the JHU White-Matter Tractography Atlas in FSLView
as a reference to guide our exploration of the diffusion data. We will also look at another atlas: the JHU ICBM DTI-81 White Matter Labels. To load the atlases:
- Start
FSLView
- Open a standard brain (File ⇒ Open Standard), I suggest the
MNI152_T1_2mm_brain.nii.gz
. - Reveal the atlas tools: Tools ⇒ Toolbars ⇒ Atlas Tools
- Once the atlas toolbar appears click the
Atlases
button to select the appropriate atlas. - Select the JHU White-Matter Tractography Atlas and JHU ICBM DTI-81 White Matter Labels
- (optional) In the same window, de-select the two Harvard-Oxford atlases.
- Click
Ok
to exit this window.
Now in the atlas toolbar, you should see your two new white matter atlases. If you move your cursor around on the brain, information in this toolbar will update with the probability that the selected voxel is a given white matter label or tract.
To also visualize the probability distributions for a specific tract (as in the previous walkthrough of white matter tracts):
- Select the Structures button in the atlas toolbar
- Select the JHU White-Matter Tractography Atlas in the dropdown
- Select the check boxes for Locate selected structure and Preview selected structure's probability map
- Now you can select a particular tract in the list and it will display on your standard brain. Feel free to move this structure list to the side so you can view the whole brain.
Leave this FSLView window open as you'll want to refer back to it later in the lab.
Compensate for eddy currents
Applying strong gradients such as those used in diffusion imaging creates compensatory magnetic fields that oppose the gradients. These are called 'eddy currents' in analogy to the swirls that you can observe in moving water when it encounters an obstruction. These swirls oppose the direction of the stream.
The problem in MRI is that spatial encoding is exquisitely dependent upon the strength of the magnetic field gradient. The spatial location of an hydrogen nucleus (proton) is encoded by applying a magnetic field of a precise strength to a location in space. If the magnetic field strength is augmented or diminished by eddy currents, there will be a change in the perceived location of the proton. Thus, the image will be sheared or otherwise distorted.
There are algorithms that attempt to compensate for eddy current distortions, which are spatially related to the gradient direction. We will first need to remove eddy current distortion from our diffusion data before proceeding. This can be done by choosing FDT diffusion
on the FSL menu, and then choosing eddy current correction on the drop down menu. However, due to the time taken for this computation, this has been computed beforehand so you do not need to do it now.
To save time during class, the eddy current corrections have been calculated beforehand. Do not re-run the eddy current corrections. The eddy current corrected data is called 33470_LAS_eddy.nii.gz (remember, .nii.gz means that it is in compressed (gzipped) NIFTI-1 format)
Strip your skulls!
Need a refresher on using BET? Click here to go back to the the walkthrough from Lab 03
You will need a brain mask for this exercise. A brain mask is a binary image that contains ones wherever there is brain and zeros everywhere else (e.g., skull, scalp, outside of brain). Such a mask can then be used to remove from computation any region that is not brain. Brain masks can be created with FSL's Brain Extraction Tool (BET). Be sure to specify your eddy corrected images as input.
The 33470_LAS_eddy.nii.gz
is a T2-weighted image (with no diffusion gradients applied). T2 images provide some challenges to skull stripping, because the skull and scalp are not well defined in T2 contrast.
You might find using the option for lowering the Fractional intensity threshold
improves skull stripping in this image. Try using the Robust brain centre estimation
option and lower the threshold to .35
to get good separation of skull and brain. However, you can try different values and view the results in FSLview
until you are satisfied.
Also, because we need a brain mask, you need to check the option (under Advanced Options
) to output a binary brain mask image
, and a brain-extracted image. Skull stripping should only take a few seconds.
Before proceeding, make sure you have a good brain mask and a good skull stripped brain. Quality is important. Make a note of their names, as this will need to be provided in the next step.
Compute DTI and FA
Choose the FDT diffusion
program from the FSL menu, and the DTIFIT reconstruction
from the FDT menu.
Now (note the numbered list below corresponds to the numbers in the image below):
- Check the
Specify input files manually
box. This program will run automatically if certain naming conventions are used. However, as we named our image volumes unconventionally, we need to check that box. - Be sure to specify the eddy-current corrected diffusion data
33470_LAS_edd.nii.gz
(not the skull-stripped data you just computed) as input. - Specify your brain mask from the skull stripping step
- FSL will automatically set the output file
- The gradient directions are provided in the
bvecs
file - The b vals are the
bvals
files
Press Go
- this runs within a couple of minutes - so be patient and don't hit Go
repeatedly.
Examine the DTI and FA results
You will need FSLView
for this step. You will need to open a new FSLView
window because these data are in a different space than the standard brain used to visualize the white-matter atlas tracts.
1. Examine your FA (fractional anisotropy) image.
- Click File ⇒ Open
- Open the
dti_FA.nii.gz
file
Can you see what tissue types have high FA, and what tissue types have low FA? If the answers are not obvious - make sure to check with me.
2. Examine the DTI images for the 3 orthogonal axes that describe the tensor at each voxel.
- Click File ⇒ Add
- Add the
dti_V1.nii.gz
file followed by thedti_V2.nii.gz
anddti_V3.nii.gz
files.
Note that the V1 image (dti_V1.nii.gz
) represents the principal diffusion axis at each voxel (axial diffusivity), whereas V2 and V3 represent the two axes that are perpendicular to the principal axis (radial diffusivity). We will explore this idea further below.
You can appreciate this by plotting the color coded principal diffusion axes.
- First, let's hide
dti_V2
anddti_V3
by unchecking the checkbox next to eye icon next to their names. (you can also double-click on the filename to achieve the same thing) - Highlight
dti_V1
and click on the on the information button (i character on the blue circle) at the bottom of the overlay settings in theFSLView
window.
This brings up a box of options. Choose DTI display options and then select Lines (RGB)
.
The lines point in the direction of the principal direction of diffusion.
- RED = Left/Right
- BLUE = Superior/Inferior
- GREEN = Anterior/Posterior
To get larger images of a particular orthogonal slice of the brain (axial, sagittal, or coronal) you can switch to single view.
- Select
Tools
⇒Single View
- Close the window with the three views
- To cycle through the three cardinal axes, press the
Switch view
button
LAB REPORT Part 2 - #1
- Use your new found knowledge of major white matter tracts to identify the structures below in your V1 image. Include labeled screenshots in your report.
- corpus callosum
- corticospinal tract
Hint: you can refer back to the JHU white matter atlas in your previous instance of FSLView
to find particular white matter tracts.
Part 3: Tractography
Visualizing Tracts with TrackVis
The sample data for this exercise are located in ~/Desktop/class/input/dti/dipy
. We will be using a very high quality dataset in this section (It is the demo dataset given by the `dipy` software package). It is data from one subject with 150 directions and 10 B0 scans. The higher number of directions is critical for accurate tractography and particularly for resolving crossing fibers
In this section we will use TrackVis program to visualize white matter tracts.
1. Open TrackVis
by clicking on the icon in your dock.
If you don't see the icon in your dock, you can open it from your Applications
directory. If you're not a Mac user, just ask me for help.
2. Select File ⇒ Open Track or Scene … and open the tensor_streamlines.trk
file in the ~/Desktop/class/input/dti/dipy/dipy
directory.
3. You will also want to have an anatomical image to help guide your track selection. Select File ⇒ Load Image and open tensor_fa.nii.gz
.
TrackVis
has tons of options. We will explicitly cover a few below. For a fuller description of the options you can refer to the TrackVis website here http://www.trackvis.org/. The website offers some brief tutorial movies that can be viewed in your browser that illustrate the use of the program. These are very helpful in quickly learning the interface. You can find a list of these movies here.
Before proceeding, watch the TrackVis movies. At minimum, watch the first and second movies to quickly get familiar with the interface. Each movie runs for about 90 sec (although you must click at certain points to move the movie forward).
The main value of TrackVis is to isolate particular fiber tracks by use of TrackGroups, Slices, Regions of Interests, Balls/Spheres, etc. You can toggle different TrackGroups on and off, for example
- if you right click on Track 1 in the upper-right
Objects
panel, you can hide this track view, or delete it.- NOTE: On a Mac you can “right click” by holding down the
control
key when while you click
- In the lower-right
Property
pane, you can double-click on most properties of the selected TrackGroup and change them. For example, you can change the way the current slice looks, which axis it is drawn along, how dense the fibers are drawn, etc.
Add some screenshots of the track and peroperty windows and options.
Show an example of how changing the length affects which fiber tracts are shown.
Play with the controls to get a sense of how you can navigate through space, rotate the brain, adjust which fiber tracts are displayed, etc.
It'll take a little bit of time playing around before you get the hang of it. Your goal isn't to become an expert user, but you should get a feel for the basic image/track manipulation options. And if things go totally off the rails, you can always close and reopen the program to start fresh. Try to …
- Only view the long tracks and then only view the short tracks
- Click on
Track
in theProperty Window
- Adjust the
Length Threshold
settings
- Play around with the
Slice Filters
, which will only show fibers that travel through the selected slice.- Activate the check box next to the
X
,Y
, orZ
Sliced Filter
- Click on the slice number to the right of the checkbox and move the slider
- Adjust the
Thickness
- Hint: If you turn on the X slice filter, and change the
Operator
toNot
then you will only see fiber tracks that do not pass through your slice. Change theOperator
toAnd
and you'll only see fibers that do pass through your slice. You can add additional slice filters and set the operators such that you'll only see fibers that pass through both your slices, none of your slices, one of your slices, etc.
Creating an ROI Sphere
Let's create a ball-shaped region of interest (ROI) to select some tracts. This will help us identify only the tracks that run through areas we're interested in (our ROI)
To clear your workspace, you might consider turning off, or hiding, the current slice-based view. To do so, right-click on Track1
in the Objects
box and select Hide
1. Select TrackGroup ⇒ New Track Group from Sphere
A small ball will show up at the cross-hairs of your 3 orthogonal views. You can make this ball bigger or small by manipulating its properties.
2. Let's make the ball a little bigger.
- Click on the
ROI
tab in the lower-rightProperty
window. - Double-click on the
2
next toRadius
and set this value to3
You can drag the ball around within your three orthogonal slice windows along the bottom of the screen.
Include a sceenshot of what I mean by “orthogonal slices”
3. If your three orthogonal slices are not moving as you move your sphere around, click on the Sync Slice to ROI center
button. (this button is in the Image
window. It is the button that looks like a window-pane with a ball in the middle of it)
4 You can add a second ROI sphere by simply repeating steps 1-3.
You can similarly create a TrackGroup based upon a hand-traced ROI like in the linked video.
Find Some Tracts
Use these methods, or others you discover, to isolate the following tracts.
Include links and pictures to help them identify these images
- minor forceps
- major forceps
- corticospinal tract
- cingulum