Documentation:Nightly:Registration:RegistrationLibrary:RegLib C09

From Slicer Wiki
Jump to: navigation, search
Home < Documentation:Nightly:Registration:RegistrationLibrary:RegLib C09

Back to Registration Library

Slicer Registration Library Case #9: fMRI to structural MRI


this is the fixed reference image. All images are aligned into this space
RegArrow NonRigid.png
this is the moving target image, to be aligned with the reference image on the left
fixed image/target
moving image


This shows registration of an fMRI baseline scan to a structural reference T1. The fMRI suffers from low SNR and bad distortions we seek to correct. Approach: we first compute a rigid alignment of the fMRI to the T1. We then expand this to a nonrigid transform, which we constrain either by explicit limits on the absolute deformation amount or via a mask. Constraints are necessary because the skull present in the T1 would otherwise negatively affect the registration result.

Modules used

Download (from NAMIC MIDAS)

Why 2 sets of files? The "input data" mrb includes only the unregistered data to try the method yourself from start to finish. The full dataset includes intermediate files and results (transforms, resampled images etc.). If you use the full dataset we recommend to choose different names for the images/results you create yourself to distinguish the old data from the new one you generated yourself.


MRI, fMRI, brain, head, intra-subject

Video Screencasts

  1. Movie/screencast showing rigid + BSpline registration
  2. Movie/screencast showing installation and use of the "SwissSkullStripper" for generating a T1 mask
  3. Movie/screencast showing an alternative BSpline registration using masks instead of an explicit deformation limit


  1. Rigid Registration: register fMRI to T1 (screencast for this step)
    1. open the General Registration (BRAINS) module
    2. Fixed Image Volume: T1 (SPGR)
    3. Moving Image Volume: fMRI
    4. Output Settings:
      1. Slicer BSpline Transform": none
      2. Slicer Linear Transform: create & rename new transform: Xf1_Rigid.tfm
      3. Output Image Volume: none
    5. Registration Phases: check box for Rigid
    6. Main Parameters
      1. Number of Samples: 200,000
    7. click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz)
  2. Nonrigid BSpline Registration
    1. Fixed Image Volume: T1 SPGR
    2. Moving Image Volume: fMRI
      1. Slicer BSpline Transform": create & rename new transform: Xf2_BSpline.tfm
    3. Slicer Linear Transform: none
      1. Output Image Volume: create & rename new: fMRI_Xf2
    4. Initialization Transform:select "Xf1_Rigid" created above
    5. Initialization Transform Mode: off
    6. Registration Phases: uncheck boxe for Rigid and instead check BSpline
    7. Main Parameters: Number of Samples: 200,000
    8. Advanced Output Settings: Maximum B-Spline Displacement: 3
    9. click: Apply

Alternate Option: Masking

  1. if not yet present, install the SwissSkullStripper module: (screencast for this step)
    1. open the ExtensionsManager ExtensionManagerIcon.png
    2. locate the SwissSkullStripper" extension (under segmentation). Click on the "Install" button
    3. you will need to restart Slicer to complete the installation. Make sure to save all your work before restarting.
    4. upon restart, reload the data and open the SwissSkullStripper module (under Segmentation)
    5. You will need to download an atlas image and its mask. Link is here: SwissSkullStripper
    6. Atlas Volume: select the atlas image you downloaded.
    7. Atlas Mask Volume: select the atlas mask image you downloaded.
    8. Patient Volume: select the T1 SPGR
    9. Patient Output Volume: create and rename new: "T1_stripped" or similar
    10. Patient Mask Label: : create and rename new: "T1_mask"
    11. Apply
    12. go to the Editor
    13. Merge Volume: "T1_mask"
    14. select the "Dilation" tool. Click "Apply" 2-3 times to extend the mask beyond the brain surface
  2. Build Mask for fMRI: (screencast for this step)
    1. open the Editor
    2. Master Volume: fMRI
    3. Merge Volume: create new: fMRI_label
    4. select the Threshold tool, reduce threshold until entire brain is selected.
    5. click "Apply"
    6. select the "Dilation" tool. Click "Apply" 2-3 times to extend the mask beyond the brain surface
  3. Masked BSpline Registration: (screencast for this step)
    1. repeat the BSpline registration above, with the following changes:
    2. Turn off the deformation Limit: Advanced Output Settings: Maximum B-Spline Displacement: 0
    3. Mask Option: select ROI button
      1. ROI Masking input fixed: select "T1_mask" generated above
      2. ROI Masking input moving: select "fMRI_mask" generated above
    4. Apply

Registration Results

RegLib C09 unregistered.png unregistered (click to enlarge)
RegLib C09 registered1 rigid.gif after rigid registration (click to enlarge)
RegLib C09 registered2 BSpline.gif after nonrigid BSpline registration (click to enlarge)