ITK/Release 4 Planning: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Line 54: | Line 54: | ||
* Used in multivariate atlas formation (DTI reg with T1 reg with atlas) | * Used in multivariate atlas formation (DTI reg with T1 reg with atlas) | ||
* Remove all of the Centered transforms | * 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 |
Revision as of 03:46, 21 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
- Spatial Objects
- Meshes
- Suggestions
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
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
- See Bug 3205
- 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*
- Refactor all the interpolators
- See Proposals:Refactoring Index Point Coordinate System
- See ITK Bug 6558
- Fix bug 0005335 - transform initializer computes geometric center incorrectly
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