ITK/Release 4.5
From KitwarePublic
< ITK
Jump to navigationJump to search
Revision as of 06:56, 18 December 2013 by Matt.mccormick (talk | contribs) (Created page with "New Documentation --------------------------- * New edition of the ITK Software Guide. For the first time since version 2.4, a new edition of the ITK Software Guide is availabl...")
New Documentation
- New edition of the ITK Software Guide. For the first time since version 2.4, a new edition of the ITK Software Guide is available, a book that has been a close companion to numerous medical imaging graduate students. In addition to numerous updates, the resource now has a community contribution mechanism that mirrors the contribution process for the ITK repository. Improvements are welcome to this living document. The new edition is available in PDF form and downloadable from http://itk.org/ItkSoftwareGuide.pdf .
- ITK Wiki examples tarball. A buildable archive of the outstanding examples indexed at http://itk.org/Wiki/ITK/Examples is available to download, build against the current release, and learn from.
- ITK Sphinx examples downloads. Examples available online at http://itk.org/ITKExamples/ are stored in Git version control but rendered in HTML, PDF, and EPUB output formats with the Sphinx documentation system. They have CTest unit tests, inline Doxygen class descriptions and links to full Doxygen class documentation, nightly generated Gitstats, an index, quick search, and a contribution mechanism that mirrors ITK or the Software Guide.
- ITK repository examples links in Doxygen HTML documentation. A downloadable archive of the Doxygen generated HTML documentation is available as usual, but examples from the ITK repository Examples/ directory are also indexed in the description of every Doxygen class.
New Features
- ITKv4 registrations can now be run in either 64-bit double or 32-bit float modes. Both double and float transform types are also now supported by metrics, optimizers, and IO readers/writers.
- SpacingValueType -- Previously ITK only supported representing physical space as type double. This patch introduces a typedef to encapsulate the concept of space precision to more clearly document the intended characteristics of the types. This is the first step toward allowing compile time selection of using single precision types for characterizing physical space (origin, spacing, direction cosines). There is an CMake configuration option, ITK_USE_FLOAT_SPACE_PRECISION, to allow building the entire toolbox in single precision mode, and currently is intended to facilitate future performance testing. NOTE: Use of ITK_USE_FLOAT_SPACE_PRECISION causes many regression test failures, and is not intended for production use at this time.
- Support for “float” type as physical units type in the Registration framework, which makes possible float type displacement fields and faster, less memory intensive registrations
- Many performance improvements in Registration -- significant performance improvements made for ImageRegistration. See patch sets prefixed by PERF. False sharing across threads as identified and removed. Unnecessary mutex lock identified and removed. For one common case on real sized data, this resulted in a 70X speed increase.
- Two new Remote modules:
- MGHIO -- Partial support for reading/writing image files from FreeSurfer (Not a complete implementation, but simple label maps and intensity images can be read/written).
- SmoothingRecursiveYvvGaussianFilter -- From Insight Journal submission: http://hdl.handle.net/10380/3425
- The SCIFIO remote module has also seen nice updates.
- IO module libraries will now be built as shared libraries with BUILD_SHARED_LIBS ON
- MRCImageIO moved out of the Review Module
- BinShrinkImageFilter added -- From Insight Journal submission: http://hdl.handle.net/10380/3450
- WrapITK Python wrapping now supporting GCC 4.8
- JPEG format now writes out spacing in physical units
- MINC ImageIO improvements:
- Correct handling of missing or damaged minc file
- MINCTransformAdapter class to use MINC style transformations stored in .xfm files, using native minc general_transform functions, which means that thin-plate spline non-linear transformations are accessible and calculation of inverse transformation can be done in a way consistent with minc tools.
- Ability to store any linear transformation based on MatrixOffsetTransformBase<double,3,3> in minc style .xfm file (using TransformFileWriter).
- OtsuThresholding classes made more consistent with other libraries
- Now the output of the threshold value may be different from previous releases (bug fix)
- Synchronized with “teem” library 1.11.1, providing NRRD functionalities.
- FlatStructuringElement new option to use a parametric radius in Ball() method
- LevelSetsv4 now has a penalty term for overlap between level sets.
- Can now read Philips 4D multi-frame DICOM files
- CMake variable ITK_BUILD_ALL_MODULES was replaced with ITK_BUILD_DEFAULT_MODULES (same behavior, more appropriate name).
- Remote Modules were simplified by removing the CMake configuration variable Fetch_{RemoteModuleName} and only requiring Module_{RemoteModuleName}
- New CTest label “RUNS_LONG” to makes it possible to exclude long running tests with “ctest -LE RUNS_LONG”
- Deprecate ITK_USE_REVIEW CMake variable in favor of Module_ITKReview
- Better support for system installed GDCM
- Preliminary support for Visual Studio 12 (2013)
- Preliminary support for OSX 10.9 - Maverick
- Support for building ITK against a DCMTK 3.6.0 installed on Ubuntu using apt-get
- Improved support for C++11
- More consistent coding style across the toolkit
- *Lots* of important bug fixes, including 73 issues reported by Coverity static analysis
- And more! See details in the log.