ITK 5.1 Release Candidate 1 available for testing

We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 1 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.

ITK 5.1 is a feature release that improves and extends the major ITK 5.0 release. ITK 5.1 includes a NumPy filter interface, clang-format enforced coding style, enhanced modern C++ range support, and much more.

Downloads

Python Packages

Install ITK pre-release binary Python packages with:

pip install --pre itk

Library Sources

Testing Data

Unpack optional testing data in the same directory where the Library Source is unpacked.

Checksums

Features

RTK sphere reconstruction

Tomographic sphere reconstruction with the RTK remote module. Reproduce this result by installing the RTK Python packages, pip install itk-rtk, and run the FirstReconstruction.py example.

Pass NumPy Array’s to ITK Image Filters

The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy array’s, i.e. numpy.ndarray. If a ndarray is passed as an input, a ndarray is returned as an output.

For example,

smoothed = itk.median_image_filter(array, radius=2)

Previously, explicit conversion to / from an itk.Image was required with itk.array_from_image and itk.image_from_array.

We can now also convert an itk.Image to a numpy.ndarray with the standard np.asarray call.

import numpy as np
import itk

image = itk.imread('/path/to/image.tif')
array = np.asarray(image)

Python 3 Only

ITK 5.1 will be the first Python 3-only release. Consistent with most scientific Python packages and CPython’s 2020 drop in support, Python 2 support and binaries are no longer be available.

Python Package 64-bit Float Support

In addition to the many other pixel types supported, the itk binary Python packages now include support for the double pixel type, i.e. 64-bit IEEE floating-point pixels. This improves compatibility with scikit-image, which uses this pixel type as a default.

clang-format Enforced C++ Coding Style

ITK has adopted a .clang-format coding style configuration file so a consistent coding style can automatically be applied to C++ code with the clang-format binary. A consistent coding style is critical for readability and collaborative development.

clang-format has been applied to the entire codebase. The Whitesmiths style of brace indentation, previously part of the ITK Coding Style Guidelines, is not supported by clang-format, so it has been replaced by a brace style consistent with VTK’s current style.

A Git commit hook will automatically apply clang-format to changed C++ code.

Enhanced Modern C++ Range Support

In addition to the ImageBufferRange, ShapedImageNeighborhoodRange, and IndexRange classes introduced in ITK 5.0, ITK 5.1 adds an ImageRegionRange. These range classes conform to the Standard C++ Iterator requirements so they can be used in range-based for loop’s and passed to Standard C++ algorithms. Range-based for loops provide an elegant syntax for iteration. Moreover, they are often more performant than other iteration classes available.

For example, to add 42 to every pixel:

ImageBufferRange<ImageType> range{ *image };
 
for (auto&& pixel : range)
{
  pixel = pixel + 42;
}

In ITK 5.1, adoption of the range classes was extended across the toolkit, which demonstrates their use and improves toolkit performance.

Point Set Registration Parallelism

ITK provides a powerful framework for point-set registration, offering information-theoretic similarity metrics, labeled point-set metrics, and spatial transformation models that range from affine to b-spline to dense displacement fields. ITK 5.1 features enhanced parallelism in point-set metric computation, leveraging the native thread-pool and Threading Building Blocks (TBB) enhancements in ITK 5.

SpatialObject’s and Strongly-Typed enum’s

Improvements and refinements were made to the ITK 5 itk::SpatialObject refactoring, and modern C++ interface. In particular, ITK 5.1 transitions enumerations to strongly-typed enumerations, which is flagged by modern compilers due to improved scoping and implicit conversions to int. Enum names are now follow a consistent <Description>Enum naming conversion, which results in a Python interface:

<Description>Enum_<EnumValue1>
<Description>Enum_<EnumValue2>
[...]

DICOM Support

ITK’s broadly adopted medical image support is hardened thanks to 20 years of testing and support from major open source DICOM library maintainers. In this release, many members of the community collaborated to further enhance ITK’s DICOM support for corner cases related to modality, pixel types, and vendor variations.

Remote Module Updates

Many remote modules were updated: AnalyzeObjectMapIO, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, PhaseSymmetry, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, and TwoProjectionRegistration. Their updates are included in the detailed changelog below.

Congratulations

Congratulations and thank you to everyone who contributed to this release. Of the 50 authors, we would like to specially recognize the 20 new contributors: Mathew J. Seng, Zahil Shanis, yjcchen0913, PA Rodesch, Aurélien Coussat, yinkaola, Bryce Besler, Pierre Chatelier, Rinat Mukhometzianov, Ramraj Chandradevan, Hina Shah, Gordian Kabelitz, Genevieve Buckley, Aaron Bray, nslay, Antoine Robert, James Butler, Matthew Rocklin, Gina Helfrich, and Neslisah Torosdagli.

What’s Next

As we work towards the next release candidate, we will improve strongly typed enum adoption in the toolkit, consistent with the soft commitment to backwards compatibility to address any potential API or architectual issues until the 5.1.0 release. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.

Enjoy ITK!

ITK Changes Since v5.0.0

Aurélien Coussat (1):
      ENH: wrap IterationReporter

Bradley Lowekamp (63):
      BUG: Use ProcessObject GetInput to obtain base pointer
      BUG: Fix ProcessObject::RemoveOutput for null objects.
      COMP: Address missing fftw include in CurvatureRegistrationFilter
      BUG: Fix ProcessObject::RemoveOutput for null objects.
      BUG: Add casting for vector pixel types
      STYLE: Use CTEST_TEST_TIMEOUT
      ENH: Add testing for CastImageFilter for more type conversions
      BUG: Restore support for Cast between explicitly cast-ed pixel type
      BUG: Use ProcessObject GetInput to obtain base pointer
      ENH: Add testing for CastImageFilter for more type conversions
      BUG: Restore support for Cast between explicitly cast-ed pixel type
      BUG: Add DataObject::New method
      BUG: Install FFTW headers in same location as ITK
      Revert "BUG: InterpolateImageFunction::GetRadius hidden in ITKV4_COMPATIBILITY"
      BUG: Preserve Interpolate GetRadius behavior with ITKv4Compatibility
      Revert "COMP: forgotten class for ITKV4_COMPATIBILITY in 2aae174"
      BUG: HDF5 is clobbering ctest TIMEOUT variables
      COMP: Fix not marked 'override' for ImageSink destructor
      BUG: Use enable_if with SFINAE to dispatch
      ENH: Add Vector constructor from C arrays with cast
      COMP: Work around uninitialized value warnings
      ENH: Update ITKv4 registration example to use resample over warp
      BUG: Specify specific CircleCI docker image with platform
      COMP: Address compilation warning with aggregate initializer
      BUG: Specify specific CircleCI docker image with platform
      ENH: Adding VS2019 v142, VS2017 v140 Azure Pipelines on merge
      DOC: Tweak internal documentation in SliceImageFilter
      BUG: Address bug with small size in output of SliceImageFilter
      ENH: Add more test cases for the SliceImageFilter
      COMP: Address internal compiler error on MSVC 19.0.24234.1 (v140)
      ENH: Add check expected input in HistogramMatchingImageFilter
      COMP: Add missing enum type_name from prior enum declaration style
      ENH: Check physical location consistency after PermuteImageFilter
      BUG: Address bug with small size in output of SliceImageFilter
      COMP: Address internal compiler error on MSVC 19.0.24234.1 (v140)
      COMP: Add missing include for VectorLinearInterpolateImageFunction
      ENH: Move ImageToHistogram test to Statistics module
      BUG: Fix outside buffered region exception in ImageToHistogramFilter
      BUG: Fix ImageHistogram printing null inputs
      ENH: Add basic object testing methods for ImageToHistogramFilter
      ENH: Add testing for ImageToHistogram with AutoMinimumMaximum
      ENH: Add missing boolean setter methods for AutoMinimumMaximum
      BUG: Add valgrind suppression for zlib slide_hash
      ENH: Add testing for OBB vertices and image with direction
      BUG: Correct ShapeLabelObjectes OBB vertices
      DOC: Update documentation for OBB vertices method
      BUG: Add missing suppression name for zlib
      BUG: Explicitly initialize CovariantVector in VectorImageTest
      DOC: Adding migration guide for "vector" filters
      BUG: Use default CircleCI resources
      DOC: Grammar fixes in vector filter section of migration guide
      ENH: Mark deprecated GDCM API as ITK legacy remove
      ENH: Adding new test for GDCM ImageIO for different pixel types
      BUG: Fix GDCMImageIO define order
      BUG: Address buffer overflow with deprecated GDCM1 interface
      BUG: Don't use InsertElement which modifies MTime
      ENH: Update CircleCI docker image to python:3.7-stretch
      ENH: Adding Valgrind suppression file for CentOS 7 system
      BUG: Remove noisy cerr output when magic number fails
      COMP: Address deprecated implicit vnl matrix conversions
      BUG: Remove tiff from supported extensions for LSMImageIO
      BUG: Wait for all threads when abort or exception occurs
      BUG: Fix leaky dynamically allocated raw point

Csaba Pinter (2):
      BUG: Fix loading of DICOM files with no preamble
      ENH: Add test for DICOM without preamble for DCMTK and GDCM

Dave Chen (1):
      Type fixing (#1233)

Davis Vigneault (1):
      BUG: Make BuildCellLinks method const

Dženan Zukić (72):
      BUG: number of work units was greater than 1 even for 1 thread
      BUG: fix a crash with ITK_DEFAULT_MAX_THREADS greater than 250
      BUG: resample filter no longer triggers unnecessary exception
      COMP: change export specification to template for un-specialized method
      COMP: forgotten class for ITKV4_COMPATIBILITY in 2aae174
      ENH: use double-conversion's CMake targets
      COMP: fix warning about missing override in CastImageFilter
      DOC: wrong class name for PlatformMultiThreader
      COMP: get rid of MSVC's warning 4661
      ENH: enable GaussianInterpolateImageFunction to work with streaming
      STYLE: reduce space in ivar declarations
      STYLE: ITK indentation style in test
      STYLE: invert the name and internal logic of waiting for threads
      BUG: ThreadPool::DoNotWaitForThreads did not work properly
      STYLE: Add ITK prefix to testing macros in release branch
      DOC: invocation of AddWork uses -> because instance is always a pointer
      ENH: updating remote modules
      ENH: PoolMultiThreader uses one less thread
      ENH: documenting supported compilers
      ENH: updating remote modules
      STYLE: more consistent code formatting in test driver
      BUG: offset was not updated after changing Euler angle order (ZYX)
      Fix broken link in Data.md
      ENH: support RGB image in windowed sinc interpolation
      ENH: support RGB image in windowed sinc interpolation
      ENH: updating remote modules
      ENH: back-porting #1165 to support Visual Studio 2019
      ENH: updating remote modules
      COMP: fixed enum name error when legacy is OFF and ITK_USE_GPU is ON
      ENH: removing deprecated Python functionality: imp
      ENH: removing deprecated Python functionality: sys.version_info 2/3
      ENH: removing deprecated Python functionality: import print_function
      ENH: update remote modules to comply with new enum class style
      ENH: update Visual Studio debug visualizers
      DOC: spelling correction in BSpline documentation
      COMP: update VTKTetrahedralMeshReader to enum class
      ENH: avoid repeated allocation of logSharpenedImage
      ENH: publicly expose method ReconstructBiasField
      BUG: wrong number of parameters was checked in itkTestDriverInclude
      ENH: update OpenCV bridge
      ENH: update tests' include files for OpenCV 4
      ENH: add IsPositive() and friends to RGB's and RGBA's NumericTraits
      ENH: updating remote modules
      ENH: adding BoneEnhancement remote module
      ENH: updating clang-format bash script to allow versions 8.0.x
      STYLE: running clang-format
      ENH: update PhaseSymmetry remote module
      ENH: disable test whose failure is not reproducible
      COMP: compile the test with legacy disabled
      BUG: fix null deref in 'itkTreeContainerTest'. Closes #1358.
      ENH: remove ivar m_End which is always equal to nullptr
      ENH: adding JPEGBaseline1 DICOM reading test
      ENH: update remote modules Montage and Examples
      ENH: various DICOM compliance tests
      ENH: DICOM compliance test for JPEG2000 YBR-RCT encoding
      ENH: add regression test for conversion of MONOCHROME1 into MONOCHROME2
      ENH: update KWStyle to fix potential buffer overflow
      ENH: Updating remote modules
      ENH: updating Cuberille and Montage remote modules
      ENH: wrap StreamingImageFilter for all the dimensions
      COMP: fixing a couple of VNL related linking errors
      ENH: improving exception handling in PoolMultiThreader
      ENH: stop this thread's work on first exception
      ENH: update BoneEnhancement remote module
      ENH: update remote modules
      ENH: support testing multi-frame DICOMs (3D images)
      BUG: avoid undefined behavior (dereferencing nullptr). Closes #1358
      STYLE: Visual Studio static analysis fixes in MultiThreaders
      STYLE: produce result directly in 64-bit precision (avoid a cast)
      ENH: optionally write intermediate image in test
      ENH: DiscreteGaussian filter is compatible with SmoothingRecursive one
      ENH: update ITKExamples remote module version

Eigen Upstream (1):
      Eigen3 2019-10-24 (5d8ba9ed)

Francois Budin (4):
      BUG: ImageBase regions and ImageRegion properties are returned as reference
      DOC: Add ITK 5.0 release notes
      BUG: m_NumberOfPointPixels was set equal to m_NumberOfPoints
      ENH: Adds swig include directory to command line

GDCM Upstream (5):
      GDCM 2019-05-22 (cc5358a1)
      GDCM 2019-10-08 (e470b82d)
      GDCM 2019-10-23 (fcacc159)
      GDCM 2019-10-24 (4b164b45)
      GDCM 2019-11-04 (d11271f8)

Genevieve Buckley (1):
      BUG: All exceptions must be derived from python's BaseException class

Gina Helfrich (1):
      Create FUNDING.yml

Hans J. Johnson (75):
      ENH: Update SphinxExamples to lastest master branch
      COMP: Add attribute for large doxygen config file.
      DOC: Remove ITK_FUTURE_LEGACY_REMOVE from documentation
      ENH: Disable remote module processing when creating doxygen.
      STYLE: Prevent double initialization
      DOC: Purge outdated media wiki WikiExamples
      BUG: Missed propagation of library dependancies
      ENH: Deprecate Neuralnetwork module
      Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4"
      STYLE: Remove deprecated support for ITK_WRAP_PYTHON_LEGACY
      DOC: Only warn when Module_NeuralNetworks is selected
      ENH: Use consistent project name with module name
      COMP: Fix clang-format nesting of empty macros
      DOC: Deprecate https://itk.org/Wiki/ITK/Examples content.
      DOC: Provide doxygen links for sphinx
      DOC: Improve the documentation clarity for NormalizeImage.
      DOC: Moved wiki examples to sphinx examples part2
      ENH: itkObjectToObjectOptimizerBase Must be explicitly instantiated
      COMP: Terminate conditional doxygen sections
      DOC: Set class name for StreamingProcessObject doxygen
      ENH: Update the DoxygenLayout.xml file
      ENH: Update template files for Doxygen.
      BUG: Patch submission scripts conflict with doxygen
      COMP: Resolve 1000's of alias warnings in 1.8.15
      DOC: Moved wiki pages to sphinx examples
      BUG: Flawed logic for itkExceptionObject.h guards
      STYLE: Use override statements for C++11
      STYLE: Prefer c++11 'using' to 'typedef'
      COMP: Another work around uninitialized value warnings
      ENH: Prefer c++11 'using' to 'typedef' for structs
      COMP: Update AnalyzeObjectMapIO remote for ITKv5.0
      COMP: Suppress warning about file that is too large
      STYLE: Use = default for trivial constructors
      STYLE: For loops can have a space before ;
      STYLE: Suppress longstanding kwstyle violations
      STYLE: Use templated function over macro
      ENH: Add LONGLONG & ULONGLONG types
      STYLE: Remove unused protected ivar m_MyProduct
      COMP: Isolate RAWIO non-templated code in cxx file
      PERF: Byteswap only when request != system byte order
      STYLE: Suppress longstanding kwstyle violations
      STYLE: Define the .clang-format config file
      ENH: Add script to assist with running clang-format on topic-branches
      ENH: Update C++/C attributes for itk style conformance.
      ENH: Add copy of git-clang-format from llvm binaries
      ENH: Add cmake configuration for clang-format
      ENH: Setup clang-format hooks for pre-commit-style
      DOC: Add missing line separator for ingroup ITKCommon
      DOC: Fix spelling typo VeriyInput -> VerifyInput
      ENH: Refactor to allow ReferenceHistogram instead of ReferenceImage
      COMP: Remove One Definition Rule conflict
      COMP: Fix missing type specialization for `unsigned long long int`
      STYLE: Convert 'enum' to 'enum class' objects with print enum function
      ENH: Workaround MSVC preprocessor name conflict
      STYLE: Prefer enum class definitions internally
      STYLE: Prefer consistent capitalization of Colormap
      ENH: Ignore wrapping warnings for `enum class`
      BUG: Missing ImageAdapter function signatures
      COMP: Change KWStyle to allow reformat to pass.
      STYLE: No-space inside <> () []
      STYLE: Change the packing of parameters.
      STYLE: Use shorter column length for Software Guide.
      STYLE: End of history preceeding clang-format-8.0 style
      STYLE: Fix spelling error foramt -> format
      ENH: Prefer explicit casting over implicit casting for vxl
      STYLE: Only python > 3.5 is supported
      BUG: castxml fails with C++11 'enum class'
      ENH: Clarify the use and interaction of LEGACY Reporting
      ENH: Run larger memory tests if supported
      PERF: Provide hints regarding test timing
      BUG: Warning macros for ITK_LEGACY_SILENT are wrong
      ENH: Improve diagnostic warnings for ResampleImage misuse
      DOC: More clearly describe foreground/background
      ENH: Avoid alias names for [Fore|Back]groundValue
      ENH: Shadowed typedef warnings removed

ITK Maintainer (1):
      STYLE: Enforce ITK style defined by .clang-format

James Butler (1):
      COMP: Add cmake_minimum_required to ITKNumericsFEM

Jean-Christophe Fillion-Robin (3):
      ENH: Support building ITKNumericsFEM as external module
      COMP: Disable CMake user registry lookup by find_package.
      COMP: Support disabling CMake user registry lookup for CMake >= 3.16

Jon Haitz Legarreta Gorroño (4):
      STYLE: Fix indentation in bash script
      ENH: Add script to update ITK testing macros names
      BUG: Fix remotes maintenance scripts
      BUG: Fix wrong variable names

Marian Klymov (3):
      BUG: BMP can't be read without proper extension
      BUG: Workaround for segfault in itkStatisticsAlgorithmTest (v140)
      STYLE: Add additional braces around initialization of subobject

Mathieu Malaterre (6):
      ENH: Remove Utilities/C99 from GDCM sync script
      STYLE: Teach git about GDCM oversize file
      BUG: Always convert YBR_FULL to RGB
      ENH: Decompress the Pixel Data buffer when needed
      ENH: Make sure to check the return value of filters
      ENH: Properly convert MONOCHROME1 into MONOCHROME2

Matt McCormick (108):
      ENH: Bump the ITK CMake version to 5.1.0
      ENH: New content links for ITK 5.0.0
      STYLE: DeformableRegistration2 line length warnings
      COMP: SpatialObjectsHierarchy Software Guide newline
      ENH: Bump CI ExternalDataVersion to 5.0.0
      DOC: Release generation updates for ITK 5.0.0
      DOC: Add a note about updating conda-forge for post wheels
      ENH: Update Doxygen to 1.8.15
      BUG: Add test/CMakeLists.txt stub to NumPy bridge
      COMP: Provide NumericTraits<complex<T>>::ZeroValue() definition
      COMP: Backwards compatibility testing macros without ITK_ prefix
      BUG: Get latest tag in UpdateRequiredITKVersionInRemoteModules.sh
      BUG: Filename vars in UpdateRequiredITKVersionInRemoteModules.sh
      ENH: UpdateRequiredITKVersionInRemoteModules bump patch version
      ENH: UpdateRequiredITKVersionInRemoteModules supports ITKPythonGitTag
      BUG: Do not require PyBUF_WRITABLE in GetArrayViewFromImage
      DOC: Update supported Python versions warning
      ENH: Require Python 3.5 or newer on all platforms
      BUG: ITKFixedPointInverseDisplacementField wrapping test config update
      BUG: Remove VectorExpandImageFilter wrapping
      BUG: Add PEP 366 __package__ support to ITKLazyModule
      COMP: Remove HasNumericTraitsCheck from ExpandImageFilter
      ENH: Wrap ExpandImageFilter with vector types
      BUG: Release the Python Global Interpreter Lock (GIL) during execution
      STYLE: Apply ITK Style Guidelines to itkPyCommand.cxx
      BUG: itk::PyCommand ensures the GIL state
      BUG: Support pickling LazyITKModule with cloudpickle
      BUG: Add Pipeline name to Azure configuration
      DOC: Update Azure Pipelines badge URL's
      BUG: Add wrapping for TransformMeshFilter
      ENH: Bump itkVersion.cmake for 5.0.1
      ENH: CI testing uses Python 3
      BUG: itkPyBufferTest: use bytes for Python 3 np.frombuffer
      BUG: Remove NumberOfComponents check in _GetImageViewFromArray
      BUG: Remove NumberOfComponents check in _GetImageViewFromArray
      DOC: Update ITK.Linux.Python and ITK.Coverage README badges
      BUG: Update SkullStrip module to address Doxygen configuration
      BUG: Use ITK_BUILD_DOCUMENTATION to enable Doxygen builds
      COMP: Update CastXML to 2019-07-15 master
      DOC: Minor release documentation updates
      ENH: Support numpy.asarray for itk.Image
      ENH: Directly set an itk.ImageBase Direction with a NumPy Array
      BUG: Ensure NumPy array is C-contiguous with matrix conversion
      BUG: Enable ITKBridgeNumPy for Windows CI builds
      DOC: AdaptiveHistogramEqualizationImageFilter default radius
      BUG: Do not run itkPyBufferMemoryLeakTest on Windows
      BUG: Remove Windows Python 2.7 hypot workaround
      ENH: Support NumPy array-like inputs to image filters
      DOC: Add Eigen license to NOTICE file
      ENH: Download clang-format 8.0.1 executable
      ENH: Add wrapping for LabelImageGaussianInterpolateImageFunction
      DOC: 'weight' spelling in LabelImageGaussianInterpolateImageFunction
      BUG: Add NumPy conversion for itk.Image[itk.Vector[itk.D,dim]]
      BUG: Wrap WindowedSincInterpolateImageFunction SmartPointer
      BUG: Do not apply style pre-commit hooks to ThirdParty code
      BUG: Do not download clang-format with ITK_FORBID_DOWNLOADS enabled
      BUG: Add missing KWStyle hook configuration
      ENH: Update clang-format binary path configuration
      BUG: Fix have_KWStyle detection when running clang-format hook
      BUG: Improvements to pre-commit-style hook for clang-format
      ENH: Check for required clang-format version in style hook
      BUG: Use castxml binary compatible with CentOS 5
      BUG: Use https for GitSetup hooks checkout
      DOC: Consistent naming for 'Insight Toolkit (ITK)'
      BUG: Update IsotropicWavelets module for Doxygen build
      DOC: Extend Doxygen main page toolkit description
      DOC: Update Examples/README.md
      BUG: Implicit Python filter type selection uses second template param
      BUG: Remove WrapITK external project initialization
      STYLE: More Pythonic style in itkExtra's test
      ENH: Add itk.meshread
      ENH: Add itk.meshwrite
      ENH: Add itk.__version__
      DOC: Update PhaseSymmetry for Doxygen configuration
      DOC: Add note on ISC board approval of Apache 2.0 license
      BUG: Set the __spec__ attribute on the itk package
      DOC: Add HDF5 copyright to NOTICE file
      DOC: Note that KWStyle is built when ITK is built
      BUG: Only require clang-format major.minor version in hook check
      DOC: Note that clang-format is downloaded when ITK is built
      ENH: Update CI ExternalDataVersion to 5.0.1
      ENH: Add new content links
      BUG: Wrap new enum classes
      DOC: Add release download links cookiecutter
      ENH: Wrap ConnectedRegionsMeshFilter
      BUG: Add missing itkTypeMacro to ConnectedRegionsMeshFilter
      ENH: Wrap KdTree classes
      ENH: Enable building ITKGPUCommon externally
      ENH: Enable building ITKGPUFiniteDifference externally
      COMP: Define CL_TARGET_OPENCL_VERSION
      ENH: Add GPUCommon wrapping
      ENH: Add GPUFiniteDifference wrapping
      ENH: Add wrapping for GPUImageFilterBase
      ENH: Enable building ITKGPUImageFilterBase externally
      ENH: Wrap GPUAnisotropicSmoothing module
      ENH: Add ITKGPUSmoothing Python wrapping
      STYLE: Avoid repeated sizeof calles in GPUKernelManager SetKernelArg
      COMP: Update SWIG to 4.0.1 for Windows build
      ENH: Enable ITK_LEGACY_REMOVE when wrapping is enabled
      COMP: Do not avoid legacy enum definitions when wrapping
      BUG: Fix wrapping for TransformBaseTemplate class
      BUG: Use itk.array_from_image for __array__
      ENH: Gracefully convert non-contiguous NumPy arrays
      BUG: ITK_LEGACY_REMOVE cmake_dependent_option logic
      ENH: Consistent use of typed enums, naming
      COMP: Use SWIG 3.0.12 on Unix
      BUG: Install itkBase.py
      BUG: TransformBaseTemplate wrapping warning

Matthew Rocklin (1):
      BUG: Support Numpy inputs in keywords that include "image"

MetaIO Maintainers (4):
      MetaIO 2019-05-22 (5f90075b)
      MetaIO 2019-09-16 (7b46b9a7)
      MetaIO 2019-09-16 (7b46b9a7)
      MetaIO 2019-10-02 (177df110)

Mihail Isakov (4):
      ENH: added missing symbols to JPEG mangling header
      BUG: GDCMIO crash if bits allocated 16, stored 8
      STYLE: remove unused code from 168c457 in GDCM IO
      ENH: Better reading of Y'CbCR DICOM files

Neslisah Torosdagli (1):
      BUG: Regression in PolygonSpatialObject::IsInsideInObjectSpace #1082

Niels Dekker (63):
      PERF: Replace mutex by atomic in MersenneTwisterRandomVariateGenerator
      STYLE: Remove two duplicated #include <mutex> directives
      STYLE: Add const to MersenneTwisterRandomVariateGenerator::GetSeed()
      ENH: GTest MersenneTwisterRandomVariateGenerator::GetIntegerVariate()
      STYLE: Use image->TransformPhysicalPointToIndex(point), returning index
      ENH: ImageBase Transform-Vector single argument overloads more generic
      STYLE: Use image->TransformVectorToVector(gradient), returning gradient
      STYLE: Vector, CovariantVector(value) call base FixedArray(value)
      STYLE: FastMarching replace FixedArray Begin(), End() by range-based for
      STYLE: Replace FixedArray Begin(), End() by cbegin(), cend()
      STYLE: itkFixedArray.hxx using std::equal, and C++11 fill_n and copy_n
      STYLE: Add const to SetStartingShrinkFactors parameter
      STYLE: Replace std::copy(input, input + n, output) by C++11 std::copy_n
      ENH: Add ImageRegionRange, to iterate over the pixels of an image region
      COMP: No longer disable obsolete MSVC warning C4231 on 'extern' template
      STYLE: Order #pragma warning directives in itkWin32Header.h
      COMP: No longer disable obsolete MSVC warning C4231 in VNL/vxl/vcl
      BUG: Fix possible loss of data on type conversion
      COMP: QuadEdgeMesh::SetCell avoid assignment in conditional expression
      COMP: Remove (char) casts of hexadecimal int literals from UnicodeIOTest
      COMP: ImageRegionRangeGTest issue #1147 Unused function template warning
      COMP: Fix loss of data ProcessObject GetNumberOfValidRequiredInputs()
      STYLE: Remove reinterpret_cast's from void to non-void pointer
      STYLE: Use C++11 nullptr in itkDynamicCastInDebugMode
      STYLE: Use nullptr for isSpecialCoordinatesImage in ResampleImageFilter
      STYLE: Remove redundant code from operator<< for enum's, using lambda's
      STYLE: Replace 0 by nullptr when appropriate
      ENH: Add data() member functions to NeighborhoodAllocator
      ENH: Add unit tests for NeighborhoodAllocator Allocate and Deallocate
      STYLE: Modernize NeighborhoodAllocator data management, using unique_ptr
      STYLE: For a const image, iterator and const_iterator should be the same
      PERF: Use ShapedImageNeighborhoodRange in ConfidenceConnectedImageFilter
      PERF: Use ShapedImageNeighborhoodRange in SumOfSquaresImageFunction
      PERF: Use ImageBufferRange in ImageKernelOperator GenerateCoefficients()
      PERF: Use IndexRange in BSplineInterpolationWeightFunction constructor
      ENH: Add GoogleTest for SumOfSquaresImageFunction
      PERF: Call FillBuffer in watershed Segmenter::InitializeBoundary()
      PERF: Use ShapedImageNeighborhoodRange in MeanImageFunction
      PERF: Use ImageBufferRange in Testing::StretchIntensityImageFilter
      PERF: Use ShapedImageNeighborhoodRange in MedianImageFunction
      ENH: Add BufferedImageNeighborhoodPixelAccessPolicy for faster access
      PERF: Use ShapedImageNeighborhoodRange in MeanImageFilter
      ENH: Add GoogleTests for MeanImageFilter and MedianImageFilter
      ENH: Separate boundary/non-boundary regions ImageBoundaryFacesCalculator
      COMP: Fix GTest gcc4.6, Mac10.10 error VNumberOfExpectedPixels deduction
      PERF: Use ShapedImageNeighborhoodRange in MedianImageFilter
      COMP: Range-based for-loops on BoundaryFaces should use reference
      STYLE: Remove repeated GetBufferedRegion() calls from ImageBoundaryFaces
      BUG: Fix IndexRange for itk::Size that has both zero's and non-zero's
      STYLE: MeanImageFilter use vector<Offset>, range-based-for on IndexRange
      ENH: Add static member function itk::Index::Filled(IndexValueType)
      STYLE: Fix small inconsistency between IndexRange constructors
      STYLE: Remove run-time estimation of operator radius in gradient filters
      STYLE: Simplify Neighborhood::ComputeNeighborhoodStrideTable()
      STYLE: C++ Rule of Zero for Neighborhood Operators, support nothrow move
      STYLE: Move #include "itk_H5Cpp.h" from itkHDF5TransformIO.h to cxx file
      PERF: Do not allocate buffer in HDF5TransformIOTemplate::WriteParameters
      ENH: Allow copy and noexcept move of BackwardDifferenceOperator objects
      STYLE: Replace macro's in PoolMultiThreader by ExceptionHandling class
      PERF: Do not allocate buffer in HDF5ImageIO WriteVector and ReadVector
      ENH: Add UnsignedPower(base, exp) and UnsignedProduct(a, b) to itk::Math
      STYLE: Improve ImageIORegion special member functions, move-semantics
      COMP: Workaround Clang 3.8 -Wundefined-inline warning Math UnsignedPower

Pablo Hernandez-Cerdan (2):
      BUG: Fix COMPILE_DEFINITIONS of castxml
      COMP: Update Eigen3 to top of branch 3.3

Pierre Chatelier (4):
      ENH: MultiResolutionPDEDeformableRegistration supports more RegistrationFilter
      BUG: more template parameters
      STYLE: enforce ITK style defined by clang-format
      BUG: fix template parameters

Rinat Mukhometzianov (3):
      COMP: MSVC AVX flag fix
      COMP: Fix SSE for MSVC x86
      COMP: Replace legacy ITK_Check...Flag.cmake with check_..._flag cmake function

Samuel Gerber (5):
      PERF: Remove Temporary Variable in GetMeasurementVector
      ENH: Add Multithreading to PointSetToPointSetMetricv4
      Revert "Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4""
      BUG: Fix PointSetToPointSetMetric Thread Safety
      BUG: Fix CompositeTransform ThreadSafety

Sean McBride (7):
      COMP: Fixed -Wshadow warnings by renaming method parameter
      COMP: Fixed the only -Wmissing-braces warning
      COMP: Removed check for old __sync builtins, since they're no longer used
      BUG: integer division by zero is undefined behaviour, no point in testing it
      COMP: Remove workarounds for old MS compilers
      COMP: fixed compilation with AppleClang 7 and 8.
      BUG: Fixed signed overflow in float ULP comparisons

Simon Rit (4):
      BUG: test for AVX compatibility to set MSVC optimization flags
      BUG: sign memory probe to detect freed memory
      BUG: origin was not accounted for correctly in RayCastInterpolateImageFunction
      ENH: use RTK v2.1.0 (remote module)

Stephen Aylward (21):
      ENH: Updated Spatial Object tex to match ITKv5
      BUG: Fixed spelling mistakes and use of plural member functions
      BUG: Fixed spelling mistakes and use of plural member functions
      BUG: Fix grammar and naming mistakes in SpatialObject documentation
      DOC: Fixed expected output of examples and documentation
      BUG: Fix grammar and naming mistakes in SpatialObject documentation
      DOC: Fixed expected output of examples and documentation
      BUG: Use AddPoint() for PointBasedSpatialObjects to set SO
      ENH: Replace ExceptionObjects with itkExceptionMacro.
      ENH: Converted TubeSpatialObject ComputeTangentsAndNormals to frenet
      BUG: Resolve corner case bug in ComputeTangentsAndNormals in TubeSO
      ENH: Improved IsInside computation (speed and accuracy) of tube
      ENH: Updating TubeSO test to match assumption that default is EndRounded
      BUG: operator= defined in [tube|*]SpatialObjectPoint incomplete
      BUG: Fixes bugs in SpatialObject to MetaIO conversion
      ENH: Only create extra SO group on read if needed.
      BUG: Duplicate typedef declarations in itkMetaSceneConverter
      COMP: Update MinimalPathExtraction to remove warnings
      BUG: MetaIO format for spatial objects updated to use elementspacing
      COMP: Remove debugging cout statements from itkMetaVesselConverter
      BUG: Missing typename keyword for variable declarations

Steve Pieper (1):
      DOC: ITK5 SpatialObject Scene to Group change

VXL Maintainers (4):
      VNL 2019-08-15 (7cc97a62)
      VNL 2019-11-18 (13735a37)
      VNL 2019-11-20 (3d5fbcdf)
      VNL 2019-11-24 (5f5d5dc3)

Vladimir S. FONOV (9):
      ENH: included new file in libminc MODULE
      MINC 2019-10-03 (592dd487)
      BUG: fixed composite transform writing to .xfm
      ENH: Restored behaviour of depricated Analyze reader w.r.t orientation code
      COMP: Fixing autodeduction of type for old clang compiler
      COMP: Fixed itkWarningMacro and itkDebugMacro to confirm to PRE10-C
      ENH: Added code to detect non-uniform sampling in ImageSeriesReader
      ENH: Preserving information about auto-flipped negative steps in metadata
      ENH: added metadata flag to contain maximum deviation in series reader

Yann Le Poul (5):
      BUG: 256 colors of tiff palette were read, only correct for 8bit images
      ENH: Palette image write support for TIFF and PNG. (#1219)
      BUG: Wrong component type for non supported tiff with USHORT palette
      BUG: solve memory leak when allocating png palette for writing
      COMP: remove old style casting and use correct integer type if possible

Ziv Yaniv (2):
      DOC: Correcting some grammer and updating the toolkit name. (#980)
      ENH: Adding support for writing aux_file in Nifti.

maekclena (11):
      STYLE: Add ITK prefix to testing macros
      BUG: Fix BSplineGradient configuration
      ENH: Mark VectorExpandImageFilter as deprecated
      ENH: Deprecate VectorCentralDifferenceImageFilter
      ENH: Remove VectorExpandImageFilter when ITK_LEGACY_REMOVE is on
      BUG: add required method for Pickling
      BUG: Fix GaussianInterpolateImageFunction with streaming
      BUG: Avoid buffer overwriting in DCMTKImageIO
      ENH: Disable itkDCMTKImageIOMultiFrameImageTest
      BUG: Mitigate overflow in DCMTKImageIO::Read
      BUG: Re-implement is_static_castable to be compatible with gcc 8 (#1227)

yjcchen0913 (1):
      BUG: Ensure strict weak ordering in HessianToObjectnessMeasure's sort

ITK Examples Changes Since v5.0.0

Aaron Bray (1):
      BUG: Move error handling exit to correct location

Bradley Lowekamp (1):
      BUG: Relax adaptive histogram example with an intensity tolerance 1

Dženan Zukić (8):
      ENH: update the super-build tag to ITKv5.0.0
      ENH: Updating baselines for SegmentWithWatershedImageFilter
      ENH: updating baselines for AdaptiveHistogramEqualizationImageFilter
      COMP: fixing compile error
      BUG: make it run with ITK 5 and legacy disabled
      ENH: use DynamicThreadedGenerateData
      ENH: support non-identity metadata in GeodesicActiveContour
      DOC: updating comments to reflect actual behavior

Hans J. Johnson (16):
      BUG: pngmath deprecated for sphinx >= 1.4
      ENH: Move to v4.13.0.post0 version of breath
      ENH: Update sphinx-bootstrap-theme to  v0.7.1
      ENH: Update gitstats to latest master branch version.
      COMP: Must remove incomplete ITKDoxygenTAG_DIR
      ENH: Change url from http: to https: for kitware sites
      DOC: Prefer http: to https: for web addresses.
      ENH: Address documentation build warnings
      COMP: Resolve search for ITKVtkGlue status
      ENH: Avoid contaminating Remote module builds with ITK_DIR
      STYLE: Use range-based loops from C++11
      STYLE: Use auto for variable type
      STYLE: Pefer = default to explicitly trivial implementations
      STYLE: Pefer = delete to explicitly trivial implementations
      ENH: Fix signature of override function.
      BUG: Fix many failing tests for the Sphinx Examples

Hans Johnson (21):
      ENH: VTK 8.2.0 as a requirement for SphinxExamples
      COMP: Update CMAKE_CXX_STANDARD settings to match ITKv5 settings
      DOC: Update build instructions with greater detail.
      ENH: Adding media wiki examples to sphinx examples
      BUG: Unsigned char SetAlpha must be on scale of 0-255
      COMP: Remove unused variables and set override.
      COMP: Use std::sqrt instead of vcl_sqrt.
      ENH: Only build ITKV4 examples with when selected in ITK.
      ENH: Add support files from media wiki examples
      COMP: Fix VTK 8.2.0 build issues.
      DOC: Improved results and indexing. Addition changes mentioned in pull request.
      ENH: Improve documentation images
      ENH: Remove outdated CreateNewExample.py.in reference
      ENH: Require building with VTK support
      ENH: Require ITK version 5.0.0 or greater
      STYLE: Remove outdated todo file for WikiExamples.
      ENH: Allow building without VTK support
      BUG: Fix failing tests and build errors of SphinxExamples
      ENH: Update to latest version of ITK to support enum-classes
      STYLE: Enforce ITK style defined by .clang-format
      DOC: Improve example to provide more complete usage

Hina Shah (3):
      BUG: Fix path for GitSetup.git
      BUG: Fix minor issues with create new example script
      ENH: adding new example for reading and printing dicom image tags

Jon Haitz Legarreta Gorroño (4):
      STYLE: Fix typo in example name
      STYLE: Prefer error checked std::sto[id] over ato[if]
      ENH: Add a cookiecutter template to create new examples
      BUG: Fix new example script cookiecutter

Mathew J. Seng (1):
      BUG: TODO added for examples containing errors from original wiki.

Matt McCormick (10):
      DOC: Update required ITK and Python versions in README
      BUG: Do not enable Module_ITKLevelSetsv4Visualization
      BUG: Use sphinx-build executable from Superbuild
      BUG: Transparency.png was a TIFF file
      DOC: Remove invalid FilterImageWithoutCopying input / output
      DOC: Fix figure input filenames
      ENH: Add SetDefaultNumberOfThreads
      DOC: Update ContributeWithGit for cookiecutter script
      DOC: Remove Gerrit reference and improve link location
      ENH: Point GitSetup to ITK repository

ITK Software Guide Changes Since v5.0.0

Bradley Lowekamp (1):
      ENH: Add VerifyPreconditions and VerifyInputInformation

Francois Budin (2):
      COMP: Correct typo that made ITKSoftwareGuide compilation fail
      STYLE: Page size and page numbers of the Guide front page were updated

Hans Johnson (2):
      DOC: Add commentary about the coding style used.
      COMP: Exceptions should be caught by constant reference

Jon Haitz Legarreta Gorroño (3):
      COMP: Fix too long line lengths
      DOC: Update ITK testing macros names
      DOC: Fix testing macro name

Matt McCormick (9):
      ENH: Update ITK ExternalProject version for 5.0.0.
      COMP: Bump ITK to address line length warnings
      DOC: Update supported Visual Studio versions
      ENH: Bump ITK version to v5.0.1
      ENH: Use https for GitSetup hooks checkout
      BUG: Remove CircleCI resource_class specification
      ENH: Point GitSetup to ITK repository
      DOC: Update history to ITK 5
      ENH: Bump ITK version to v5.1rc01

Stephen Aylward (5):
      ENH: Updated tex for SpatialObjects to match ITKv5
      ENH: Added details on use of TubeSpatialObjects.
      BUG: Fixed spelling mistake
      ENH: Added details on use of TubeSpatialObjects.
      Enh: Clarify that GroupSO replaces SceneSO

Remote Module Changes Since v5.0.0

AnalyzeObjectMapIO:

Hans Johnson (2):
      COMP: Do not include itkExceptionObject.h directly
      COMP: Fix refactoring to enhanced for loop structure

AnisotropicDiffusionLBR:

Hans J. Johnson (1):
      ENH: Fix spelling error s/tropci/tropic/g

Mathew J. Seng (1):
      STYLE: Change enum to new enum class definition

Matt McCormick (3):
      ENH: Add Azure Pipelines configuration
      ENH: Python package for ITK 5.0.0
      DOC: Add Azure Pipelines, PyPI, License badges

BSplineGradient:

Matt McCormick (5):
      ENH: Add Azure Pipelines configuration
      DOC: Add Azure Pipelines status badge
      ENH: Update ImageToPointSetFilter wrapping for ITK 5 types
      ENH: Add wrapping for BSplineGradientImageFilter
      DOC: Add installation instructions

BioCell:

Mathew J. Seng (1):
      COMP: Change enum to new enum class definitions

BoneEnhancement:

Bryce Besler (35):
      ENH: Implemented HessianGaussianImageFilter with streaming
      ENH: Implemented itkEigenToMeasureParameterEstimationFilter
      ENH: Implemented DescoteauxEigenToMeasureParameterEstimationFilter
      DOC: Fixed naming for DescoteauxEigenToMeasureParameterFunctor
      BUG: Fixed initialization bug in HessianGaussianImageFilter
      ENH: Added EigenToMeasureImageFilter and DescoteauxEigenToMeasureImageFilter
      DOC: Added documentation to MaximumAbsoluteValue Functor
      ENH: Added ITKReview
      ENH: Descoteaux implementation
      ENH: Move itkMultiScaleHessianEnhancementImageFilterStaticMethodsTest to GTest
      ENH: Move itkMaximumAbsoluteValueImageFilterTest to GTest
      ENH: Move itkHessianGaussianImageFilterTest to GTest
      ENH: Update Descoteaux filter to ITKv5 DynamicThreadedGenerateData
      ENH: Implement Krcah parameter estimation filter and unit test
      STYLE: Updated to CI table
      ENH: Implemented HessianGaussianImageFilter with streaming
      ENH: Implemented itkEigenToMeasureParameterEstimationFilter
      ENH: Implemented DescoteauxEigenToMeasureParameterEstimationFilter
      DOC: Fixed naming for DescoteauxEigenToMeasureParameterFunctor
      BUG: Fixed initialization bug in HessianGaussianImageFilter
      ENH: Added EigenToMeasureImageFilter and DescoteauxEigenToMeasureImageFilter
      DOC: Added documentation to MaximumAbsoluteValue Functor
      ENH: Added ITKReview
      ENH: Descoteaux implementation
      ENH: Move itkMultiScaleHessianEnhancementImageFilterStaticMethodsTest to GTest
      ENH: Move itkMaximumAbsoluteValueImageFilterTest to GTest
      ENH: Move itkHessianGaussianImageFilterTest to GTest
      ENH: Remove ITKReview module
      ENH: Update Descoteaux filter to ITKv5 DynamicThreadedGenerateData
      ENH: Implement Krcah parameter estimation filter and unit test
      STYLE: Prefer C++11 type alias over typedef.
      STYLE: Use "typename" for template parameters
      BUG: Fix Krcah implementation
      ENH: Remove SpatialObject parameterization
      BUG: Follow templating of itkStreamableImageFilter for wrapping

Dženan Zukić (10):
      ENH: Build both examples
      COMP: fix compile error and warning
      ENH: remove unused command-line parameter
      COMP: make it compile after the big merge
      BUG: fix Python wrapping
      COMP: support running with legacy removed
      ENH: removing unused files
      ENH: parallelizing EigenToMeasureParameterEstimation filters
      ENH: parallelize EigenToMeasure filter
      ENH: adding current ITK code style definition files

Pablo Hernandez-Cerdan (1):
      COMP: Remove deprecated throw specification

BoneMorphometry:

Dženan Zukić (1):
      COMP: itksys::hash_map has been removed in ITKv5

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (4):
      ENH: Add Azure Pipelines configuration
      DOC: Add Azure pipelines badge
      DOC: Add PyPI and license badge
      BUG: Bump ITK Python required version to 5.0.1

Cuberille:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (9):
      ENH: Move Azure Pipelines configuration to test/ directory
      ENH: Support ITKPythonGitTag in Azure Pipelines configuration
      ENH: Update ITK version in Azure Pipeline configuration to 5.0.0
      ENH: Wrap for all scalar pixel types
      ENH: Build against ITK 5.0.1
      DOC: Fix Azure badge link
      ENH: Enable the use of a different interpolator in wrapping
      STYLE: class -> typename
      ENH: Bump Python package version

FixedPointInverseDisplacementField:

matt.mccormick@kitware.com (1):
      STYLE: Move Python test to wrapping/test/CMakeLists.txt

GenericLabelInterpolator:

Dženan Zukić (1):
      STYLE: replacing MD5 hashes by SHA512 hashes

yinkaola (2):
      Update itkLabelImageGenericInterpolateImageFunction.h
      Update itkLabelImageGenericInterpolateImageFunction.hxx

HigherOrderAccurateGradient:

Matt McCormick (4):
      ENH: Build against ITK 5.0.0
      ENH: Build Python packages against v5.0.0.post1
      ENH: Improve Azure specification of ITK versions
      DOC: Fix build spelling in C++ build documentation

IOMeshSTL:

Dženan Zukić (2):
      COMP: fix link errors
      ENH: require ITK 5.0.1

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

IOOpenSlide:

Mathew J. Seng (1):
      STYLE: Change to enum to new enum class definitions

IOScanco:

Dženan Zukić (1):
      ENH: update version numbers

Jon Haitz Legarreta Gorroño (2):
      STYLE: Add ITK prefix to testing macros
      ENH: Improve tests

IOTransformDCMTK:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

IsotropicWavelets:

Matt McCormick (3):
      COMP: Wrap GaussianImageSource for StructureTensor
      BUG: Move Python tests to wrapping/test/CMakeLists.txt
      ENH: Build against ITK 5.0.1 and bump Python package version

Ramraj (1):
      ENH: Implemented composite filters for phase analysis

Ramraj Chandradevan (2):
      ENH: Build against ITK 5.0.0
      ENH: Update setup.py

LabelErodeDilate:

Mathew J. Seng (1):
      ENH: Change to enum to new enum class definitions

LesionSizingToolkit:

Jon Haitz Legarreta Gorroño (1):
      COMP: Fix unused type alias warnings

MinimalPathExtraction:

Matt McCormick (12):
      ENH: CI builds with ITK 5.0.0.post1
      STYLE: Indentation in the example
      ENH: Example: check command line arguments
      STYLE: Example: Run clang-format
      DOC: SpeedFunctionToPathFilter update
      STYLE: SpeedFunctionToPathFilter improvements
      BUG: Use ITK_TEMPLATE_EXPORT with templated classes
      STYLE: Update license header
      ENH: Add Python test
      STYLE: Use const_cast instead of C cast
      STYLE: Use itkNotUsed
      ENH: DSA example notebook

Stephen Aylward (3):
      BUG: Replace include of itkExceptionObject.h with itkMacro.h
      BUG: Replace itkExceptionObject.h with itkMacro.h
      COMP: C++11 has deprecated the "throw" function declaration decorator

Montage:

Dzenan Zukic (4):
      BUG: read CRLF line endings without crashing
      COMP: adding a few missing typenames
      COMP: fixing example compile warnings on GCC 5.4.0
      COMP: fixing warnings

Dženan Zukić (100):
      COMP: double-conversion is only a private dependency, not a public one
      ENH: tests now handle image spacing correctly
      BUG: fix spacing support
      ENH: replace pixels by physical units in file pairs test parameters
      DOC: expose transform writing in usage
      BUG: with peak merging enabled a peak can have a brighter pixel nearby
      ENH: Build against ITK 5.0.0 and bump Python package version
      ENH: do not require unnecessary maxima
      BUG: cosine interpolation avoids NaNs for additional candidates
      STYLE: rename directory of Ti7Al test case
      ENH: adding Ti7/Region1_10_Mosaic36 and Ti7/Region1_10_Mosaic180 tests
      ENH: Adding Medium Carbon Steel 1701701_000000 test (UES corporation)
      ENH: adding 05MAR09_run2_64-Raw test data from CMU
      ENH: add the problematic region of S200 as a standalone test case
      BUG: correctly offset translations by position of tile 0
      BUG: fix calculation of average tile displacement error
      ENH: account for accumulation of errors
      ENH: Ti64 tests are no longer failing
      ENH: reorganizing test names and output locations
      ENH: expose allowing accumulation of errors (drift) in tests
      ENH: global optimization with outlier detection and removal
      ENH: increase test success threshold from 1.0 to 1.2 pixels
      ENH: update examples to support non-unit spacing
      STYLE: remove empty space in example
      ENH: use translation offsets instead of transforms internally
      ENH: move more test to expected to pass category
      STYLE: review suggestions
      BUG: fix re-ordering of peak maxima during zero suppression
      ENH: expose position precision in TileMontage class
      ENH: rewrite position tolerance to be expressed in pixels
      ENH: use tile position tolerance in tests. Closes #105.
      ENH: reduce evaluations of exp function
      ENH: write input images after FFT band-pass filtering
      ENH: crop images to overlapping portion for cross-correlation
      ENH: expand the cropping region
      BUG: fix wrong test parameters
      ENH: allow drift for MNML5
      ENH: adding first registration pair of 10-129-C_2 as a separate test
      BUG: I forgot to update sheet/line zero suppression formula
      ENH: do zero suppression only if needed
      ENH: make zero suppression more consistent and less pronounced
      ENH: prevent translations being rejected simply for being large
      ENH: more informative outlier reporting
      ENH: adding problematic S200 pairs as separate tests
      BUG: better message for wrong number of parameters
      BUG: merge peak distance was not respected (1 was always used)
      BUG: fix and slightly optimize zero suppression
      ENH: allow more low frequencies to pass by default
      STYLE: simplifying type specification
      ENH: allowing specification of real type used in FFTs
      BUG: residuals were not properly divided by spacing
      ENH: use registration confidence in equations and cost
      ENH: more granular progress reporting (per pair, not per tile)
      ENH: output indication of failing tile and average error to TSV file
      STYLE: avoid specifying ITK namespace when already inside it
      ENH: only two tests still fail
      ENH: change parameters of large tests to reduce peak memory use
      ENH: the stitched mosaic does not have to be written
      ENH: all tests write their result except S200
      ENH: adding github.io as an alternative source for testing data
      COMP: ITK testing macros have ITK_ prefix since version 5.0+
      Reduce majority of duplication in synthetic tests
      ENH: parallel generation of synthetic sphere image
      ENH: increase parallelism and cache tiles
      ENH: checking whether interpolation is needed
      COMP: fix unused variable warning
      BUG: Old .bmp named file was a TIFF
      ENH: adding ground truth creator. Closes #108.
      ENH: WindowedSincInterpolateImageFunction for better resampling quality
      ENH: update ITK to support RGB in WindowedSinc interpolator
      BUG: file opening was not checked for success. Closes #122.
      BUG: conversion from linear to nD index was wrong for 3D montages
      ENH: add 3D ground truth case
      STYLE: update clang-format style to follow recent ITK change
      STYLE: applying new ITK style
      STYLE: fixing KWStyle error
      STYLE: manual fix of KWSTyle alignment error
      STYLE: rename itkParseTileConfiguration into itkTileConfiguration
      STYLE: converting README.rst into README.md. Closes #128.
      ENH: support multi-dimensional tile configuration. Closes #127.
      ENH: Update InMemoryMontageTest to use nD structure
      STYLE: remove 2D from example names
      ENH: add TileConfiguration comparison tool
      ENH: add ImageCompareCommand.cxx from ITKExamples
      ENH: add 2D sample data to examples (from ground truth creator)
      ENH: add 3D sample data to examples (from ground truth creator)
      ENH: updating examples to work with nD montages
      ENH: Removing Parse/Write TileConfiguration2D
      ENH: read images just once
      ENH: adding bias field correction to the complete example
      ENH: write bias-corrected images
      ENH: add 3D test for CompleteMontage
      ENH: resolving TODOs
      ENH: add noise reduction step to the complete example
      ENH: add calculation of systematic translation bias to pair-wise test
      COMP: fixing in-source build of the examples
      BUG: fix buffer overflow on float to string conversion
      BUG: 1701701_000000_Fused is in TIF format
      ENH: better exception reporting in test
      ENH: better error reporting in GroundTruthCreator

Jon Haitz Legarreta Gorroño (1):
      COMP: Fix unused variable warning

Mathew J. Seng (1):
      COMP: Change to enum to new enum class definitions

Matt McCormick (9):
      ENH: Update CI Build to build against 5.0.0.post1
      DOC: Update Azure pipeline badge
      ENH: Update Azure Pipelines configuration to support ITKPythonGitTag
      ENH: Remove Travis config
      ENH: Support arbitrary ITK C++ Git commit in Azure
      ENH: Bump CI ITK Git commit to 2019-07-23 master
      ENH: Bump Python package version to 0.4.0
      ENH: Build Python package against ITK 5.0.1
      DOC: Document installation

MorphologicalContourInterpolation:

Mathew J. Seng (1):
      STYLE: Change to enum to new enum class definitions

NeuralNetworks:

Hans J. Johnson (1):
      DOC: Explicitly specify that these methods are outdated

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

ParabolicMorphology:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Use "typename" for template parameters.

PhaseSymmetry:

Dženan Zukić (4):
      ENH: allow finding ITK via configuration file
      COMP: build with legacy disabled
      ENH: use ITKImageIO and ITKTransformIO in examples' CMakeLists.txt
      BUG: maintain image direction in internal filters. Closes #23.

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (5):
      ENH: Add Azure pipelines configuration
      COMP: Address signed / unsigned integer comparison warnings
      COMP: Remove unused variable
      DOC: Add Azure badge and C++ installation to README
      BUG: Disable the module examples since they require SEM

Zahil Shanis (2):
      BUG: Reverted Flip output
      Removed itkFlipImageFilter from header

RLEImage:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Mathew J. Seng (1):
      ENH: Change to enum to new enum class definitions

RTK:

Antoine Robert (1):
      ENH: Wrapped TotalVariationDenoisingBPDQImageFilter

Gordian Kabelitz (2):
      COMP: Remove dependency from std::unary_function
      FIX Change frpm std::random_shuffle to std::shuffle

Lucas GANDEL (1):
      ENH: Setup azure pipelines

Lucas Gandel (1):
      COMP: Set RTK target properties

PA Rodesch (2):
      One-step two materials
      ENH: Wrapping for rtkMechlemOneStepSpectralReconstructionFilter with 2 or 3 materials

Simon Rit (33):
      DOC: fixed image types in dot graph
      ENH: improve backprojection speed for cylindrical detector with atan2
      BUG: detector offsets badly accounted for with cylindrical detector in backprojection
      COMP: fix new itkReadRawBytesAfterSwappingMacro format
      FIX: exception for parallel geometry was not thrown
      DOC: first version of the installation instructions
      FIX: remove HelloWorld code (fully overlaps with FirstReconstruction)
      DOC: add missing consortium members in LICENSE.TXT
      COMP: adapt to enum class objects
      COMP: remove nvcc-check.cmake, rely on system configuration.
      BUG: part of the CUDA data manager was not thread safe
      FIX: remove nvcc-check.cmake from install (deleted by 0fe32a6)
      FIX: replace CudaInPlaceImageFilter with CudaImageToImageFilter where required
      ENH: made rtkspectralonestep compatible with 2 or 3 materials
      STYLE: remove unused code
      ENH: New itk::CudaMemoryProbe
      ENH: modified time probing with time + (cuda) memory probing
      ENH: process projections one by one in Mechlem's one step
      COMP: missing Windows dll export in itk::CudaMemoryProbe
      ENH: new option in spectral one step to use spatially varying regularization
      FIX: wrapping warning
      ENH: add possibility to add clip planes to geometric phantom
      ENH: add Attenuation member to convex shapes for exponential line integral
      DOC: remove doxygen warnings caused by multiple group definitions
      COMP: fix errors introduced by InsightSoftwareConsortium@0f23472
      FIX: add exception for wrong file name in ProjectionsReader
      COMP: remove vnl warnings caused by InsightSoftwareConsortium/ITK#1422
      COMP: avoid brew install cmake in TravisCI OSX, seems usesless and harmful now
      STYLE: add ; after macros
      STYLE: use newer version of ReadRawBytesAfterSwapping
      STYLE: split lines longer than 120 characters in digraph
      STYLE: apply ITK's clang-format
      Release of RTK v2.1.0

SCIFIO:

Dzenan Zukic (1):
      COMP: fix direct inclusion of itkExceptionObject

SimpleITKFilters:

Bradley Lowekamp (4):
      BUG: Removing comment out use of ITK test macro
      ENH: Update CI to use Azure pipeline
      BUG: Update to new ITK_ prefixed testing macros
      Update README with Azure Pipeline badges

SkullStrip:

Jon Haitz Legarreta Gorroño (2):
      ENH: Transition the example to the ITK testing framework.
      BUG: Fix wrapping.

Matt McCormick (1):
      BUG: Use ITK_TEMPLATE_EXPORT macro for StripTsImageFilter

SplitComponents:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Prefer = default to explicitly trivial implementations

Matt McCormick (1):
      ENH: Bump ITK package dependency to 5.0.0.post1

Strain:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (5):
      ENH: Add Azure Pipelines configuration
      DOC: Add Azure Pipelines badge
      DOC: Add Python package installation
      BUG: Do not wrap ImageToImageFilter scalar to covariant vector
      ENH: Bump Python package version to 0.2.0

SubdivisionQuadEdgeMeshFilter:

Jon Haitz Legarreta Gorroño (1):
      ENH: Add CI.

TextureFeatures:

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (2):
      ENH: Update Python package for ITK 5.0.0.post1
      COMP: Bump ITK C++ testing Git tag to 2019-06-21 master

Thickness3D:

Matt McCormick (2):
      BUG: Prevent segfault in MedialThickness constructor (#24)
      ENH: Build Python package against ITK 5.0.0.post1 (#25)

Thomas Janvier (3):
      BUG: fix tests after PR#24 (#26)
      REL: update version after tests validation (#27)
      Update README.rst

TotalVariation:

Dženan Zukić (1):
      ENH: Build against ITK 5.0.0

Jon Haitz Legarreta Gorroño (1):
      STYLE: Add ITK prefix to testing macros

Matt McCormick (5):
      BUG: Require ITK 5.0.1 for the Python package build
      BUG: Remove old Azure configuration
      ENH: Update Azure configuration to use ITK 5.0.1
      BUG: Run Window Python package build as administrator
      Revert "BUG: Run Window Python package build as administrator"

Samuel Gerber (1):
      FIX: Image Axes Change

TwoProjectionRegistration:

Dženan Zukić (1):
      COMP: do not #include "itkExceptionObject.h" directly

Matt McCormick (8):
      ENH: Bump tests with Release CMAKE_BUILD_TYPE
      ENH: Bump setup.py version to 1.0.1
      ENH: Bump Azure ITK version for ITK 5.0.0
      COMP: Add SiddonJacobRayCastInterpolateImageFunction for ITK 5
      COMP: Remove GetMTime method
      COMP: Use SpatialObject explicit IsInsideWorldSpace API for ITK 5
      DOC: Add Python installation instructions
      DOC: Fix Python package installation formatting

8 Likes