Difference between revisions of "Documentation:Nightly:Registration:RegistrationLibrary:RegLib C48"
(9 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
== Download (from NAMIC MIDAS) == | == Download (from NAMIC MIDAS) == | ||
<small>''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. ''</small> | <small>''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. ''</small> | ||
− | *[http://slicer.kitware.com/midas3/download/?items= | + | *[http://slicer.kitware.com/midas3/download/?items=118088 '''RegLib_C48.mrb''': input data only, use this to run the tutorial from the start <small>(Slicer mrb file. 10 MB). </small>] |
− | *[http://slicer.kitware.com/midas3/download/?items= | + | *[http://slicer.kitware.com/midas3/download/?items=118087 '''RegLib_C48_full.mrb''': includes raw data + all solutions and intermediate files, use to browse/verify <small>(Slicer mrb file. 12 MB). </small>] |
== Keywords == | == Keywords == | ||
Line 30: | Line 30: | ||
== Video Screencasts == | == Video Screencasts == | ||
#[[Media:RegLib_C48_FiducialRegistration.mov|'''fiducial-based registration''']] | #[[Media:RegLib_C48_FiducialRegistration.mov|'''fiducial-based registration''']] | ||
+ | #[[Media:RegLib_C48_FiducialRegistration_IGT.mov|'''alternative tool: using SlicerIGT's fiducial-based registration''']] (shows extension download and module execution only, for the landmark selection see movie above) | ||
== Procedure == | == Procedure == | ||
− | #'''Create CT fiducial list | + | #'''Create CT fiducial list:''': see also movie above |
##load the two datasets. Adjust brightness & contrast if necessary. Place the CT scan in the background and center the views. | ##load the two datasets. Adjust brightness & contrast if necessary. Place the CT scan in the background and center the views. | ||
##Open the [[Documentation/Nightly/Modules/Markups|''Markups'' module]] | ##Open the [[Documentation/Nightly/Modules/Markups|''Markups'' module]] | ||
Line 43: | Line 44: | ||
##open the ''Advanced'' tab and change the colors for this list (both selected and unselected). This will help you keep the two lists apart, i.e. distingush the CT list from the MR list | ##open the ''Advanced'' tab and change the colors for this list (both selected and unselected). This will help you keep the two lists apart, i.e. distingush the CT list from the MR list | ||
##switch the MR image into the backrgound and recenter the views. | ##switch the MR image into the backrgound and recenter the views. | ||
+ | #'''Create MRI fiducial list''': see also movie above | ||
##''List'': create and rename new list. Name to "fiducials_MRI" or similar | ##''List'': create and rename new list. Name to "fiducials_MRI" or similar | ||
##repeat the selection of fiducials as above. | ##repeat the selection of fiducials as above. | ||
##in the ''Advanced'' tab, you can reshuffle the order of fiducials in the list. '''Important: remember that the fiducials in the two lists must be in the same order, i.e. the same anatomical loci must appear in both lists in the same order. If not you can use the shuffle buttons in the Advanced tab to rearrange. | ##in the ''Advanced'' tab, you can reshuffle the order of fiducials in the list. '''Important: remember that the fiducials in the two lists must be in the same order, i.e. the same anatomical loci must appear in both lists in the same order. If not you can use the shuffle buttons in the Advanced tab to rearrange. | ||
##Save both lists. This will create ".csv" with fiducial names and coordinates | ##Save both lists. This will create ".csv" with fiducial names and coordinates | ||
+ | #'''Fiducial Registration:''' | ||
##go to the [[Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module]] (menu: ''Registration / Specialized'') | ##go to the [[Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module]] (menu: ''Registration / Specialized'') | ||
##''Fixed Landmarks'': select "Fiducials_CT" | ##''Fixed Landmarks'': select "Fiducials_CT" | ||
Line 66: | Line 69: | ||
##return to the [[Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module]] (menu: ''Registration / Specialized'') and rerun the registration, choosing the same transform result name. | ##return to the [[Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module]] (menu: ''Registration / Specialized'') and rerun the registration, choosing the same transform result name. | ||
##click apply. This will calculate a new transform with the updated fiducial list and replace the existing transform. You should see the difference immediately as the views update. You can use this to test if a registration can be improved by leaving out indiv. landmarks. | ##click apply. This will calculate a new transform with the updated fiducial list and replace the existing transform. You should see the difference immediately as the views update. You can use this to test if a registration can be improved by leaving out indiv. landmarks. | ||
+ | #Alternative tool: '''Fiducial Registration within the SlicerIGT Extension''': the SlicerIGT extension also contains a landmark registration tool that offers rigid and similarity registration based on fiducial lists [[Media:RegLib_C48_FiducialRegistration_IGT.mov|'''(screencast on downloading and running the SlicerIGT extension)''']] | ||
+ | ##Downloading the [[Documentation/Nightly/Extensions/SlicerIGT|SlicerIGT]] extension: | ||
+ | ###click on the extension manager icon in the toolbar [[Documentation/Nightly/SlicerApplication/ExtensionsManager|for details on the extension manager see here]] | ||
+ | ###scroll down and locate the ''SlicerIGT'' icon, click on ''Install''. | ||
+ | ###once the module is loaded, save any unsaved work, then click on the ''Restart'' button to restart Slicer. | ||
+ | ##go to the ''Fiducial Registration Wizard'' within the "IGT" module menu | ||
+ | ###for ''To fiducials", select the "fiducials_CT" list | ||
+ | ###for ''From fiducials", select the "fiducial_MR" list | ||
+ | ###for ''Sekect a Linear Transform'', select "Create and Rename New.." and rename to "Xf2_IGTXform" or similar | ||
+ | ###note that the calculation executes automatically without further user prompting, you should see a "Status: Success! RMS Error: 4.0" or similar message. | ||
+ | ###return to the [[Documentation/Nightly/Modules/Data ''Data'' module]] and drag the MRI volume and the "Fiducials_MR" node into the new transform. You should see them align nicely. | ||
==Registration Results== | ==Registration Results== |
Latest revision as of 21:52, 29 August 2014
Home < Documentation:Nightly:Registration:RegistrationLibrary:RegLib C48Contents
Slicer Registration Library Case #48: Fiducial Registration of Abdominal MR/CT
Input
fixed image/target intra-op CT |
moving image pre-op MRI |
Description
Goal is to align the pre-op MRI to the intra-op interventional CT. The MR contains detail about location and extent of the pathology not apparent on the CT. Hence we register the MR to the CT to help guide the intervention. This is the same case as Case# 17, but here we demonstrate the use of the Fiducial Registration module. Fiducial registration can be useful in cases where the initial misalignment is too great or image appearance is too different for direct intensity-based registration to succeed. It can also b useful as a tool for an initial alignment to be refined with additional intensity-based methods.
Approach: we use the fiducial registration method to obtain an initial alignment that corrects for the strong rotation and translation between the two images. This method requires two separate lists of fiducials that represent corresponding anatomical landmarks. The number and order of the fiducials in the two lists must be the same.
Modules used
- Markups (for generating fiducial lists)
- Fiducial Registration
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.
- RegLib_C48.mrb: input data only, use this to run the tutorial from the start (Slicer mrb file. 10 MB).
- RegLib_C48_full.mrb: includes raw data + all solutions and intermediate files, use to browse/verify (Slicer mrb file. 12 MB).
Keywords
MRI, CT, abdominal, image-guided surgery, interventional radiology, intra-subject, fiducial-based registration
Video Screencasts
- fiducial-based registration
- alternative tool: using SlicerIGT's fiducial-based registration (shows extension download and module execution only, for the landmark selection see movie above)
Procedure
- Create CT fiducial list:: see also movie above
- load the two datasets. Adjust brightness & contrast if necessary. Place the CT scan in the background and center the views.
- Open the Markups module
- List: create and rename new list. Name to "fiducials_CT" or similar
- locate anatomical landmarks that is common to both images and readily identifiable. Smaller and distinctly shaped structures will likely carry less of a selection error than large uniform ones. It is also advisable to select fiducials from or near the region of interest.
- switch the mouse function to fiducial mode, by clicking the Fiducial button in the toolbar.
- place a fiducial marker via left mouse-click
- you should see the fiducial appear in the list on the left. Double click the name field and rename the point with a descriptive name that will let you distinguish it from others. The fiducials we generate in the list must be in the same order in both lists (MR and CT), so it is important we can distinguish which fiducial is which.
- select 2-3 additional fiducials. The more fiducials we have, the more robust the registration. However, if you feel that the uncertainty/accuracy of a new landmark is significantly above the others, you may do better leaving it out and trying with a smaller set. For a rigid registration at least 3 fiducials are needed. Another advantage of having more than necessary, is that you can later easily test/revise the registration by removing individual points and recalculating the transform. Because the calculation is instant, you can see immediately if the match improves by leaving individual markers out. More on this in the discussion below.
- open the Advanced tab and change the colors for this list (both selected and unselected). This will help you keep the two lists apart, i.e. distingush the CT list from the MR list
- switch the MR image into the backrgound and recenter the views.
- Create MRI fiducial list: see also movie above
- List: create and rename new list. Name to "fiducials_MRI" or similar
- repeat the selection of fiducials as above.
- in the Advanced tab, you can reshuffle the order of fiducials in the list. Important: remember that the fiducials in the two lists must be in the same order, i.e. the same anatomical loci must appear in both lists in the same order. If not you can use the shuffle buttons in the Advanced tab to rearrange.
- Save both lists. This will create ".csv" with fiducial names and coordinates
- Fiducial Registration:
- go to the Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module (menu: Registration / Specialized)
- Fixed Landmarks: select "Fiducials_CT"
- Moving Landmarks: select "Fiducials_MR"
- Save transform: select "Create and rename new linear transform, rename to "FiducialReg_Rigid" or similar.
- click Apply. note that the calculation is instantaneous, but you will not see an effect on the image just yet.
- place the CT image in the background and center. Place the MR image in the foreground and set the fade slider halfway so you can see both images superimposed
- Go to the Documentation/Nightly/Modules/Data ''Data'' module
- you should see the newly created transform node in the MRML tree. Locate the MR image and drag its node onto the transform node (release the left mouse button when a box appears around the transform node). The MR image is placed inside the new transform. You should see the views update immediately.
- also drag the "fiducially_MR" node into the transform. Your data hierarchy should look similar to the image on the right.
- use the fade slider to judge the alignment.
- the 3D viewer will be very helpful here to assess the alignment of the fiducial pairs in space.
- optional: Revise registration / sensitivity test
- if you have more than the minimal (3) fiducial points available, you can test the effects of individual landmarks by recalculating the transform with individual points deleted.
- make sure you have both fiducial lists saved beforehand
- from the 3D or 3D views, identify a fiducial pair that shows the largest residual misalignment after registration (make sure the MR fiducial list is also within the transform)
- go back to the Markups module and delete that fiducial from both lists.
- make sure you have the CT in the background and the MR in the foreground, the fade slider set to halfway and the MR image inside the result transform
- return to the Documentation/Nightly/Modules/Fiducial Registration ''Fiducial Registration'' module (menu: Registration / Specialized) and rerun the registration, choosing the same transform result name.
- click apply. This will calculate a new transform with the updated fiducial list and replace the existing transform. You should see the difference immediately as the views update. You can use this to test if a registration can be improved by leaving out indiv. landmarks.
- Alternative tool: Fiducial Registration within the SlicerIGT Extension: the SlicerIGT extension also contains a landmark registration tool that offers rigid and similarity registration based on fiducial lists (screencast on downloading and running the SlicerIGT extension)
- Downloading the SlicerIGT extension:
- click on the extension manager icon in the toolbar for details on the extension manager see here
- scroll down and locate the SlicerIGT icon, click on Install.
- once the module is loaded, save any unsaved work, then click on the Restart button to restart Slicer.
- go to the Fiducial Registration Wizard within the "IGT" module menu
- for To fiducials", select the "fiducials_CT" list
- for From fiducials", select the "fiducial_MR" list
- for Sekect a Linear Transform, select "Create and Rename New.." and rename to "Xf2_IGTXform" or similar
- note that the calculation executes automatically without further user prompting, you should see a "Status: Success! RMS Error: 4.0" or similar message.
- return to the Documentation/Nightly/Modules/Data ''Data'' module and drag the MRI volume and the "Fiducials_MR" node into the new transform. You should see them align nicely.
- Downloading the SlicerIGT extension:
Registration Results
![]() |
MR/CT before registration (click to enlarge) |
![]() |
MR/CT after fiducial rigid alignment (click to enlarge) |