Difference between revisions of "Modules:Plastimatch"

From Slicer Wiki
Jump to: navigation, search
 
(45 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
__NOTOC__
 
__NOTOC__
===Plastimatch===
+
===Plastimatch > B-spline Deformable Registartion===
  
 
{|
 
{|
|[[Image:screenshotBlankNotOptional.png|thumb|280px|User Interface]]
+
|[[Image:plastimatch_image_1.png|thumb|280px|Before Registration]]
|[[Image:screenshotBlank.png|thumb|280px|Output]]
+
|[[Image:plastimatch_image_2.png|thumb|280px|After Registration]]
|[[Image:screenshotBlank.png|thumb|280px|Caption]]
 
 
|}
 
|}
  
Line 20: Line 19:
 
* Authors: See COPYRIGHT.TXT contained within the package
 
* Authors: See COPYRIGHT.TXT contained within the package
 
* Contact: Greg Sharp, Department of Radiation Oncology, Massachusetts General Hospital (gcsharp@partners.org)
 
* Contact: Greg Sharp, Department of Radiation Oncology, Massachusetts General Hospital (gcsharp@partners.org)
 +
* Web page: http://plastimatch.org
  
 
===Module Description===
 
===Module Description===
Plastimatch is an open source software for deformable image registration. It is designed for high-performance volumetric registration of medical images, such as X-ray computed tomography (CT), magnetic resonance imaging (MRI), and positron emission tomography (PET). Software features include:
 
 
* B-spline method for deformable image registration (GPU and multicore accelerated)
 
* Demons method for deformable image registration (GPU accelerated)
 
* ITK-based algorithms for translation, rigid, affine, demons, and B-spline registration
 
* Pipelined, multi-stage registration framework with seamless conversion between most algorithms and transform types
 
* Landmark-based deformable registration using thin-plate splines for global registration
 
* Landmark-based deformable registration using radial basis functions for local corrections
 
* Broad support for 3D image file formats (using ITK), including Dicom, Nifti, NRRD, MetaImage, and Analyze
 
* Dicom and DicomRT import and export
 
* XiO import and export
 
* Plugins for 3D Slicer
 
 
Plastimatch also features two handy utilities which are not directly related to image registration:
 
 
* FDK cone-beam CT reconstruction (GPU and multicore accelerated)
 
* Digitally reconstructed radiograph (DRR) generation (GPU and multicore accelerated)
 
 
== Usage ==
 
 
===Use Cases, Examples===
 
 
Plastimatch contains three separate plugins
 
  
* Automatic (B-spline) deformable image registration
+
This is the plastimatch automatic (B-spline) deformable image registration module.  It includes a multi-stage, multi-resolution pipeline, as well as multicore and GPU acceleration.  Compared to other B-spline methods in 3d slicer, the plastimatch registration method might offer:
Compared to other methods, the plastimatch registration method probably offers (1) superior accuracy for CT-CT registration, and (2) faster results.  However, the plastimatch transform is not compatible within the MRML scene, so you cannot easily use it together with other plugins. 
 
  
* Manual (landmark) deformable image registration
+
# superior accuracy for CT-CT (or CT-CBCT) registration
If you need to manually adjust your registration results, this is the tool for you!  You can define a small number of corresponding landmarks (as few as one or two) to repair minor misregistrations. 
+
# faster results for MSE registration
However, the plastimatch transform is not compatible within the MRML scene, so you cannot easily use it together with other plugins. 
 
  
* DICOM-RT structure set import
+
However, to date there have been no rigorous comparisons of the various 3D Slicer registration methods.
This handy plugin will load a DICOM-RT structure set, and render it as a labelmap.
 
  
Examples of the module in use:
+
Examples of how this module is being used:
  
 
* Intra-subject registration for adaptive radiotherapy
 
* Intra-subject registration for adaptive radiotherapy
 
* Inter-subject registration for automatic segmentation
 
* Inter-subject registration for automatic segmentation
 +
 +
== Usage ==
  
 
===Tutorials===
 
===Tutorials===
  
* Deformable image registration tutorial
+
{|
** Powerpoint Tutorial
+
|[[Image:plastimatch_tutorial_ppt.png|thumb|280px|[http://forge.abcd.harvard.edu/gf/download/frsrelease/110/1023/3D_Slicer_Plastimatch_Registration_Tutorial.ppt Download tutorial]]]
** [http://forge.abcd.harvard.edu/gf/download/frsrelease/85/1004/rider-lung-images.tar.gz Data set downloand]
+
|[[Image:plastimatch_tutorial_data.png|thumb|230px|[http://forge.abcd.harvard.edu/gf/download/frsrelease/85/1004/rider-lung-images.tar.gz Download tutorial data]]]
 +
|}
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
  
A list panels in the interface, their features, what they mean, and how to use them. For instance:
 
  
 
{|
 
{|
 
|
 
|
* '''Input panel:'''
+
* '''Input/Output panel:'''
** '''First input'''
+
** '''Fixed Volume:''' Here you choose the "fixed image", which is the reference image.
** '''Second input'''
+
** '''Moving Volume:''' Here you choose the "moving image", which will be warped to match the fixed image.
* '''Parameters panel:'''
+
** '''Output Volume:''' Here you choose where to put the warped image.  You can replace an existing image in the scene, or create a new image.
** '''First parameter'''
+
** '''Cost Function:''' Here you can choose either Mean-squared error (MSE) for unimodal registration, or Mutual Information (MI) for multimodal registration.
** '''Second parameter'''
+
** '''Hardware:''' Here you can choose either GPU for CUDA-accelerated registration, or CPU for multicore-accelerated registration.
* '''Output panel:'''
+
* '''Stage 0 panel:''' Stage 0 is the a pre-alignment stage, which uses either a translation, rigid transform, or affine transform to make a rough alignment of the moving image to the fixed image.  The default is not to do pre-alignment.  If your images are reasonably well aligned you can keep this option off, which makes plastimatch run faster.  But generally it doesn't hurt to enable Stage 0.
** '''First output'''
+
** '''Enable Stage 0:'''  Click on this checkbox to enable the pre-alignment stage.
** '''Second output'''
+
** '''Image Subsampling Rate:'''  This option is specified as three integers, separated by commas.  It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage.  This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
* '''Viewing panel:'''
+
** '''Max Iterations:''' This option controls how many iterations of B-spline registration will be run in this stage.  Usually there is no benefit beyond 200 iterations.  Also, there is usually no harm in running extra iterations, except that it takes longer.
|[[Image:screenshotBlankNotOptional.png|thumb|280px|User Interface]]
+
** '''Transformation:''' This option controls whether the pre-alignment uses a translation (3 DOF), a rigid transform (6 DOF), or an affine transform (12 DOF).  Generally speaking, translation is recommended unless the images are extremely different.
 +
* '''Stage 1 panel:''' Stage 1 is the first stage of non-rigid registration.  The plastimatch plugin will always do at least one non-rigid stage.
 +
** '''Image Subsampling Rate:'''  This option is specified as three integers, separated by commas.  It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage.  This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
 +
** '''Max Iterations:''' This option controls how many iterations of B-spline registration will be run in this stage.  Usually there is no benefit beyond 200 iterations.  Also, there is usually no harm in running extra iterations, except that it takes longer.
 +
** '''Grid Spacing:''' The grid spacing parameter is a floating point number which controls the size of the B-spline control grid, in mm.  Larger spacing means a smoother registration, while smaller spacing means a finer registration.
 +
* '''Stage 2 panel:''' Stage 2 is an optional second round of non-rigid registration.  If you get good results after stage 1, you might try stage 2 to further improve the results.  However, enabling stage 2 increases the time required to perform the registration.
 +
** '''Enable Stage 2:'''  Click on this checkbox to enable stage 2.
 +
** '''Image Subsampling Rate:'''  This option is specified as three integers, separated by commas.  It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage.  This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
 +
** '''Max Iterations:''' This option controls how many iterations of B-spline registration will be run in this stage.  Usually there is no benefit beyond 200 iterations.  Also, there is usually no harm in running extra iterations, except that it takes longer.
 +
** '''Grid Spacing:''' The grid spacing parameter is a floating point number which controls the size of the B-spline control grid, in mm.  Larger spacing means a smoother registration, while smaller spacing means a finer registration.
 +
|[[Image:plastimatch_bspline_gui.png|thumb|380px|User Interface]]
 
|}
 
|}
  
Line 90: Line 76:
 
===Notes from the Developer(s)===
 
===Notes from the Developer(s)===
  
The most up-to-date docmentation is available at the plastimatch web site.
+
Developer-oriented documentation is found on the plastimatch web site: http://plastimatch.org
 
 
http://plastimatch.org
 
  
 
===Dependencies===
 
===Dependencies===
Line 114: Line 98:
 
===Source code & documentation===
 
===Source code & documentation===
  
Source code:
+
We recommended to download the latest source code from subversion:
 +
 
 
*[http://forge.abcd.harvard.edu/gf/project/plastimatch/ Project page]
 
*[http://forge.abcd.harvard.edu/gf/project/plastimatch/ Project page]
 
*[http://forge.abcd.harvard.edu/gf/project/plastimatch/scmsvn/?action=AccessInfo Source download (svn access)]  
 
*[http://forge.abcd.harvard.edu/gf/project/plastimatch/scmsvn/?action=AccessInfo Source download (svn access)]  
Line 122: Line 107:
  
 
== More Information ==  
 
== More Information ==  
 +
 +
===About plastimatch===
 +
Plastimatch is an open source software for deformable image registration. It is designed for high-performance volumetric registration of medical images, such as X-ray computed tomography (CT), magnetic resonance imaging (MRI), and positron emission tomography (PET). Software features include:
 +
 +
* B-spline method for deformable image registration (GPU and multicore accelerated)
 +
* Demons method for deformable image registration (GPU accelerated)
 +
* ITK-based algorithms for translation, rigid, affine, demons, and B-spline registration
 +
* Pipelined, multi-stage registration framework with seamless conversion between most algorithms and transform types
 +
* Landmark-based deformable registration using thin-plate splines for global registration
 +
* Landmark-based deformable registration using radial basis functions for local corrections
 +
* Broad support for 3D image file formats (using ITK), including Dicom, Nifti, NRRD, MetaImage, and Analyze
 +
* Dicom and DicomRT import and export
 +
* XiO import and export
 +
* Plugins for 3D Slicer
 +
 +
Plastimatch also features two handy utilities which are not directly related to image registration:
 +
 +
* FDK cone-beam CT reconstruction (GPU and multicore accelerated)
 +
* Digitally reconstructed radiograph (DRR) generation (GPU and multicore accelerated)
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here.
+
National Institutes of Health<br />
 +
NIH / NCI 6-PO1 CA 21239<br />
 +
Federal share of program income earned by MGH on C06CA059267
 +
 
 +
Progetto Rocca Foundation<br />
 +
A collaboration between MIT and Politecnico di Milano
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
+
 
 +
* G Sharp, N Kandasamy, H Singh, M Folkert, "GPU-based streaming architectures for fast cone-beam CT image reconstruction and demons deformable registration," Physics in Medicine and Biology, 52(19), pp 5771-83, 2007.  
 +
* V Boldea, G Sharp, SB Jiang, D Sarrut, "4D-CT lung motion estimation with deformable registration: Quantification of motion nonlinearity and hysteresis," Medical Physics, 33(3), pp 1008-18, 2008.
 +
* Z Wu, E Rietzel, V Boldea, D Sarrut, G Sharp, "Evaluation of deformable registration of patient lung 4DCT with sub-anatomical region segmentations," Medical Physics, 35(2), pp 775-81, 2008.
 +
* G Sharp et al. "Plastimatch - An open source software suite for radiotherapy image processing," Proceedings of the XVIth International Conference on the use of Computers in Radiotherapy, May, 2010.

Latest revision as of 21:41, 14 February 2011

Home < Modules:Plastimatch

Return to Slicer 3.6 Documentation


Plastimatch > B-spline Deformable Registartion

Before Registration
After Registration

General Information

Module Type & Category

Type: CLI

Category: Plastimatch

Authors, Collaborators & Contact

  • Authors: See COPYRIGHT.TXT contained within the package
  • Contact: Greg Sharp, Department of Radiation Oncology, Massachusetts General Hospital (gcsharp@partners.org)
  • Web page: http://plastimatch.org

Module Description

This is the plastimatch automatic (B-spline) deformable image registration module. It includes a multi-stage, multi-resolution pipeline, as well as multicore and GPU acceleration. Compared to other B-spline methods in 3d slicer, the plastimatch registration method might offer:

  1. superior accuracy for CT-CT (or CT-CBCT) registration
  2. faster results for MSE registration

However, to date there have been no rigorous comparisons of the various 3D Slicer registration methods.

Examples of how this module is being used:

  • Intra-subject registration for adaptive radiotherapy
  • Inter-subject registration for automatic segmentation

Usage

Tutorials

Quick Tour of Features and Use

  • Input/Output panel:
    • Fixed Volume: Here you choose the "fixed image", which is the reference image.
    • Moving Volume: Here you choose the "moving image", which will be warped to match the fixed image.
    • Output Volume: Here you choose where to put the warped image. You can replace an existing image in the scene, or create a new image.
    • Cost Function: Here you can choose either Mean-squared error (MSE) for unimodal registration, or Mutual Information (MI) for multimodal registration.
    • Hardware: Here you can choose either GPU for CUDA-accelerated registration, or CPU for multicore-accelerated registration.
  • Stage 0 panel: Stage 0 is the a pre-alignment stage, which uses either a translation, rigid transform, or affine transform to make a rough alignment of the moving image to the fixed image. The default is not to do pre-alignment. If your images are reasonably well aligned you can keep this option off, which makes plastimatch run faster. But generally it doesn't hurt to enable Stage 0.
    • Enable Stage 0: Click on this checkbox to enable the pre-alignment stage.
    • Image Subsampling Rate: This option is specified as three integers, separated by commas. It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage. This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
    • Max Iterations: This option controls how many iterations of B-spline registration will be run in this stage. Usually there is no benefit beyond 200 iterations. Also, there is usually no harm in running extra iterations, except that it takes longer.
    • Transformation: This option controls whether the pre-alignment uses a translation (3 DOF), a rigid transform (6 DOF), or an affine transform (12 DOF). Generally speaking, translation is recommended unless the images are extremely different.
  • Stage 1 panel: Stage 1 is the first stage of non-rigid registration. The plastimatch plugin will always do at least one non-rigid stage.
    • Image Subsampling Rate: This option is specified as three integers, separated by commas. It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage. This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
    • Max Iterations: This option controls how many iterations of B-spline registration will be run in this stage. Usually there is no benefit beyond 200 iterations. Also, there is usually no harm in running extra iterations, except that it takes longer.
    • Grid Spacing: The grid spacing parameter is a floating point number which controls the size of the B-spline control grid, in mm. Larger spacing means a smoother registration, while smaller spacing means a finer registration.
  • Stage 2 panel: Stage 2 is an optional second round of non-rigid registration. If you get good results after stage 1, you might try stage 2 to further improve the results. However, enabling stage 2 increases the time required to perform the registration.
    • Enable Stage 2: Click on this checkbox to enable stage 2.
    • Image Subsampling Rate: This option is specified as three integers, separated by commas. It tells plastimatch to subsample the images in the (x,y,z) dimensions by this amount for this stage. This is one of the methods that plastimatch implements multi-resolution registration. by cascading stages of different subsampling rates.
    • Max Iterations: This option controls how many iterations of B-spline registration will be run in this stage. Usually there is no benefit beyond 200 iterations. Also, there is usually no harm in running extra iterations, except that it takes longer.
    • Grid Spacing: The grid spacing parameter is a floating point number which controls the size of the B-spline control grid, in mm. Larger spacing means a smoother registration, while smaller spacing means a finer registration.
User Interface

Development

Notes from the Developer(s)

Developer-oriented documentation is found on the plastimatch web site: http://plastimatch.org

Dependencies

This module has no dependencies.

Tests

Plastimatch features approximately 100 test cases.

Known bugs

Usability issues

Please report usability issues to the bug tracker.

Source code & documentation

We recommended to download the latest source code from subversion:

Documentation:

More Information

About plastimatch

Plastimatch is an open source software for deformable image registration. It is designed for high-performance volumetric registration of medical images, such as X-ray computed tomography (CT), magnetic resonance imaging (MRI), and positron emission tomography (PET). Software features include:

  • B-spline method for deformable image registration (GPU and multicore accelerated)
  • Demons method for deformable image registration (GPU accelerated)
  • ITK-based algorithms for translation, rigid, affine, demons, and B-spline registration
  • Pipelined, multi-stage registration framework with seamless conversion between most algorithms and transform types
  • Landmark-based deformable registration using thin-plate splines for global registration
  • Landmark-based deformable registration using radial basis functions for local corrections
  • Broad support for 3D image file formats (using ITK), including Dicom, Nifti, NRRD, MetaImage, and Analyze
  • Dicom and DicomRT import and export
  • XiO import and export
  • Plugins for 3D Slicer

Plastimatch also features two handy utilities which are not directly related to image registration:

  • FDK cone-beam CT reconstruction (GPU and multicore accelerated)
  • Digitally reconstructed radiograph (DRR) generation (GPU and multicore accelerated)

Acknowledgment

National Institutes of Health
NIH / NCI 6-PO1 CA 21239
Federal share of program income earned by MGH on C06CA059267

Progetto Rocca Foundation
A collaboration between MIT and Politecnico di Milano

References

  • G Sharp, N Kandasamy, H Singh, M Folkert, "GPU-based streaming architectures for fast cone-beam CT image reconstruction and demons deformable registration," Physics in Medicine and Biology, 52(19), pp 5771-83, 2007.
  • V Boldea, G Sharp, SB Jiang, D Sarrut, "4D-CT lung motion estimation with deformable registration: Quantification of motion nonlinearity and hysteresis," Medical Physics, 33(3), pp 1008-18, 2008.
  • Z Wu, E Rietzel, V Boldea, D Sarrut, G Sharp, "Evaluation of deformable registration of patient lung 4DCT with sub-anatomical region segmentations," Medical Physics, 35(2), pp 775-81, 2008.
  • G Sharp et al. "Plastimatch - An open source software suite for radiotherapy image processing," Proceedings of the XVIth International Conference on the use of Computers in Radiotherapy, May, 2010.