ITK/Release 4.9

From KitwarePublic
< ITK
Jump to navigationJump to search

New Features


  • Wrapping improvements
Python 3 supported
Visual Studio 2015 supported
C++14 standard supported
GCC 6 supported
Wrapping builds much faster due to CastXML binaries
LandmarkBasedTransformInitializer now wrapped
NumPy bridge with VisualStudio
Wrapping for the MinimalPathExtraction module
Wrapping is now installed into Python’s site-packages directory in the “itk” package
Wrapping package size is decreased
Better package portability on Mac OSX
  • New Remote Modules
Cuberille
  Insight Journal Article: http://hdl.handle.net/10380/3186
AnisotropicDiffusionLBR
  Insight Journal Article: http://hdl.handle.net/10380/3505
  Web browser reproducibility: http://www.kitware.com/blog/home/post/942
  • Core Improvements
External Modules can now be developed outside of the ITK source tree and on GitHub
Details: http://www.kitware.com/blog/home/post/997
New utilities in itk::Math: 
  AlmostEquals
  NotAlmostEquals
  ExactlyEquals
  NotExactlyEquals
New itk::NumericTraits
  IsInteger
  IsSigned
Improved C++11 support
New ITK_DELETE_FUNCTION macro for “=delete”
New ITK_NOEXCEPT macro for the “noexcept” keyword
Improved capabilities of itk::ResourceProbe and itk::ResourceProbesCollectorBase
Improve numerical stability in VNL eigen system estimation
itksys_ios:: and itksys_stl:: have been remove (use std::)
ImageIO and TransformIO classes only get registered once in the object factory
  The use of dynamic_cast with itk::TransformTemplate pointers should be avoided. It can fail on Mac OSX and older Linux systems.
  • Filtering Improvements
Generate a FlatStructuringElement from an image
WarpImageFilter support VectorImage’s
ConvertLabelMap supports different LabelMap types
ImageToPathFilter moved from the ITKReview to the ITKPath module
itk::MovingHistogramImageFilter moved to the ITKImageFilterBase module
  • Registration Improvements
Point-set registration with time-varying B-splines
  • Build Improvements
Module dependencies can now be specified as public / private / compile / test
BUILD_EXAMPLES CMake option is now OFF by default
Option to export all library symbols on Windows:
Details: http://www.kitware.com/blog/home/post/939
Expat third party library is now name mangled
Many more modules can be built as shared libraries
KWStyle is automatically built and configured when tests are built
  • Performance Improvements
New MetaProgrammingLibrary namespace (itk::mpl) holds members for metaprogramming for compile-time determination of optimal code paths
  itk::mpl::{TrueType,FalseType}
  itk::mpl::{If,Not,And,Or,Xor}
  itk::mpl::EnableIf
  itk::mpl::IsBaseOf
  itk::mpl::IsConvertible
  itk::mpl::IsNumber
  itk::mpl::IsSame
  itk::mpl::PromoteType
Image::GetPixel performance improvements
Many itk::VariableLengthVector performance improvements
AdaptiveHistogramEqualization uses a moving histogram
WarpImageFilter performance improvements
  • Documentation Improvements
Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples
ITK Software Guide improvements
  How to use Python wrapping
  How to create an ITK module
  Improvements to segmentation examples
  Expanded Canny edge detection example
  Expanded tree container example
ITK Sphinx Examples improvements
  Python wrapping in the ITK superbuild
  Bootstrap-based HTML rendering
  Python versions of examples
  New examples
  • Third Party Library Updates
FFTW updated to latest upstream
Build with recent OpenCV 2 and 3
Build with the latest VTK
PNG update to the latest upstream
KWSys updated to the latest upstream
MINC updated to the latest upstream
SWIG updated to the latest upstream
Third party PNG and MINC are now Git subtrees
  • Style improvements -- ITK gets more stylish with every release!
Private copy constructors and operator= use ITK_DELETE_FUNCTION
  • Improved code coverage -- we are at 84.9%!
  • *Lots* of important bug fixes
Histogram-related outputs may change due to a fix to Histogram interval computation (Change-Id: I2063912edee79422d88125ffd5f7513c31a9e98c)