ITK/Release 4 Planning: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
Line 27: Line 27:
== FEM Meshes ==
== FEM Meshes ==
* Consolidate FEM Meshes and ITK Meshes
* Consolidate FEM Meshes and ITK Meshes
== Clean-up CMake Vars ==
* See proposal [[ITK_CMake_Style|HERE]].
== Remove Deprecated Features ==
* Functions that have been deprecated (and appropriately marked as such) for more than 3 releases should be removed.


== Image Registration ==
== Image Registration ==

Revision as of 14:20, 24 August 2008

Wish List

Oriented Images

  • Support ND image in N+1 dimension
    • 2D image can have an origin specified in 3D, thus a series of 2D images is not always Z-aligned
  • All images are oriented - remove concept of an un-oriented image
  • Check use of orientation throughout ITK
  • Support re-orientation of ND oriented images
    • Using anything other than 3D images won't compile with itkOrientedImageFilter

Image Representation

  • Allow the use of strides that are not equal to the image width
    • Would ease the collaboration of ITK with opencv
    • Would allow the use of sse operations
    • Might be redundant with correct use of image regions

Statistics

  • Complete statistics refactoring (see NAMIC sandbox)

FEM Meshes

  • Consolidate FEM Meshes and ITK Meshes

Clean-up CMake Vars

Remove Deprecated Features

  • Functions that have been deprecated (and appropriately marked as such) for more than 3 releases should be removed.

Image Registration

  • Set up the infrastructure to ease the implementation of modern optimization schemes for image registration
    • Requires Hessian or pseudo-Hessians of the cost function
    • Requires several types of update rules (additive, compositional, inverse compositional, etc.)
    • References: "Lucas-Kanade 20 years on" by Baker et al.; "Homography-based 2D Visual Tracking and Servoing" by Benhimane and Malis, "Groupwise Geometric and Photometric Direct Image Registration" by Bartoli; etc.
  • Clean up the use of parameter scaling in the optimizers
    • One possibility would be that the optimizers only perform unscaled minimization. It would then be up to a cost function wrapper to do the rescaling and potentially return the opposite of the cost function. This is similar to how vnl optimizers are used in ITK
  • Optimizers should return the best visited value
  • Modify transforms to support a consistent API across transform types
  • Modify order of parameters to be consistent across transforms.

Architecture

  • Implement a pure virtual base class for each API to support instantiation of templated filters at run-time with different dimensions.

Proper resampling/consistency in IndexToPhysicalPoint, ContinuousIndexToPhysicalPoint, Point*

Composite Transform

  • Define a composite transform which can contain any number of transforms, composed.
  • Only expose the parameters of the last transform for optimization (default)
  • Used in multivariate atlas formation (DTI reg with T1 reg with atlas)
  • Remove all of the Centered transforms
  • Modify the base class for optimizers to support key optimizer API calls such as SetMaximize and SetNumberOfIterations or SetMaximumIteration