ITK/Release 4/Why Switch to ITKv4: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
No edit summary |
|||
(20 intermediate revisions by 5 users not shown) | |||
Line 5: | Line 5: | ||
* Build only the parts of the toolkit that you need. | * Build only the parts of the toolkit that you need. | ||
* Extend bridging of the toolkit to other toolkit and libraries. | * Extend bridging of the toolkit to other toolkit and libraries. | ||
* Makes it '''easy to associate''' and build auxiliary '''community projects''' with | * Makes it '''easy to associate''' and build auxiliary '''community projects''' with an [[ITK_Release_4/Modularization/Add an external module (external module)| External module]]. | ||
* Find the quality control per module by performing code coverage | * Find the quality control per module by performing code coverage tests per module. | ||
* | |||
=== New Finite Element Registration Framework === | |||
* Better conformity with the rest of the toolkit | |||
* Improved IO of objects and results | |||
=== New Registration Framework === | === New Registration Framework === | ||
*New unified and fully multi-threaded optimization and registration framework | |||
*Unified framework supports sparse and dense metric computation | |||
*Unified framework supports low and high dimensional mapping | |||
*Improved multi-threaded metrics for rigid, affine and deformable registration | |||
*New metrics support sparse or dense sampling | |||
*Metrics for landmark or label guided registration | |||
*Automatic parameter scale estimation for registration | |||
*Automatic step-size selection for gradient-based registration optimizers | |||
*Composite transforms and composite transform optimization | |||
*Displacement field and diffeomorphic velocity field-based transforms | |||
*Better support for multi-threading in optimizers and metrics | |||
*Additional evolutionary optimizers | |||
*Improved B-Spline registration approach available and bug fixes to old framework | |||
*Accurately transform and reorient covariant tensors and vectors | |||
=== New LevelSets Segmentation Framework === | === New LevelSets Segmentation Framework === | ||
* Powerful, '''modular architecture''' | |||
** Now you, too, can fully understand how level sets are implemented! | |||
** Easy to extend and customize | |||
* Simultaneously evolve multiple level sets on an image | |||
* '''Faster''' | |||
** Limit evolution to a domain | |||
** Three different sparse representations available, Whitaker, Shi, Malcolm | |||
** Design avoids duplication of calculations in many ways | |||
* Easy conversion from BinaryMask or LabelMap to a level set. | |||
=== SimpleITK === | === SimpleITK === | ||
* | * Easy to use | ||
** [[ | ** Procedural Interface Examples: | ||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussianProcedural_8py-example.html Procedual Gaussian in Python ] | |||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussianFunctional_8cxx-example.html Procedural Gaussian in C++] | |||
** Object Oriented Interface Examples: | |||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8cxx-example.html OOP Gaussian in C++ ] | |||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8py-example.html OOP Gaussian in Python ] | |||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8java-example.html OOP Gaussian in Java ] | |||
*** [http://www.itk.org/SimpleITKDoxygen/html/SimpleGaussian_8cs-example.html OOP Gaussian in C# ] | |||
** Additional Examples | |||
*** http://www.itk.org/SimpleITKDoxygen/html/examples.html | |||
* Rapid development | * Rapid development | ||
* Interactive processing | * Interactive processing | ||
=== Software Process === | === Software Process === | ||
* Fast, distributed, powerful version control: '''Git''' | |||
* Better support for making '''contributions''' | |||
** Low barrier to entry | |||
** Well defined contribution process | |||
** Use powerful tools, Git branches, '''Gerrit reviews''' | |||
** Get code into the toolkit '''quicker''' | |||
** Get '''higher quality''' code in with more reviews and platform testing | |||
* Forget SETI@home, give the aliens a reason to visit by improving ITK with ''CDash@home''! | |||
* Know when/if your bug will be addressed with the scrum process in the JIRA issue tracker | |||
* Flexible management of testing data | |||
=== WrapITK === | === WrapITK === | ||
* Tight incorporation of the outstanding formerly third party [http://code.google.com/p/wrapitk WrapITK] project. | * Tight incorporation of the outstanding, formerly third party [http://code.google.com/p/wrapitk WrapITK] project. | ||
* [http://numpy.scipy.org Numpy] integration. | * [http://numpy.scipy.org Numpy] integration. | ||
=== "You can do it!" === | |||
* [http://ij.itk.org/itkfaq/ Migration Guide] | |||
* [[ITK/Release_4/Removed_or_renamed_classes|ITKv4 Removed or renamed classes|]] | |||
* The insight-users mailing list is there for you. | |||
* Transition is easier with ITKV3_COMPATIBILITY configuration option. | |||
* Many deprecated classes are still available. | |||
* The list of other improvements and new features are legion, '''don't miss out!''' |
Latest revision as of 05:48, 30 December 2011
Modularization
- Easier to find what you are looking for.
- Easier to understand how to use the toolkit.
- Build only the parts of the toolkit that you need.
- Extend bridging of the toolkit to other toolkit and libraries.
- Makes it easy to associate and build auxiliary community projects with an External module.
- Find the quality control per module by performing code coverage tests per module.
New Finite Element Registration Framework
- Better conformity with the rest of the toolkit
- Improved IO of objects and results
New Registration Framework
- New unified and fully multi-threaded optimization and registration framework
- Unified framework supports sparse and dense metric computation
- Unified framework supports low and high dimensional mapping
- Improved multi-threaded metrics for rigid, affine and deformable registration
- New metrics support sparse or dense sampling
- Metrics for landmark or label guided registration
- Automatic parameter scale estimation for registration
- Automatic step-size selection for gradient-based registration optimizers
- Composite transforms and composite transform optimization
- Displacement field and diffeomorphic velocity field-based transforms
- Better support for multi-threading in optimizers and metrics
- Additional evolutionary optimizers
- Improved B-Spline registration approach available and bug fixes to old framework
- Accurately transform and reorient covariant tensors and vectors
New LevelSets Segmentation Framework
- Powerful, modular architecture
- Now you, too, can fully understand how level sets are implemented!
- Easy to extend and customize
- Simultaneously evolve multiple level sets on an image
- Faster
- Limit evolution to a domain
- Three different sparse representations available, Whitaker, Shi, Malcolm
- Design avoids duplication of calculations in many ways
- Easy conversion from BinaryMask or LabelMap to a level set.
SimpleITK
- Easy to use
- Procedural Interface Examples:
- Object Oriented Interface Examples:
- Additional Examples
- Rapid development
- Interactive processing
Software Process
- Fast, distributed, powerful version control: Git
- Better support for making contributions
- Low barrier to entry
- Well defined contribution process
- Use powerful tools, Git branches, Gerrit reviews
- Get code into the toolkit quicker
- Get higher quality code in with more reviews and platform testing
- Forget SETI@home, give the aliens a reason to visit by improving ITK with CDash@home!
- Know when/if your bug will be addressed with the scrum process in the JIRA issue tracker
- Flexible management of testing data
WrapITK
"You can do it!"
- Migration Guide
- ITKv4 Removed or renamed classes|
- The insight-users mailing list is there for you.
- Transition is easier with ITKV3_COMPATIBILITY configuration option.
- Many deprecated classes are still available.
- The list of other improvements and new features are legion, don't miss out!