ITK/Release 4.9: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
(Created page with "New Features --------------------- * Wrapping improvements Python 3 supported Visual Studio 2015 supported C++14 standard supported GCC 6 supported Wrapping builds much...")
 
No edit summary
 
Line 19: Line 19:


  Cuberille
  Cuberille
Insight Journal Article: http://hdl.handle.net/10380/3186
  Insight Journal Article: http://hdl.handle.net/10380/3186
  AnisotropicDiffusionLBR
  AnisotropicDiffusionLBR
Insight Journal Article: http://hdl.handle.net/10380/3505
  Insight Journal Article: http://hdl.handle.net/10380/3505
Web browser reproducibility: http://www.kitware.com/blog/home/post/942
  Web browser reproducibility: http://www.kitware.com/blog/home/post/942


* Core Improvements
* Core Improvements
Line 29: Line 29:
  Details: http://www.kitware.com/blog/home/post/997
  Details: http://www.kitware.com/blog/home/post/997
  New utilities in itk::Math:  
  New utilities in itk::Math:  
AlmostEquals
  AlmostEquals
NotAlmostEquals
  NotAlmostEquals
ExactlyEquals
  ExactlyEquals
NotExactlyEquals
  NotExactlyEquals
  New itk::NumericTraits
  New itk::NumericTraits
IsInteger
  IsInteger
IsSigned
  IsSigned
  Improved C++11 support
  Improved C++11 support
  New ITK_DELETE_FUNCTION macro for “=delete”
  New ITK_DELETE_FUNCTION macro for “=delete”
Line 43: Line 43:
  itksys_ios:: and itksys_stl:: have been remove (use std::)
  itksys_ios:: and itksys_stl:: have been remove (use std::)
  ImageIO and TransformIO classes only get registered once in the object factory
  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.
  The use of dynamic_cast with itk::TransformTemplate pointers should be avoided. It can fail on Mac OSX and older Linux systems.


* Filtering Improvements
* Filtering Improvements
Line 70: Line 70:


  New MetaProgrammingLibrary namespace (itk::mpl) holds members for metaprogramming for compile-time determination of optimal code paths
  New MetaProgrammingLibrary namespace (itk::mpl) holds members for metaprogramming for compile-time determination of optimal code paths
itk::mpl::{TrueType,FalseType}
  itk::mpl::{TrueType,FalseType}
itk::mpl::{If,Not,And,Or,Xor}
  itk::mpl::{If,Not,And,Or,Xor}
itk::mpl::EnableIf
  itk::mpl::EnableIf
itk::mpl::IsBaseOf
  itk::mpl::IsBaseOf
itk::mpl::IsConvertible
  itk::mpl::IsConvertible
itk::mpl::IsNumber
  itk::mpl::IsNumber
itk::mpl::IsSame
  itk::mpl::IsSame
itk::mpl::PromoteType
  itk::mpl::PromoteType
  Image::GetPixel performance improvements
  Image::GetPixel performance improvements
  Many itk::VariableLengthVector performance improvements
  Many itk::VariableLengthVector performance improvements
Line 87: Line 87:
  Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples
  Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples
  ITK Software Guide improvements
  ITK Software Guide improvements
How to use Python wrapping
  How to use Python wrapping
How to create an ITK module
  How to create an ITK module
Improvements to segmentation examples
  Improvements to segmentation examples
Expanded Canny edge detection example
  Expanded Canny edge detection example
Expanded tree container example
  Expanded tree container example
  ITK Sphinx Examples improvements
  ITK Sphinx Examples improvements
Python wrapping in the ITK superbuild
  Python wrapping in the ITK superbuild
Bootstrap-based HTML rendering
  Bootstrap-based HTML rendering
Python versions of examples
  Python versions of examples
New examples
  New examples


* Third Party Library Updates
* Third Party Library Updates

Latest revision as of 21:08, 2 February 2016

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)