Difference between revisions of "Modules:BRAINSFit"

From Slicer Wiki
Jump to: navigation, search
Line 5: Line 5:
 
__NOTOC__
 
__NOTOC__
 
===Module Name===
 
===Module Name===
MyModule
+
BRAINSFit
  
 
{|
 
{|
Line 14: Line 14:
 
===Module Type & Category===
 
===Module Type & Category===
  
Type: Interactive or CLI
+
Type: CLI
  
Category: Base or (Filtering, Registration, ''etc.'')
+
Category: Registration
  
 
===Authors, Collaborators & Contact===
 
===Authors, Collaborators & Contact===
* Author1: Affiliation & logo, if desired
+
* Author1: Hans Johnson, University of Iowa
* Contributor1: Affiliation & logo, if desired
+
* Contributor1: Kent WIlliams, University of Iowa
* Contributor2: Affiliation & logo, if desired
+
* Contact: Hans Johnson, hans-johson at uiowa.edu
* Contact: name, email
 
  
 
===Module Description===
 
===Module Description===
Overview of what the module does goes here.
+
BRAINSFit is a program for mutual information registration of brain imaging data using ITK classes. It is based on an example program included in the ITK distribution,
 +
 
 +
Insight/Examples/Registration/ImageRegistration8.cxx
 +
This program is the most functional example of multi-modal 3D rigid image registration provided with ITK. ImageRegistration8 is in the Examples directory, and also sec. 8.5.3 in the ITK manual. We have modified and extended this example in several ways:
 +
 
 +
*defined a new ITK Transform class, based on itkScaleSkewVersor3DTransform which has 3 dimensions of scale but no skew aspect.
 +
*implemented a set of functions to convert between Versor Transforms and the general itk::AffineTransform and deferred converting from specific to more general representations to preserve transform information specificity as long as possible. Our Rigid transform is the narrowest, a Versor rotation plus separate translation.
 +
*Added a template class itkMultiModal3DMutualRegistrationHelper which is templated over the type of ITK transform generated, and the optimizer used.
 +
*Added image masks as an optional input to the Registration algorithm, limiting the volume considered during registration to voxels within the brain.
 +
*Added image mask generation as an optional input to the Registration algorithm when meaningful masks such as for whole brain are not available, allowing the fit to at least be focused on whole head tissue.
 +
*Added the ability to use one transform result, such as the Rigid transform, to initialize a more adaptive transform
 +
*Defined the command line parameters using tools from the Slicer [ 3] program, in order to conform to the Slicer3 Execution model.
 +
Added the ability to write output images in any ITK-supported scalar image format.
 +
*Through extensive testing as part of the BRAINS2 application suite, determined reasonable defaults for registration algorithm parameters.
  
 
== Usage ==
 
== Usage ==

Revision as of 18:57, 6 May 2010

Home < Modules:BRAINSFit

Return to Slicer 3.6 Documentation

Gallery of New Features


Module Name

BRAINSFit

User Interface

General Information

Module Type & Category

Type: CLI

Category: Registration

Authors, Collaborators & Contact

  • Author1: Hans Johnson, University of Iowa
  • Contributor1: Kent WIlliams, University of Iowa
  • Contact: Hans Johnson, hans-johson at uiowa.edu

Module Description

BRAINSFit is a program for mutual information registration of brain imaging data using ITK classes. It is based on an example program included in the ITK distribution,

Insight/Examples/Registration/ImageRegistration8.cxx This program is the most functional example of multi-modal 3D rigid image registration provided with ITK. ImageRegistration8 is in the Examples directory, and also sec. 8.5.3 in the ITK manual. We have modified and extended this example in several ways:

  • defined a new ITK Transform class, based on itkScaleSkewVersor3DTransform which has 3 dimensions of scale but no skew aspect.
  • implemented a set of functions to convert between Versor Transforms and the general itk::AffineTransform and deferred converting from specific to more general representations to preserve transform information specificity as long as possible. Our Rigid transform is the narrowest, a Versor rotation plus separate translation.
  • Added a template class itkMultiModal3DMutualRegistrationHelper which is templated over the type of ITK transform generated, and the optimizer used.
  • Added image masks as an optional input to the Registration algorithm, limiting the volume considered during registration to voxels within the brain.
  • Added image mask generation as an optional input to the Registration algorithm when meaningful masks such as for whole brain are not available, allowing the fit to at least be focused on whole head tissue.
  • Added the ability to use one transform result, such as the Rigid transform, to initialize a more adaptive transform
  • Defined the command line parameters using tools from the Slicer [ 3] program, in order to conform to the Slicer3 Execution model.

Added the ability to write output images in any ITK-supported scalar image format.

  • Through extensive testing as part of the BRAINS2 application suite, determined reasonable defaults for registration algorithm parameters.

Usage

Use Cases, Examples

This module is especially appropriate for these use cases:

  • Use Case 1:
  • Use Case 2:

Examples of the module in use:

  • Example 1
  • Example 2

Tutorials

Links to tutorials explaining how to use this module:

  • Tutorial 1
    • Data Set 1

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:
    • First input
    • Second input
  • Parameters panel:
    • First parameter
    • Second parameter
  • Output panel:
    • First output
    • Second output
  • Viewing panel:
User Interface

Development

Notes from the Developer(s)

Algorithms used, library classes depended upon, use cases, etc.

Dependencies

Other modules or packages that are required for this module's use.

Tests

On the Dashboard, these tests verify that the module is working on various platforms:

Known bugs

Links to known bugs in the Slicer3 bug tracker


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Links to the module's source code:

Source code:

Doxygen documentation:

More Information

Acknowledgment

Include funding and other support here.

References

Publications related to this module go here. Links to pdfs would be useful.