ITK/Release 4.12

From KitwarePublic
< ITK
Jump to navigationJump to search

New Features


  • Wrapping Improvements
 - Enable BridgeNumPy by default with Python wrapping
 - Build support for Microsoft Visual C++ Compiler for Python 2.7
 - BridgeNumpy integrates new pairs of functions. GetArrayViewFromImage() and GetImageViewFromArray() return views on the source object given as a parameter to the function. Memory is shared among input and output objects and the source object still manages pixel buffer memory. The existing functions GetArrayFromImage() and GetImageFromArray() perform a deep copy of the source object.
 - Similar NumPy bridge functions have been created for VNL matrices and VNL vectors.
 - Convenience functions imread() and imwrite() have been added to the Python itk namespace. These functions facilitate respectively reading and writing images using ITK without having to specify the input or output image component type. The naming of these functions follows the convention used in several other Python project such as scikit-learn and scipy.
 - Better integration in Jupyter Notebook: addressed tab completion bug for IPython >= 5.0.0, replaced underscore with ‘x’ to name attributes that start with a digit to show attributes when trying to autocomplete in IPython.
 - Wrap itkN4BiasFieldCorrectionImageFilter, NormalVariateGenerator, and PathToImageFilter.
 - Allows calling ImageFileWriter in Python with an ITK filter as input image argument.
 - Build Python wrapping with hidden visibility
  • New Remote Modules
 - Strain
   - Filters to estimate a strain tensor field from a displacement field or a spatial transformation
   - http://hdl.handle.net/10380/3573
  • Core Improvements
 - Enable hidden visibility property with NIFTI and GIFTI static libraries
 - Fix clearing build tree error
 - Add examples and doc build flag support for external modules
 - Support for recent Clang in FreeBSD
 - Improved support for Visual Studio 2017
 - Prefer std::atomic over compiler specific implementation
  • Filtering Improvements
 - Add OrientedBoudingBox attributes to ShapeLabelMap
 - Prefer std::atomic over compiler specific implementation
 - Skip generating export headers if module does not contain a target
 - Introduce ITK_WRAP_PYTHON_LEGACY to exclude older Python package layout
 - Move morphological watersheds out of ITKReview
 - Add SetReferenceImage to GenerateImageSource
 - Reduce memory usage of itkImagePCAShapeModelEstimator
 - Improvement of itkHistogram in order to make it faster
 - Better compatibility with OpenCVImageBridge
  • IO Improvements
 - Improvement of palette image support for PNG, TIFF and BMP
  • Documentation Improvements
 - Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples
  • Remote Module Updates
 - BridgeNumPy updated to latest upstream (04.28.2017)
  • Third Party Library Updates
 - Update SWIG version to 3.0.12
 - Update PCRE version to 8.40
 - MetaIO updated to latest upstream (04.08.2017)
 - KWSys updated to latest upstream (04.20.2017)
 - KWIML updated to latest upstream (02.27.2017)
 - VNL updated to latest upstream (02.01.2017)
  • Improved Code Coverage -- we are at 85.7%
 - Jon Haitz-Legarreta's extensive code coverage improvements