Difference between revisions of "Projects:RegistrationLibrary:RegLib C46"
From NAMIC Wiki
Line 28: | Line 28: | ||
*moving: 2D coronal time series, 200 images total, each as fixed above | *moving: 2D coronal time series, 200 images total, each as fixed above | ||
− | === Overall Strategy === | + | === Notes / Overall Strategy === |
*because the torso is already well registered and does not move across the sequence, a global affine/rigid registration is of no use. Instead we seek to assess the internal displacements caused across the breathing cycle. We therefore choose a low-DOF BSpline model. | *because the torso is already well registered and does not move across the sequence, a global affine/rigid registration is of no use. Instead we seek to assess the internal displacements caused across the breathing cycle. We therefore choose a low-DOF BSpline model. | ||
*Because the implementation of the BRAINSfit module used here expects a 3D volume, we choose a slightly larger grid and make it isotropic, although the 3rd dimension of the grid is not used. We expect the optimizer in the registration to not move outside the slice plane and simply return 0 deformations there. | *Because the implementation of the BRAINSfit module used here expects a 3D volume, we choose a slightly larger grid and make it isotropic, although the 3rd dimension of the grid is not used. We expect the optimizer in the registration to not move outside the slice plane and simply return 0 deformations there. | ||
+ | *Overall strategy: | ||
:#select one frame within the breathing cycle as reference frame | :#select one frame within the breathing cycle as reference frame | ||
:#compute non-rigid BSpline registration of all images to the reference frame | :#compute non-rigid BSpline registration of all images to the reference frame |
Revision as of 22:44, 28 June 2011
Home < Projects:RegistrationLibrary:RegLib C46Back to ARRA main page
Back to Registration main page
Back to Registration Use-case Inventory
Contents
v3.6.1 Slicer Registration Library Case #46: 2D Cine MRI of Breathing Cycle
Input
fixed image/target | moving image |
Modules
- Slicer 3.6.1 recommended modules: BrainsFit
Objective / Background
We seek to study the motion of the lung during a breathing cycle by co-registering all of the images in a sequence with a reference, and then extract the motion from the registration displacement field.
Keywords
MRI, lung, 2D, time-series, deformation
Input Data
- reference/fixed : 2D coronal MRI 256x256 , FIESTA sequence ,1.5 x 1.5 x 15mm voxel size
- moving: 2D coronal time series, 200 images total, each as fixed above
Notes / Overall Strategy
- because the torso is already well registered and does not move across the sequence, a global affine/rigid registration is of no use. Instead we seek to assess the internal displacements caused across the breathing cycle. We therefore choose a low-DOF BSpline model.
- Because the implementation of the BRAINSfit module used here expects a 3D volume, we choose a slightly larger grid and make it isotropic, although the 3rd dimension of the grid is not used. We expect the optimizer in the registration to not move outside the slice plane and simply return 0 deformations there.
- Overall strategy:
- select one frame within the breathing cycle as reference frame
- compute non-rigid BSpline registration of all images to the reference frame
- extract the displacements of indiv. grid nodes and plot over time
Procedures
- Phase I: Pilot to determine optimal registration parameters
- load reference image and one moving image from the series
- open Registration : BrainsFit module
- Registration Phases:
- set "reference" fixed and "moving_??" as moving image
- select/check Include BSpline registration phase
- Output Settings:
- select a new transform "Slicer BSpline Transform", rename to "Xf1_moving_??"
- select a new volume "Output Image Volume, rename to "moving_??_Xf1"
- Registration Parameters: increase Number Of Samples to 200,000
- Registration Parameters: set Number Of Grid Subdivisions to 5,5,5
- Leave all other settings at default
- click: Apply; (runtime < 10 sec. on MacPro)
- adjust grid size until registration is acceptable
- Phase II: Batch Run
- open a terminal window
- via a TextEditor or prototyping/scripting software (e.g. Matlab), copy and modify the prototype line below, by changing only the moving input image:
/Applications/Slicer36/Slicer3 --launch /Applications/Slicer36/lib/Slicer3/Plugins/BRAINSFit --useBSpline --splineGridSize 5,5,5 --outputVolumePixelType short / --numberOfSamples 200000 --costMetric MMI --fixedVolume Reference/refLung_001.dcm --movingVolume Moving/Moving_001/Moving_001.dcm / --bsplineTransform Xforms/Moving_001_XfBSpl5.tfm --outputVolume MovingResampled/Moving_001_r.nrrd >> Logs/Moving_001_RegLog.txt 2>&1
- replace "/Applications/Slicer36" with your path of 3DSlicer
- create result directories MovingResampled, Logs, Xforms
- note that because input image is DICOM, and images are 2D only, each image of the time series must be in its own directory, otherwise Slicer will read them as a volume.
- paste all commands into a terminal window, or copy into a shell script and execute.
- upon completion, read the transform files with an editor and extract the displacements of interest
Registration Results
Download
Acknowledgments
Thanks to Amir Owrangi and the Robarts Institute for sharing the registration problem and data.