Differences between revisions 76 and 77
Deletions are marked like this. Additions are marked like this.
Line 50: Line 50:
 1. Familiarize you with the FreeView interface.  1. Familiarize you with the !FreeView and/or tkregister2 command interface.
Line 54: Line 54:
'''Option A''': Using FreeView
Line 55: Line 56:
Using the following command, you can run !FreeView using a wrapper script. This script can be an efficient way to open !FreeView without having to type a long, cumbersome command. In order to use !FreeView, run the command below:
Line 58: Line 59:
tkregisterfv --mov template.nii --s fbirn-anat-101.v4 --reg manreg.lta freeview -v template.nii \
$SUBJECTS_DIR/fbirn-anat-101.v4/mri/orig.mgz:visible=0 -f \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/lh.white:edgecolor=green \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/rh.white:edgecolor=green \
-viewport coronal
Line 60: Line 65:

tkregisterfv will output the !FreeView command that it calls. For this example, it should output the following in the terminal:

{{{
freeview -transform-volume -viewport cor -v /home/nmrclass/tutorial_data/buckner_data/tutorial_subjs/fbirn-anat-101.v4/mri/orig.mgz:visible=0:name=orig.mgz(targ) /home/nmrclass/tutorial_data/buckner_data/tutorial_subjs/multimodal/fmri/fbirn-101/template.nii:name=template.nii(mov):reg=/home/nmrclass/tutorial_data/buckner_data/tutorial_subjs/multimodal/fmri/fbirn-101/manreg.lta --surface /home/nmrclass/tutorial_data/buckner_data/tutorial_subjs/fbirn-anat-101.v4/surf/lh.white:edgecolor=yellow --surface /home/nmrclass/tutorial_data/buckner_data/tutorial_subjs/fbirn-anat-101.v4/surf/rh.white:edgecolor=yellow
}}}

It should also bring up an interface that looks like this:
This should bring up an interface that looks like this:
Line 72: Line 70:
 1. The yellow line is the white surface.  1. The green line is the white surface.
Line 75: Line 73:
Notice how the surfaces do not line up with the anatomy in the functional volume. To see how much the registration is off, you can switch between the orig.nii volume and the template.nii volume by clicking 'template.nii(mov)' in the upper left corner and pressing Alt-c. To do manual registration in !FreeView, select the volume you want to adjust (in this case, choose template), and go to the 'Tools' menu and select 'Transform Volume' (this window should already be loaded). Select the 'Translate' tab and play around with the sliders until the surfaces are better aligned with the anatomy. You could play with the 'Rotation' sliders as well. Notice how the surfaces do not line up with the anatomy in the functional volume. You can turn the orig volume on and off to see how much the registration is off. To do manual registration in !FreeView, select the volume you want to adjust (in this case, choose template) and then go to the 'Tools' menu and select 'Transform Volume'. Select the 'Translate' tab and play around with the sliders until the surfaces follow the anatomy better. You could play with the Rotation, as well.
Line 77: Line 75:
{{attachment:FreeView.Snap2.png||height="410",width="386"}} {{attachment:FreeView.Snap3.png||height="410",width="386"}} {{attachment:FreeView.Snap2.png||height="410",width="386"}} {{attachment:FreeView.Snap3.png||height="413",width="389"}}
Line 79: Line 77:
When you are happy with your results, save the registration file ('Save Reg') and/or the resampled volume ('Save Volume As'). If you would like to start over, you can choose 'Restore to Original'. Note: !FreeView will save .lta format registration files. When you are happy with your results, save the registration file ('Save Reg') and/or the resampled volume ('Save Volume As'). If you would like to start over, you can choose 'Restore to Original'. Note, !FreeView will save .lta type registration files.

'''Option B''': Using tkregister2

In order to use tkregister2 for this task, load a functional volume with the anatomical volume using:

{{{
tkregister2 --mov template.nii --s fbirn-anat-101.v4 \
 --regheader --reg myregister.dat --surf
}}}
The !FreeSurfer subject name is "fbirn-anat-101.v4", and myregister.dat is the output registration (which does not exist yet). --regheader indicates to compute the initial registration from the information in the headers of the input volumes and not from the contents of a registration file, which is suitable when the volumes were acquired during the same scan session (ie, the head motion is minimal).

This should bring up an interface that looks like this:<<BR>> {{attachment:Registration.jpg}} <<BR>>

Things to do:

 1. Click in the image window and hit the 's' key to toggle the surface on and off.
 1. Click on the "COMPARE" button to toggle between the functional and the anatomical. Note that the green surface is aligned with the anatomical.
 1. Change orientation by clicking on the "CORONAL", "SAGITTAL", and "HORIZONTAL" buttons.
 1. NOTE: DO NOT SPEND MORE THAN 5min DOING THIS STEP! Attempt to register the functional manually by adjusting the "TRANSLATE BRAIN" and "ROTATE BRAIN" sliders. Do NOT use "SCALE BRAIN".
 1. You can hit the "SAVE REG" button at any time to save a registration. (This will save a .dat type registration file.) If you hit it again, it will ask you if it is ok to overwrite it (it is).
 1. Close tkreg
Line 85: Line 104:
  bbregister --mov template.nii --bold --s fbirn-anat-101.v4 --reg register.lta   bbregister --mov template.nii --bold \
    
--s fbirn-anat-101.v4 \
    
--init-rr --lta register.lta
Line 90: Line 111:
 1. --lta indicates that the output registration file is register.lta (Note: currently, register.dat will also be written into the output directory for backwards compatibility).  1. --init-rr indicates that the [[mri_robust_register]] program will be used for registration.
1. --lta indicates that the output registration file is register.lta (Note, currently register.dat will also be written into the output directory for backwards compatibility).
Line 101: Line 123:
You can also look at the register.dat.mincost file: In order to load a functional volume with the anatomical volume specifying the recently created automatic registration:

'''Option A''': Using !FreeView
Line 104: Line 128:
cat register.dat.mincost freeview -v $SUBJECTS_DIR/fbirn-anat-101.v4/mri/orig.mgz \
template.nii:reg=register.lta -f \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/lh.white:edgecolor=green \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/rh.white:edgecolor=green \
-viewport coronal
Line 106: Line 134:
Select the template volume and hit Alt+v to switch between the template and orig or change the opacity value on the top volume to observe the quality of the alignment. See how much better the registration is now? How does it compare to your manual registration?
Line 107: Line 136:
The mincost file consists of 4 values. The first value indicates the quality of the registration on a scale from 0 (perfectly registered) to 1 (not registered). {{attachment:Registered.Snap.sm.png||height="428",width="684"}}
Line 109: Line 138:
In order to load a functional volume with the anatomical volume specifying the recently created automatic registration: '''Option B''': Using tkregister2
Line 112: Line 141:
tkregisterfv --mov template.nii --reg register.lta --surfs tkregister2 --mov template.nii --reg register.dat --surf
Line 114: Line 143:
Select the template volume and hit Alt+c to switch between the template and orig, or change the opacity value on the top volume to observe the quality of the alignment. See how much better the registration is now? How does it compare to your manual registration? Note that you do not need to specify the subject name because that is in the registration file generated by bbregister. Click back and forth between "TARGET" (the anatomical volume) and "MOVEABLE" (the automatically registered functional volume) to observe the quality of the alignment.
Line 116: Line 145:
{{attachment:Registered.Snap.sm.png||height="428",width="684"}} {{attachment:registerafter.jpg}}

Back to Tutorial Homepage
Back to Course Homepage
Back to Multimodal Tutorial List


Other Multimodal Tutorials: Individual fMRI Integration, Surface-based Group fMRI Analysis, Diffusion and DTI Integration


Registration

The purpose of this multimodal tutorial is to get you acquainted with the concepts needed to perform multi-modal integration in FreeSurfer using fMRI and DTI analysis. You will not learn how to perform fMRI or DTI analysis here; that knowledge is already assumed. The fMRI makes use of data from the Functional Biomedical Informatics Research Network (fBIRN, www.nbirn.net).

1. Preparations

1.1. If You're at an Organized Course

If you are taking one of the formally organized courses, everything has been set up for you on the provided laptop. The only thing you will need to do is run the following commands in every new terminal window (aka shell) you open throughout this tutorial. Copy and paste the commands below to get started:

export SUBJECTS_DIR=$TUTORIAL_DATA/buckner_data/tutorial_subjs
cd $SUBJECTS_DIR/multimodal/fmri/fbirn-101

To copy: Highlight the command in the box above, right click and select copy (or use keyboard shortcut Ctrl+c), then use the middle button of your mouse to click inside the terminal window (this will paste the command). Press enter to run the command.

These two commands set the SUBJECTS_DIR variable to the directory where the data is stored and then navigates into the directory within the SUBJECTS_DIR that you will use for this part of the tutorial. You can now skip ahead to the tutorial (below the gray line).

1.2. If You're Not at an Organized Course

If you are NOT taking one of the formally organized courses, then to follow this exercise exactly be sure you've downloaded the tutorial data set before you begin. If you choose not to download the data set you can follow these instructions on your own data, but you will have to substitute your own specific paths and subject names. These are the commands that you need to run before getting started:

## bash
<source_freesurfer>
export TUTORIAL_DATA=<path_to_your_tutorial_data>
export SUBJECTS_DIR=$TUTORIAL_DATA/buckner_data/tutorial_subjs
cd $SUBJECTS_DIR/multimodal/fmri/fbirn-101

## tcsh
source $FREESURFER_HOME/SetUpFreeSurfer.csh
setenv TUTORIAL_DATA <path_to_your_tutorial_data>
setenv SUBJECTS_DIR $TUTORIAL_DATA/buckner_data/tutorial_subjs
cd $SUBJECTS_DIR/multimodal/fmri/fbirn-101

Information on how to source FreeSurfer is located here.

If you are not using the tutorial data you should set your SUBJECTS_DIR to the directory in which the recon(s) of the subject(s) you will use for this tutorial are located.


2. Basic Manual Registration

The purpose of this exercise is to:

  1. Familiarize you with the FreeView and/or tkregister2 command interface.

  2. Show you how to make manual adjustments to the registration.
  3. Show you what a bad registration is and how hard it is to fix manually.

Option A: Using FreeView

In order to use FreeView, run the command below:

freeview -v template.nii \
$SUBJECTS_DIR/fbirn-anat-101.v4/mri/orig.mgz:visible=0 -f \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/lh.white:edgecolor=green \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/rh.white:edgecolor=green \
-viewport coronal

This should bring up an interface that looks like this:

FreeView.Snap1.sm.png

  1. The grayscale image is the functional data.
  2. The green line is the white surface.
  3. Gray matter and CSF are bright while white matter is dark.

Notice how the surfaces do not line up with the anatomy in the functional volume. You can turn the orig volume on and off to see how much the registration is off. To do manual registration in FreeView, select the volume you want to adjust (in this case, choose template) and then go to the 'Tools' menu and select 'Transform Volume'. Select the 'Translate' tab and play around with the sliders until the surfaces follow the anatomy better. You could play with the Rotation, as well.

FreeView.Snap2.png FreeView.Snap3.png

When you are happy with your results, save the registration file ('Save Reg') and/or the resampled volume ('Save Volume As'). If you would like to start over, you can choose 'Restore to Original'. Note, FreeView will save .lta type registration files.

Option B: Using tkregister2

In order to use tkregister2 for this task, load a functional volume with the anatomical volume using:

tkregister2 --mov template.nii --s fbirn-anat-101.v4 \
 --regheader --reg myregister.dat --surf

The FreeSurfer subject name is "fbirn-anat-101.v4", and myregister.dat is the output registration (which does not exist yet). --regheader indicates to compute the initial registration from the information in the headers of the input volumes and not from the contents of a registration file, which is suitable when the volumes were acquired during the same scan session (ie, the head motion is minimal).

This should bring up an interface that looks like this:

Things to do:

  1. Click in the image window and hit the 's' key to toggle the surface on and off.
  2. Click on the "COMPARE" button to toggle between the functional and the anatomical. Note that the green surface is aligned with the anatomical.
  3. Change orientation by clicking on the "CORONAL", "SAGITTAL", and "HORIZONTAL" buttons.
  4. NOTE: DO NOT SPEND MORE THAN 5min DOING THIS STEP! Attempt to register the functional manually by adjusting the "TRANSLATE BRAIN" and "ROTATE BRAIN" sliders. Do NOT use "SCALE BRAIN".
  5. You can hit the "SAVE REG" button at any time to save a registration. (This will save a .dat type registration file.) If you hit it again, it will ask you if it is ok to overwrite it (it is).
  6. Close tkreg

3. Automatic Registration

The purpose of this exercise is to show you how to use the automatic registration program (bbregister). To run, copy and paste this command into your shell:

  bbregister --mov template.nii --bold \
    --s fbirn-anat-101.v4 \
    --init-rr --lta register.lta

Notes:

  1. --bold indicates that the template has bold/T2 contrast (meaning that gray matter is brighter than white matter).
  2. --init-rr indicates that the mri_robust_register program will be used for registration.

  3. --lta indicates that the output registration file is register.lta (Note, currently register.dat will also be written into the output directory for backwards compatibility).
  4. This will take about 5 min (the same amount of time you spent manually, right?).

4. View Automatic Registration

Look at the register.lta text file created:

cat register.lta

Click here to see an example.

In order to load a functional volume with the anatomical volume specifying the recently created automatic registration:

Option A: Using FreeView

freeview -v $SUBJECTS_DIR/fbirn-anat-101.v4/mri/orig.mgz \
template.nii:reg=register.lta -f \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/lh.white:edgecolor=green \
$SUBJECTS_DIR/fbirn-anat-101.v4/surf/rh.white:edgecolor=green \
-viewport coronal

Select the template volume and hit Alt+v to switch between the template and orig or change the opacity value on the top volume to observe the quality of the alignment. See how much better the registration is now? How does it compare to your manual registration?

Registered.Snap.sm.png

Option B: Using tkregister2

tkregister2 --mov template.nii --reg register.dat --surf

Click back and forth between "TARGET" (the anatomical volume) and "MOVEABLE" (the automatically registered functional volume) to observe the quality of the alignment.

Notes:

  1. The subject is not specified since it is in the register.dat.
  2. --regheader is not used.

How does this registration look compared to your manual registration above? Can you make it any better?


Other Multimodal Tutorials: Individual fMRI Integration, Surface-based Group fMRI Analysis, Diffusion and DTI Integration


Back to Tutorial Homepage
Back to Course Homepage

FsTutorial/MultiModalRegistration_freeview (last edited 2017-03-23 20:22:33 by AndrewHoopes)