Commit bb4e7bb9 authored by jcfr's avatar jcfr

ENH: Update ITK from v4.13 to v5.0rc1, BRAINSTools and SimpleITK

To help extension developers transition their code base, a migration guide is also
available on the wiki.
See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide/ITK4-to-ITK5

This commit implements the following changes

* Compatibility with refactor of threading models in ITK: Fix compilation
  using ProcessingThreader class instead of PlatformMultiThreader.
  ITKv5 reorganized the multi-threading capabilities of ITK into a more modular organization
  and naming to support several modern parallelism paradigms.

  Note that these changes allow Slicer to compile with ITKv5, but does not take advantage
  of any enhancement supporting new threading models. ProcessingThreader
  is still the old-renamed PlatformMultiThreader.

  These changes were originally associated with PR https://github.com/Slicer/Slicer/pull/1057

* Fix compilation issue related to ComputeJacobianWithRespectToPosition parameter mismatch.

  ITKv5 change the argument of some transform functions from JacobianType to JacobianPositionType.
  This fixes the new signatures.

  These changes were originally associated with PR https://github.com/Slicer/Slicer/pull/1055Co-authored-by: phcerdan's avatarPablo Hernandez-Cerdan <pablo.hernandez.cerdan@outlook.com>
Co-authored-by: Hans Johnson's avatarHans Johnson <hans.j.johnson@gmail.com>
Co-authored-by: Sam Horvath's avatarSam Horvath <sam.horvath@kitware.com>
Co-authored-by: 's avatarJean-Christophe Fillion-Robin <jcfr@kitware.com>

Highlighted changes
-------------------

SimpleITK (v1.1 -> v1.2):

* Compatibility with ITKv5
* New Filters: ObjectnessMeasuresImageFiler (Frangi's vesselness), IterativeInverseDisplacementFieldImageFilter,
  UnsharpMaskImageFilter, and RoundImageFilter.
* Multi-resolution BSpline registration by adapting the BSplineTransform resolution in the ImageRegistrationMethod
* Add support for multi-component images to ClampImageFilter, MeanProjectionImageFilter, SumProjectionImageFilter,
  and the TileImageFilter.
* More information at: https://github.com/SimpleITK/SimpleITK/releases

ITK (4.13 -> 5.0rc1):

* Performance improvements:
  * N4BiasFieldCorrectionImageFilter accelerated through itk::ImageBufferRange and other optimizations.
  * Various modern C++ improvements related to default constructors and move operations.
  * ResampleImageFilter::CastPixelWithBoundsChecking is now faster.
  * Data copies in itk::BSplineTransform were reduced.
  * The number of evaluations in line search optimizer were reduced by half.
  * CanRead is now faster for inspection of potential DICOM files, both with the GDCM and DCMTK DICOM backends.
  * Add Frequency Domain Support for working with images in the dual domain, such as the output of FFT images.
  * A new Simple Linear Iterative Clustering (SLIC) super-pixel segmentation filter is available.
* Completed transition to modern features introduced in c++11
* Third Parties updated and full support for new ones, such as DCMTK and Eigen3.
* More information at: https://github.com/InsightSoftwareConsortium/ITK/releases

BRAINSTools (v4.7.1 -> v5.0.0):

* Completed transition to modern features introduced in c++11
* Bug fixes

Complete list of changes
------------------------

List of ITK changes:

```
$ git shortlog 87f5d83..fec5de4 --no-merges
Bai Shi (1):
      COMP: To fix compilation error of "cannot dynamic_cast 'x'

Bradley Lowekamp (159):
      ENH: Adding more swap methods
      BUG: Respect Visibility Preset for initial template visibility
      COMP: Use explicit equality for boolean evaluation of real number
      BUG: Keep the SetSeed# methods in IsolatedConnectedImageFilter
      ENH: Use direct for loops for implementing image transformations
      ENH: Mark 2 template parameter ModulusTransform to be removed
      COMP: Remove legacy marking on definition of SetSeed methods
      STYLE: Use itk::v3 nested namespace for Rigid3DTransform
      BUG: Preserve option to use a "label value" mask and boolean mask
      ENH: update C+11 headers and try compile for headers
      ENH: Remove duplicated CMake module from upstream CMake
      COMP: Explicitly include the fixed width integer header before usage
      BUG: The CXX language must be enable to check compiler variables
      PERF: Support move semantics for ITK smart pointers
      ENH: Remove usage of SmartPointerForward reference
      ENH: Remove unneeded internal smart pointer type
      COMP: Require MSVC VS14 2015 for C++11 compatibility
      ENH: Use C++11 template alias for Image::Rebind
      STYLE: Use copy-swap idiom for SmartPointer
      ENH: Use std::unique_ptr over itk::AutoPointer
      DOC: Document additional MaskValue variable
      BUG: remove unused cmake CXX try compile file
      BUG: Remove un-configured and unused CMake configure define
      BUG: Improve Doxygen extraction with blank line
      ENH: Remove TEMPLATED_FRIEND macro and try compile
      ENH: Replace optional tr1 type_traits with c++11 standard
      ENH: Assume c++11, remove configure defines for optional TR1 features
      ENH: Only use std::atomic implementation for AtomicInt class
      ENH: Add direct SmartPointer conversions to match raw Pointers
      PERF: Use emplace when inserting into map for ProcessObject
      ENH: Create virtual interface for the MultiTheader
      ENH: Trying out the ThreadPool as a separate MultiThreader
      BUG: Fix uninitialized cross structuring element buffer
      BUG: Disable ThreadPools by default
      COMP: Add forward declaration of ExceptionObject in Macro.h
      COMP: Add forward declaration of ExceptionObject in Macro.h
      ENH: Use gtest_discover_tests if available
      DOC: Watershed filters is not stream-able
      COMP: Use nullptr over 0 for null pointer
      STYLE: Use SmartPointer direct conversion constructors
      Revert "BUG: Disable ThreadPools by default"
      BUG: Actually disable ThreadPools by default
      COMP: Suppress warning on CircleCI about itkIndex out of bounds
      ENH: Update CircleCI external data cache
      ENH: Address incorrect types with neighborhood iterator base class
      COMP: Make MirrorPadImageFilter::DelayBase a conventional parameter
      PERF: remove virtual methods in neighborhood iterators
      ENH: Add ITK_ITERATOR_FINAL
      ENH: Use named inputs for the PasteImageFilter
      PERF: Remove iterators stored as member variables
      BUG: Add specification of OutputImage Type for TobogganImageFilter
      ENH: Improve numerics of resampling for linear transform
      COMP: Fix gcc 4.8 initialize warning
      ENH: Add baseline image to sporadically failing test
      ENH: Adding Unary and Binary GeneratorImageFilter
      ENH: Convert functor based filters to generator
      ENH: Update internal filters to use BinaryGereratorImageFilter
      ENH: Updating Functor filter with parameters to the new Generator
      COMP: Address Generator filters destructors warning
      DOC: Fix BSplineDecompositionImageFilter Doxygen see also link
      ENH: reuse default splitter
      BUG: revert thread update to BSplineScatteredDataPointSetToImageFilter
      ENH: Update CircleCI CMake version to 3.11.2
      BUG: Correct detection of most recent data file
      ENH: Improve numeric computation of linear interpolation for Resample
      ENH: Update baseline image for ResampleImageFilter3Test1
      BUG: Add 4 pixel tolerance to ResampleImageFilter3Test1
      BUG: Prevent concurrent read/write in output image
      BUG: Handle case where output image is zero sized
      BUG: Add missing dependencies in Module testing
      ENH: Remove  SPECIFIC_IMAGEIO_MODULE_TEST feature
      BUG: Fix name typo for ITK_GLOBAL_DEFAULT_THREADER
      BUG: Fix incorrect library variable for MeshIO test drivers
      ENH: Create TestKernel library
      ENH: Add SLIC segmentation to new Superpixel module
      COMP: Fix C++11 compatibility with assert in constexpr
      COMP: Use std::min over vnl_math_min
      BUG: Fix index type and and number of indexes
      BUG: Add alternate baseline itkSLICImageFilterTest1 test
      ENH: Update test output to include test name
      BUG: improve numeric consistency in linear algorithm
      COMP: Add missing overrride to virtual destructor
      COMP: Remove unused testing function and headers
      BUG: Finish updating to ScanlineIterator in nonlinear method
      ENH: Update SLIC filter to use new ITK threading model
      ENH: TileImageFilter learns to use VectorImages
      COMP: remove duplicate declaration of TempImageType
      DOC: Add link to published Insight Journal paper
      ENH: Update CenteredTransformInitializer print self method
      PERF: Remove internal streaming in DiscreteGaussianImageFilter
      ENH: Update MinimumMaximumImageFilter to use dynamic threading
      ENH: Update StatisticsImageFiler to use DynamicThreadedGenerateData
      ENH: Add compensated summation to the StatisticsImageFitler
      BUG: Use pip to install cmake
      PERF: Use the recursive Gaussian filter in registration method
      BUG: Add additional baseline for debug
      COMP: Length GTest discovery timeout
      BUG: Correct image used for debug SimpleImageRegistrationTest
      BUG: Add cxx suffix to specified source GTest code
      ENH: Consistently use default OutputWindow for messages
      BUG: Explicitly set sampled pointset in virtual domain
      ENH: Use std::enable_if and std::is_same in  filters
      PERF: Memory alloc reduction in ComputeJacobianWithRespect
      PERF: Improve MatrixOffset Jacobian computation performance
      COMP: Address signed to unsigned comparison warning
      STYLE: Cleanup development comments
      PERF: perform matrix multiplication in-place for composite Jacobian
      ENH: Provide explicitly instantiated vnl_svd_fixed
      PERF: Change type of Jacobian w.r. position to vnl_matrix_fixed
      PERF: Change the purpose of the cache jacobian argument
      DOC: Improve Extract exception for region size mismatch
      BUG: Print ImageIOBase::m_Spacing
      BUG: Fix TIFFImageIO spacing for multi-page
      BUG: Support ITK transform files with corrected group names
      ENH: Only use one Work Unit in BSpline convergence checker
      BUG: Fix HDF5ImageIO reporting any HDF5 file is readable
      ENH: Improve N4BiasFieldCorrectionImageFilter
      ENH: Add extensions to HDF5ImageIO
      ENH: Add ImageIO methods to check name for file extensions
      BUG: Quiet HDF5-DIAG from H5File::isHdf5
      ENH: Update LabelStatistics to use dyanmic threading
      ENH: Move JPEG200 ImageIO into separate ImageIO module
      BUG: Update SCIOFIO to ITKv4.13 branch
      ENH: Make ProcessObject::VerifyInputInformation constant
      BUG: Handle boundary case with max metric
      PERF: Reduce number of evaluations in line search optimizer by half
      COMP: Fix unused argument warnings in SpatialObjectPoint::operator=
      BUG: Handle boundary case with max metric
      ENH: Update ImageToHistogram to use modern dynamic threading.
      PERF: implement concurrent histogram merge/reduce
      BUG: Fix move of histogram smart pointer
      BUG: Add parameter which stores the requested number of work units.
      BUG: use =default for default implementation of destructor
      BUG: Prevent square root of negative number
      BUG: Check all entries are not null
      STYLE: Prefer immediate exception over long if
      BUG: Fix sqrt of negative values
      BUG: Address valgrind leaks for classes which use ScanlineFilterCommon
      BUG: Limit number of threads used for testing ITK
      ENH: Replace centered transforms with non-centered versions
      BUG: Remove static member function variable
      DOC: Fix LBFBS2 typo
      BUG: Remove static member function variable
      BUG: Fix multi-resolution bspline registration example
      BUG: Adding updated baseline image for improved example
      DOC: Fix typos in LBFGS2 optimizer's error string
      ENH: On Azure DevOps only show test output on failure
      STYLE: Use GTest file name suffix for Google Test based tests
      BUG: Remove unused TRansfromDomainDirectionInverse IVAR
      BUG: Synchronize BSpline MeshDomain parameters from fixed params
      ENH: Adding GTest for  BSplineTransform
      ENH: Create method to set transform domain params from coeff images
      BUG: Synchronize BSpline MeshDomain parameters from fixed params
      ENH: Refactor BSplineTransform
      DOC: Update the BSplineTransform class doxygen
      ENH: Update N4BiasField to utilized named positional inputs
      COMP: Addressed unused parameter warning in ImageRegion default
      BUG: Use compatible ITKv4 computation
      BUG: Fix Ostu test to work with ITKv4 default options

Brian Avants (1):
      PERF: Only throw exception if zero valid points

Brian Helba (1):
      BUG: Ensure that itkSampleToHistogramFilterTests fail on errors

Bryce A Besler (1):
      ENH: Move DiscreteGaussianDerivativeImageFilter from Review to ITKImageFeature

Chao Wu (2):
      ENH: Enable writing scl_slope and scl_inter in NIfTI header
      BUG: Missing SetCPUBufferPointer in GPUImage<...>::SetPixelContainer(...)

Dženan Zukić (169):
      ENH: updating SphinxExamples and pointing to GitHub
      COMP: Get rid of warning about registry key
      STYLE: minor fixes
      BUG: duplicator crashes if buffered region is smaller than largest region
      STYLE: reducing code duplication and cleaning up method documentation
      ENH: adding itkReviewPrintTest to tests. It existed but was not invoked.
      COMP: turn FEM off by default, as it takes a long time to build
      COMP: fixing compiler warnings
      ENH: making ITKBioCell and ITKNeuralNetworks remote modules
      COMP: fixing configure error
      COMP: long paths are not yet supported by all the tools in the build chain
      COMP: using ITK_DELETED_FUNCTION, and more consistent override specifier
      ENH: simplify code and properly support long long type
      COMP: fix compile warning
      STYLE: avoid redirect for repository address in DVMeshNoise
      ENH: update remote modules to require CMake 3.9.5
      BUG: fixing crash in test
      ENH: Remove ITKFEMRegistration from default configuration
      ENH: Fixing error and improving examples' test
      ENH: Use MultiThreaderBase
      STYLE: reducing duplication and removing commented code in DistanceMap tests
      STYLE: fixing typo
      BUG: more reliably detect Windows+DLLs case
      ENH: enable thread pool by default
      ENH: adding exponential decay option to MirrorPadImageFilter
      BUG: Set/GetGlobalDefaultNumberOfThreads was forgotten in legacy #ifdef
      BUG: fixing Windows+DLL ThreadPool sporadic destructor hanging
      COMP: Using MultiThreaderBase, avoids legacy warning
      BUG: fixing null pointer dereference in PreOrderTreeIterator<>::Next()
      ENH: start migration guide document
      STYLE: increasing initial size of the debug window
      BUG: fixing null pointer dereference at the end of iteration
      COMP: reducing direct usage of MultiThreader
      BUG: remove observations in FilterWatcher's destructor
      ENH: support Unicode characters in class documentation
      BUG: fixing index computation in resample filter
      ENH: reducing code duplication in FilterWatcher
      ENH: refactoring MultiThreader infrastructure
      ENH: deciding which filters can use the new threading model
      ENH: reporting progress
      ENH: simplifying Canny filter by using new threading infrastructure
      STYLE: Renaming MultiThreader to PlatformMultiThreader
      ENH: use C++11 thread primitives instead of SpawnThread
      COMP: improve backwards compatibility by retaining the renamed header
      ENH: Add TBB-based multi-threader
      ENH: refactoring filters to avoid use of memory barrier
      ENH: reworking logic for determining default multi-threader
      COMP: fixing compile error on GCC 4.8.5 20150623 (Red Hat 4.8.5-28)
      STYLE: remove outdated and useless comments from VectorExpandImageFilter
      ENH: add a baseline for QuickViewTest.png (Win7x64+VS2017+VTK8.1OpenGL2)
      STYLE: reduce number of lines by removing unnecessary empty lines
      DOC: document FilterWatcher removal
      ENH: adding an .editorconfig file to aid IDE's code formatting options
      BUG: forgotten #ifdefs for ITK_LEGACY_REMOVE
      ENH: adding debugger help files for Visual Studio 2017
      ENH: moving .clang-format file into the root folder,
      ENH: using the new threading mechanism for FFT module
      ENH: explicitly setting threading model in each multi-threaded filter
      ENH: support classic ThreadedGenerateData via ITK_CLASSIC_THREADING_MODEL
      BUG: fixing a test which has been failing since multi-threading refactoring
      ENH: updating baselines for itkBSplineScatteredDataPointSetToImageFilterTest*
      COMP: fixing 2 compile warnings
      STYLE: renaming migration guide document
      ENH: extending migration guide with threading refactoring instructions
      ENH: reducing redundancy in itkLandmarkBasedTransformInitializerTest
      ENH: eliminate CMake option ITK_CLASSIC_THREADING_MODEL
      STYLE: a more direct link (after PR has been merged)
      STYLE: update clang-format configuration
      ENH: adding ParallelizeArray method to MultiThreaderBase
      COMP: fixing warning in external module
      COMP: Address usage of deleted assignment operator
      ENH: more thorough removal of deprecated "multiple method"
      DOC: add compatibility warning to Barrier
      STYLE: initializing SingleMethod/SingleData in base class
      DOC: merging instructions from itkMultiThreader.h into migration guide
      ENH: rename NumberOfThreads into NumberOfWorkUnits in filters
      ENH: Add backwards compatibility for Get/SetNumberOfThreads
      ENH: renaming NumberOfThreads into NumberOfWorkUnits in MultiThreaderBase
      ENH: adding backwards compatibility for MultiThreaders
      ENH: default number of work units is greater than default number of threads
      COMP: fixing compile warning on GCC 4.8
      ENH: rewriting thread pool to take advantage of C++11
      ENH: implement Parallelize Array and ImageRegion in PoolMultiThreader
      COMP: SmoothingRecursiveYvvGaussianFilter compiles with new ITKv5 threading
      ENH: RGB/RGBA consistency, operator / and remove comments from implementation
      ENH: refactoring RecursiveSeparableImageFilter to use new threading
      ENH: updating MCI: adjusting to split between threads and work units in ITKv5
      ENH: compute spacing using n-1 instead 2-1 in ImageSeriesReader
      BUG: updating the HDF5 symbol mangling
      ENH: fix reading of oblique image series
      BUG: fixing crash in ThreadPool's destructor
      COMP: fixing warning about shadowed global
      COMP: avoid warning with CMake 3.12 and newer regarding policy CMP0075
      ENH: write format which is backwards-compatible with HDF5 version 1.8
      ENH: refactoring BinaryImageToLabelMapFilter to use the new threading model
      ENH: adding ProgressTransformer
      ENH: proper backwards compatibility to HDF5 1.8
      STYLE: fixing 'No new line at the end of file'
      ENH: adding short description of split between threads and work units
      ENH: rewriting BarrierTest to work with any MultiThreader
      ENH: cause compile error with HDF5 version 1.10.0 and 1.10.1
      ENH: restore BeforeThreadedGenerateData method
      DOC: state that SetRecursive must be called before SetInputDirectory
      BUG: updating the symbol mangling list
      BUG: removing mangling of unversioned variant of versioned definitions
      ENH: update migration guide: prefer C++11 classes over ITK's
      ENH: cleaning up ProcessObject
      ENH: using progress transformer in recently refactored classes
      COMP: fixing LoggerBase to compile even when DEBUG is defined
      DOC: ProgressReporter should be replaced by ProgressTransformer
      ENH: code simplification and more granular progress reporting
      ENH: return bin maximum as threshold
      STYLE: removing void if used in place of empty parameter list
      ENH: update remote module MorphologicalContourInterpolation
      BUG: nbOfThreads was bounded to GlobalMaximumNumber, but not work units
      ENH: Ignore current load in PoolMultiThreader
      COMP: missing ConstPointer declaration
      BUG: fix crash in RegionGrowingBenchmark
      ENH: reducing duplication in 4 scanline-based image filters
      ENH: use scanline iterators and clean up the code a little
      COMP: fix [-Wc++11-narrowing] in initializer list during Python wrapping
      ENH: refactor ConnectedComponent to not use Barrier. Also reduce duplication.
      STYLE: aligning macro continuation backslash
      COMP: fixing unused variable warning
      COMP: add Python wrapping for ScanlineFilterCommon
      ENH: updating remotes to their latest versions
      DOC: mentioning ITKV4_COMPATIBILITY in the migration guide
      COMP: minor fixes in preparation for deprecating atomic, mutex and friends
      ENH: updating remotes to latest versions
      ENH: using standard library's mutex primitives
      ENH: deprecating functionality which exist in C++11 standard library
      COMP: missing #include <condition_variable>
      BUG: clamp work units to ITK_MAX_THREADS in Platform and Pool MultiThreaders
      BUG: fix Python wrapping after deprecating MutexLock and friends
      ENH: adding new remote modules: Montage and BSplineGradient
      DOC: fixing copy-paste error about functor type
      ENH: improve precision of median calculation by default
      STYLE: minor space and line break improvements
      ENH: FrequencyBandImageFilter derives from UnaryFrequencyDomainFilter
      ENH: ITKv5_CONST macro for VerifyPreconditions() and VerifyInputInformation()
      ENH: ITKv5_CONST macro for VerifyPreconditions() and VerifyInputInformation()
      BUG: background label could be the same as one of the object labels
      COMP: fix compiler warning in itkIndexRange.h
      ENH: adding wrapping for UnaryFrequencyDomainFilter
      DOC: updating commit information for ITKv5_CONST in ITK 4.13.x
      ENH: commit message script uses GitHub issue referencing format.
      ENH: update Montage remote module
      BUG: test image was not properly initialized. Closes #207.
      COMP: fixing compile errors on Ubuntu 16.04 with GCC 5.4.0
      ENH: compile VNL in parallel on Visual Studio
      COMP: fix compile errors with CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON
      COMP: Remove VNL_EXPORT from header only class. Closes #191.
      COMP: fix CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
      COMP: fix link errors coming from undefined static constexpr member
      STYLE: rename template parameter TMatrixDimension into VDimension
      DOC: EigenValues parameter uses operator[], not operator[][]
      COMP: compile with Visual Studio in conformance mode AKA /permissive-
      COMP: moving the default constructor of vnl_matrix from .h into .hxx
      STYLE: removing empty lines between comments and constructors
      ENH: enable progress reporting with ITKV4_COMPATIBILITY. Closes #228.
      ENH: updating ITKMontage module
      DOC: trying to fix the doxygen warning
      ENH: Updating Visual Studio debug visualizer definitions
      DOC: removing long outdated comment
      ENH: updating Montage module
      STYLE: minor fixes to release notes
      COMP: a fix for system double-conversion build
      ENH: updating Montage: fix double-conversion include directory
      ENH: update ITKMontage: Fix crash when setting tiles from memory

Eigen Upstream (2):
      Eigen3 2018-11-19 (493fa50e)
      Eigen3 2019-01-14 (16812519)

Francois Budin (30):
      BUG: Update ITK test files SHA and debug ContentLinkSynchronization.sh
      ENH: Bump ITK version to 5.0.0.
      ENH: lifting path length limitation on Windows 10 version 1607+
      BUG: Remove bad guards stopping inclusion of necessary hxx file
      BUG: Remove extern "C" call to include <cstring>
      BUG: Initializes CMAKE_DEBUG_POSTFIX to be empty
      DOC: Remove CMake comments mentioning CMake 3.4
      DOC: ITK_CONSTEXPR* and ITK_HAS_CXX11_RVREF are deprecated
      BUG: DCMTK builds fails with ICU ON on Linux and Mac
      BUG: LabelErodeDilate remote module repositories are out of sync
      BUG: Projects could not link to DCMTK on Windows and MacOS
      DOC: Add missing documentation for `github_compare` option
      ENH: Update CMake code to use IN_LIST (CMake >= 3.3)
      BUG: Update LabelErodeDilate
      ENH: Compile ITK with MKL (FFTW) installed on system
      BUG: Update ParabolicMorphology remote module
      ENH: Sync ThreadPool and MultiThreaderBase global variables across modules
      BUG: Add function to not wait for threads when destroying thread pool
      BUG: Improvements to ITK NumPyBridge
      DOC: Improve exception message to precise what image sizes can be processed
      BUG: THEADER instead of THREADER
      BUG: Disable using mkl_tbb_thread
      ENH: Adding IOOpenSlide ImageIO remote module to ITK
      BUG: WRAP_2 is a local variable, not a CACHE variable
      BUG: Wrong path to baseline images
      ENH: Allow selecting ImageIO in Python template code
      ENH: Support loading image series in itkTemplate.
      ENH: `itk.imread()` now supports image series
      ENH: Support for tuples passed as arguments through itkTemplate New() function
      BUG: Missing ITK_WRAP_rgba_* variables in WrapITKConfig.cmake.in

GCC-XML Upstream (1):
      ENH: pygccxml develop (reduced)

GDCM Upstream (3):
      GDCM 2018-05-23 (69cb71a4)
      GDCM 2018-11-05 (3ffbf1ed)
      GDCM 2018-11-30 (ec82fb48)

Gabriel A. Devenyi (1):
      PERF: Enable MINC internal compression by default

Gregory C. Sharp (1):
      DOC: Fix misspelling of vertices

HDF5 Maintainers (3):
      HDF5 2016-05-10 (7453bbef)
      HDF5 2018-07-20 (bed5b207)
      HDF5 2018-08-22 (08d77e43)

Hans Johnson (164):
      ENH: Update Wiki examples for latest code changes
      COMP: Remove override warnings
      ENH: Cuberille future compilation deprecations
      ENH: Strain future compilation deprecations
      COMP: TwoProjectionRegistration Future proof code
      COMP: LevelSetsv4 used deprecated api
      COMP: N4 remove testing of deprecated SetMaskLabel
      BUG: Provide consistent GetOutput behavior
      BUG: GetModifiableTransformList needs to always be available
      BUG: Restore backwards compatibility
      DOC: Remove ITKv3 to ITKv4 migration documentation.
      COMP: Provide migration documentation old macros
      STYLE: Remove deprecated code directory contents
      STYLE: Remove all vestiges of ITKv3 code
      STYLE: Remove legacy code for ITKv5 starting
      ENH: Revert to include itkv3::Rigid3DTransform
      STYLE: Move Future deprecated to deprecated
      BUG: Restored testing for long HistorgramMatching
      COMP: Remove unnecessary conditional tests
      COMP: Force using lower deployment targert for fftw
      COMP: Use C++ headers over C headers
      COMP: Set ITK_VERSION_MAJOR to 5
      STYLE: Fix header guard format
      COMP: Remove ITK_USE_STRICT_CONCEPT_CHECKING flag
      ENH: Set cmake Minimums to 3.9.5
      COMP: Change min cmake version to 3.9.5 for circleci
      COMP: Directly use cmake compiler_detection.h
      STYLE: Fix typo requireing -> requiring
      COMP: Consistently set use of CMake 3.9.5 and options
      COMP: Enforce building ITK with C++11
      COMP: Modularize cmake config like VTK.
      COMP: Use C++ headers over C headers (part 2)
      ENH: Scripts used during ITKv5 migration
      STYLE: Remove conditional version 201103L code
      COMP: Need to match type for different threaders
      COMP: Preparing for ITKv5 by adding override
      COMP:  Use C++11 override directly
      STYLE: Use override statements for C++11
      COMP:  Use C++11 ITK_NULLPTR directly
      COMP: Use nullptr instead of 0 or NULL
      STYLE: Prefer nullptr for C++11
      COMP:  Use C++11 nullptr directly
      BUG: VXL visibility must match ITK visibility
      COMP:  Use C++11 = delete directly
      COMP:  Use C++11 constexpr directly
      STYLE: ITK_COMPILER_CXX_CONSTEXPR is always true
      BUG: Missing external linkage options for float and double.
      COMP: Remove deprecated C++ 11 features
      ENH: ReplaceitkGetObjectMacro.sh used during ITKv5 migration
      ENH: Update SeveralRemotes to latest version.
      COMP: Suppress invalid warning
      STYLE: Remove outdated conditional code
      STYLE: Remove unnecessary old CMakeCode
      ENH: Remote for SmoothingRecursiveYvvGaussianFilter
      STYLE: Prefer C++11 type alias over typedef
      BUG: Type alias errent typo in name
      BUG: ConceptChecking type matching failed.
      STYLE: Remove ITK_HAS variables that should not be defined
      COMP: Allow using cmake 3.9.5 default for RPATH setting
      STYLE: Replace itkStaticConstMacro with static constexpr
      BUG: Propagate C++11 requirements to external project
      STYLE: Prefer constexpr for const numeric literals
      STYLE: Use range-based loops from C++11
      PERF: Allow compiler to choose best way to construct a copy
      PERF: Replace explicit return calls of constructor
      STYLE: Use auto for variable creation
      BUG: Restore ITK.kws.xml preferences
      ENH: Provide advanced development mode for writing GTests
      COMP:  Use C++11 noexcept directly
      ENH: Use simplified/natural conversion to const pointer
      ENH: Use natural ConstPointer conversion
      STYLE: Use override statements for C++11
      COMP:  Use C++11 noexcept directly
      ENH: Add google test for itkIndex.h
      ENH: Make const operator[] conform to standards
      STYLE: Change aggregate classes to mirror std::array
      ENH: Update all remote modules with C++11 conformance
      BUG: New SmartPointer conversion ambiguity
      BUG: Error in ITK_VERSION construction
      ENH:  Add introspection into the build process
      COMP: Silence warning of mismatched signs.
      ENH: Bring in C++11 updates for ITKBridgeNumPy
      STYLE: Do not use itkGetStaticConstMacro in ITK
      COMP: Make member name match kwstyle requirements.
      BUG: Add ability to construct SmartPointer with NULL
      BUG: Update NULL pointer patch with final fixes
      COMP: std::bind2nd deprecated C++11, remove C++17
      COMP: Improve variable naming for m_DerivativeOperator
      STYLE: Use C++11 override keyword directly
      STYLE: Use C++11 override keyword directly
      ENH: Add compression option for Transform files
      COMP: Address type mis-match compiler warning
      COMP: Remove unused variable warning
      ENH: HDF5 moved from svn to git
      ENH: Update HDF5 import script for 1.10.2
      ENH: Remove svn version of hdf5 files not added by import from git
      STYLE: Consistently name for ITK conventions
      BUG: Fixing the HDF5 internal path names tests
      COMP: Fix const assignment error in testing
      COMP: Prefer snprintf to avoid buffer overruns
      STYLE: Use modern C++11 =delete to indicate not implemented
      ENH: Update KWStyle hash to build latest updates
      STYLE: Prefer error checked std::stoi over atoi
      BUG: GE4IO atoi failures resulted in implicit 0 image slices
      BUG: Commandline arguments were not properly processed
      BUG: atoi failure => 0 hid processing failures
      BUG: Command line parsing silently failed
      STYLE: Prefer error checked std::stod over atof
      BUG: Failed conversion to float with uncaught failure
      STYLE: Pefer = default to explicitly trivial implementations
      COMP: Use nullptr instead of 0 or NULL
      STYLE: Replace defines with constexpr and using statements
      COMP: Fix VS2017 compilation regression
      COMP: Use static method from class directly
      STYLE: Remove support for pre 20160229 VXL_VERSION_DATE_FULL
      STYLE: Decouple matlab printing explicit instantiations
      ENH: Adding explicit instantiations for dimensions 1-10
      COMP: Remove duplicate explicit instantiations
      COMP: Remove unused variables.
      BUG: vidl_itk_istream does not override an ITK object
      ENH: Use C++11 override for overridden functions.
      STYLE: Remove unnecessary vcl_XXX.h headers
      ENH: Add scripts to assist with migrations
      ENH: Adding a few more clang tidy checks.
      BUG: Do not override user selection settings
      ENH: Update to require VXL 2.0.0 or later
      STYLE: Remove unused include headers
      ENH: Provide mechanism for changing git remote url
      COMP: Many of the remotes require updates for ITKv5
      STYLE: Remove VCL_INCLUDE_CXX_0X outdated reference.
      ENH: Add specification for -D__clang__ to clang-tidy
      PERF: emplace_back method results in potentially more efficient code
      STYLE: Replace integer literals which are cast to bool.
      ENH: Fetch upstream as part of setup.
      ENH: Stop abort on first failure.
      BUG: Default commit message fixed for =delete modernization
      ENH: Provide consistency with C++11 core guidelines
      BUG: Missing default argment override
      ENH: VXL 2.0.0 provides all instantiations needed by ITK
      ENH: Fix deficient itkCastImageFilter test
      STYLE: Minor variable naming and readability changes.
      COMP: Provide conversion range testing valid_static_cast function
      ENH: Increase minimum VXL version to 2.0.1 for wrapping
      ENH: REVERT compile VNL in parallel on Visual Studio
      ENH: Require VXL v2.0.2 release.
      ENH: Increase size attribute for large third party file.
      STYLE: Remove VXL_VERSION_DATE_FULL conditionals
      COMP: Remove duplicate explicit instantiation
      ENH: Provide range for non-warned cmake versions
      ENH: Update the GIFTI codebase
      DOC: Typo: @tparam -> @param fix doxygen generation
      DOC: Improved documentation for the migration guide
      ENH: Manually update nifti version from github
      ENH: Employ the `rule of zero` for aggregate types
      STYLE: Use default member initialization
      STYLE: Remove the register keyword
      ENH: NIFTI needs to be part of ITKTargets
      STYLE: rm initializer list extra lines
      ENH: DCMTK 3.6.4 api changes accomodated
      ENH: Move default [con/de]strutor to .h
      COMP: Protected static function must be public
      PERF: GDCM & DCMTK CanRead fails very slowly for non-DICOM files.
      PERF: readability container size empty
      STYLE: Prefer = default to explicit constructor(){}

Hastings Greer (1):
      ENH: Add wrapping for Labeled PointSet to PointSet registration classes

Hui Xie (1):
      BUG: The Z spacing was set using thickness

Isaiah Norton (3):
      PERF: improve DCMTKFileReader::CanReadFile perf
      BUG: prevent segfault when transform reader fails to load .mat
      BUG: don't quote argument to URL_HASH for FFTW

Jean-Christophe Fillion-Robin (3):
      BUG: Prevent gdcm "missing implementation" error on macOS
      STYLE: MeshIO: Introduce ITKIOMeshBase module. See #3393
      BUG: Refactor itkFloatingPointExceptions to fix macOS support

Jon Haitz Legarreta (16):
      STYLE: Fix typo in itk::VariableLengthVector struct name.
      ENH: Set the InsightSoftwareConsortium repo as the remote.
      STYLE: Improve itkHoughTransform2DLinesImageFilter style.
      DOC: Add different GitHub badges to the `README.md` file.
      DOC: Change the ITK Git tips wiki page reference for Git scm website.
      DOC: Add commands in a `Review` section to the ITK Git cheat sheet.
      DOC: Change the `ITKGitCheatSheet.tex` file tittle.
      DOC: Make references to ITK issue tracking system consistent.
      DOC: Update the ITK logo files in `Documentation` folder.
      DOC: Remove PSD files containing old ITK logo.
      BUG: Address use of CMake variables in CMakeLists.txt.
      COMP: Set the minimum required CMake version to 3.10.2.
      STYLE: Stick to the ITK style guidelines.
      COMP: Bump the remote modules' versions after the CMake ver update.
      ENH: User initialization lists over direct assignment.
      ENH: Improve itkEuclideanDistancePointMetric coverage.

Jon Haitz Legarreta Gorroño (41):
      BUG: Fix bug in class LaTeX documentation Doxygen link.
      BUG: Fix unnecessary explicit itk namespace mention in Doxygen link.
      DOC: Remove redundant ellipsis after "etc." in LaTeX doc.
      DOC: Remove unnecessary EOF comments.
      DOC: Make namespace closing bracket comments consistent.
      DOC: Fix typo: substract to subtract.
      DOC: Remove unnecessary ifdef and class ending comments in FEM.
      DOC: Remove non-existing namespace comment.
      ENH: Add a code of conduct to the ITK project.
      ENH: Bump latest version of the ITKSplitComponents remote module.
      DOC: Remove unnecessary Doxygen \ref keyword in module crossrefs.
      DOC: Remove crossrefs to non-existing classes.
      DOC: Improve the ISSUE_TEMPLATE.md markdown file contents.
      DOC: Change the term `mailing list` in README.md.
      DOC: Fix syntax mistake in `Sharing Data` section of CoC.
      DOC: Fix typos in class doc.
      STYLE: Update the wrap files to match current CMake syntax.
      DOC: Fix typo.
      COMP: Use and move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section.
      ENH: Update the WikiExamples remote module commit hash.
      COMP: Bump the remote modules' versions.
      DOC: Fix miscellaneous typos.
      ENH: Add the ITK BoneMorphometry module as a remote.
      COMP: Bump remote modules versions.
      ENH: Clean up itkGrayscaleMorphologyImageFilter tests.
      ENH: Increase itk::OtsuMultipleThresholdsImageFilter coverage.
      COMP:  Use C++11 nullptr directly
      DOC: Fix incorrect class ref for Doxygen.
      ENH: Bump remote modules to their latest commits.
      ENH: Increase coverage for itk::GrayscaleFillholeFilterImage.
      DOC: Update the documentation concerning binary data.
      DOC: Format remote module documentation README to markdown.
      ENH: Update the SmoothingRecursiveYvvGaussianFilter remote module hash.
      DOC: Point to the ITK git cheat sheet in the repository.
      DOC: Fix the ITK Git cheat sheet file link.
      ENH: Add script to priviledge C++11 type alias over typedef.
      DOC: Advise users to delete the PR template in message.
      DOC: Move the issue and pull request templates to a specialized folder.
      ENH: Remove `FindITKPythonLibs.cmake` file.
      ENH: Follow remote repositories name changes.
      DOC: Adjust the CoC Committe to the 01/09/2019 meeting decision.

KWSys Upstream (2):
      KWSys 2018-01-08 (f7990fc2)
      KWSys 2018-06-01 (8ef62b28)

Kwame Kutten (2):
      BUG: Removed quotes from fftwf and fftwd hashes
      ENH: Make StatisticsImageFilter returns Sum Of Squares

Lucas Gandel (2):
      ENH: include WrapITKConfig for external module
      ENH: Allow for itk::ImageSource wrapping override

Marcus D. Hanwell (1):
      DOC: Add GitCheatSheet sources

Marian Klymov (1):
      ENH: Mark copy constructor of ExceptionObject and derived classes noexcept.

Martino Pilia (1):
      BUG: fix itkFormatWarning in Python wrapping

Matthew McCormick (197):
      BUG: Remove ITKTubeTK remote
      ENH: Add PolarTransform remote module
      COMP: Do not use absolute path to TestBigEndian.cmake in GDCM
      COMP: Enable pthreads shim with Emscripten
      COMP: Specify OutputImageType for boundary conditions in FFTPadImageFilter
      COMP: Update DCMTK to 2018.01.16 and support Emscripten
      COMP: Fix cross compiling DCMTK
      BUG: Do not set DCMTK_WITH_XML to ON in DCMTK configuration
      COMP: itk::Math perfect forward return type
      BUG: Do not segfault when trying to use PDEDeformableRegistrationFilter
      COMP: Ensure CastXML uses C++11 with GCC or Clang
      COMP: Remove legacy BackTransform methods from Rigid3DTransform
      COMP: Explicitly add NumericTraits::max to the API
      COMP: Address SG line length warnings in DataRepresentation, Filtering
      DOC: Update README Software Guide link
      DOC: Update Discussion link in the README
      ENH: Add banner to the README
      COMP: Bump KWStyle to 2018-02-22 master
      COMP: Add missing wrapping for MultiThreaderBase
      COMP: Do not wrap methods with ?unknown? type
      COMP: Add missing itkSimpleFastMutexLock headers
      ENH: Import the ITKBridgeNumPy module
      BUG: GetArrayFromImage calls UpdateLargestPossibleRegion
      BUG: Add missing wrapping for PoolMultiThreader
      BUG: Exclude MultiThreaderBase from GetNameOfClass test
      COMP: Add SimpleFastMutexLock include to ESMDemonsRegistrationFunction
      BUG: Cast to correct iterator type in PeriodicBoundaryCondition
      BUG: Fix casting in PeriodicBoundaryCondition
      BUG: Bump KWStyle for C++11 brace list initialization support
      BUG: Fix MeshFileWriter export specification
      ENH: Create ITKIOMeshVTK module
      COMP: ExceptionObject declaration must come before usage
      ENH: Migrate BYU IO into ITKIOMeshBYU
      COMP: Bump ParabolicMorphology for MultiThreaderChanges
      COMP: Remove SmartPointer NULL initialization compatibility code
      DOC: Use http for issues.itk.org
      ENH: Migrate MultiScaleHessianBasedMeasureImageFilter out of ITKReview
      ENH: Move ContourExtractor2DImageFilter out of ITKReview
      DOC: Avoid Voronoi term when referring to the pixel center
      COMP: Wrap MultiResolutionPDEDeformableRegistration for Pyramid filter types
      ENH: Support Python snake case keyword arguments in object initializion
      PERF: Avoid extra condition check in itkBase.py
      COMP: Define ITK_DELETE_FUNCTION for backwards compatibility
      BUG: Fix bugs in ITKV4_COMPATIBILITY definition
      COMP: Do not disallow constructors in Python classes
      DOC: Add Mathieu Malaterre to GDCM copyright holders in NOTICE
      COMP: Address array initialization in itkShapedImageNeighborhoodRangeGTest
      COMP: ShapeImageNeighborhoodRange signed unsigned comparison
      COMP: Add missing itkViewImage.h include to itkViewImage.hxx
      COMP: Initialize CovariantVector in DeformableSimplexMesh3DFilter
      COMP: Update Unary and Binary filters for new generator class base
      COMP: Initialize DeformableSimpleMesh3DFilter displacement
      COMP: Suppress maybe-uninitialized in SimpleDataObjectDecorator Component
      COMP: Do not include itkMultiThreader.h in the header tests
      COMP: Fix Python wrapping of MultiThreaderBase
      COMP: Reduce example line lengths for inclusion in the SG
      COMP: Remove duplicate InPlaceImageFilter wrapping for RGB -> UC
      BUG: Do not copy workbox files when BUILD_DOCUMENTATION is OFF
      COMP: Remove duplicate BinaryGeneratorImageFilter class wrapping
      ENH: Remove itkzlib in preparation for subtree update
      ENH: Add ZLIB UpdateFromUpstream.sh
      BUG: Do not use P-threads with Emscripten
      COMP: Remove extra argument from HoughTransform3DCircles wrapping
      ENH: Update testing data content links
      BUG: Correct Windows and macOS CastXML hashes
      BUG: Fix SLICImageFilter wrapping
      BUG: Improve backwards compatibility of BoxUtilities functions
      BUG: Remove commented, unused Python wrapping configuration
      BUG: Remove deprecated GetPointer wrapping method
      ENH: Python snake case functions
      BUG: Remove deprecated itk.write function
      BUG: Remove unmaintained itk.show, itk.show2D
      ENH: Add snake case function aliases for NumPy conversions
      DOC: ITK 5 now requires CMake 3.10.2
      BUG: Bump SplitComponents remote module to 2018-07-18
      BUG: Remove TBBImageToImageFilter remote module
      COMP: Set CMake project command VERSION
      COMP: Do not wrap itk::ThreadJob
      ENH: Add ParallelizeImageRegionRestrictDirection
      ENH: Bump pygccxml hash to 2018-08-07 develop branch
      ENH: Update pygccxml git subtree version
      BUG: Remove ArchiveTestingDataOnMidas.py
      BUG: Avoid symlink issues in UpdateThirdPartyFromUpstream.sh
      DOC: Additional information and updates on bug fix release process
      COMP: Prevent duplicate wrapping ouput file specification
      COMP: Support instantiation of a 1D TranslationTransform
      DOC: Update how to reference a GitHub issue in the commit-msg hook
      DOC: ITK 5 Migration Guide grammar tweaks
      ENH: PEP8 for itk.Extras arguments
      ENH: Synchronize testing data content links
      DOC: Updates and improvements on the release process
      COMP: Address empty _FILE_OFFSET_BITS in tif_config.h with MinGW64
      BUG: Do not warn about FFTW GPL license when using Intel MKL
      DOC: Improve ITK_USE_MKL description
      BUG: Mark MKL CMake configuration options as advanced
      ENH: Add support for NVidia CUDA FFTs via cuFTTW
      COMP: Fix HDF5 CMAKE_CROSSCOMPILING_EMULATOR support
      COMP: Fix HDF5 itk_h5CX_set_apl implicit declaration
      COMP: Use the Platform Threader by default with Emscripten
      COMP: Set CMP0074 to NEW
      COMP: Fix HDF5TransformIO compatibility with HDF 1.8
      COMP: Set CMP0074 in third party libraries
      COMP: Do not mark itk::FloatingPointExceptions constructor as deleted
      COMP: Define TransformBaseTemplate constructor / destructor
      COMP: DataObject InvalidRequestedRegionError unused parameter
      COMP: Remove unused orig parameters in DataObject
      BUG: Remove unused itk_minc2 imported library statement
      BUG: Skip MINC static library build when building shared libraries
      COMP: Suppress undefined public symbol warnings in third party libs
      BUG: Remove duplicate ITK version number
      COMP: Do not install HDF5 static library with BUILD_SHARED_LIBS enabled
      COMP: Add override to TransformBaseTemplate destructor
      COMP: Avoid GCC 4.8 default destructor internal compiler error
      BUG: Import zlib1.rc from ZLib subtree
      BUG: Use GlobalDefaultNumberOfThreads for FFTW plans
      BUG: Simplify specification of greatest prime factor with cuFFTW
      ENH: Add Azure Pipelines configuration
      BUG: Remove ResampleImageFilter duplicate number of pixels check
      COMP: Avoid Intel compiler warning on unknown deprecated attribute
      ENH: Ensure that .sha512 content links have LF newlines
      ENH: Configure .gitattributes for ghostflow-director CheckSize
      DOC: Update ITK Git Reference for GitHub
      DOC: Update CONTRIBUTING.md for GitHub
      COMP: Address ITKReview module wrapping following migration of ITKIOJPEG2000
      BUG: Migrate Python tests into their modules
      ENH: Use Release CMAKE_BUILD_TYPE for macOS Python CI builds
      BUG: Remove apt-get install's from macOS Azure Pipeline's configuration
      ENH: Update Git client side hooks for GitHub
      ENH: Add UploadBinaryData.sh script
      COMP: Remove vcl_complex.h from Python builds
      BUG: Remove vcl_complex support from itkTemplate.py
      BUG: Disable PythonGetNameOfClass test
      BUG: Enable ITKIOJPEG2000 by default
      DOC: Add Test a Topic to overview section
      DOC: Organize code of conduct sub-documents into a folder
      DOC: Update Documentation/Introduction.md for GitHub migration
      DOC: Fix spelling of "individual" in CONTRIBUTING.md
      DOC: Add CI status badges to the README
      COMP: Add missing mutex include to itkImageToHistogramFilter.h
      PERF: Use initializer list in ShapedImageNeighborhoodRange operator*
      DOC: Fix UploadBinaryData.sh link
      BUG: Run apt-get update for Linux Azure configuration
      COMP: Wrap InPlaceImageFilter for complex float to complex double
      BUG: Do not gpg sign third party updates
      DOC: Note that a pull request has to be explicitly opened
      DOC: Suggest using 72 characters or less in commit hooks
      ENH: Ensure NumPy is available for Python tests
      BUG: Add missing export specification for XMLReader, XMLWriterBase
      BUG: Remove invalid ShapeDetectionLevelSetFilter arguments
      COMP: Remove Doxygen \ref, \copydetails commands
      STYLE: Improve readability of HexadedronCell::EvaluatePosition.
      COMP: Fix IsFloatingPoint concept check for VariableLengthVector
      BUG: Set up wrapping options for use in modules
      ENH: Add PhaseSymmetry remote module
      ENH: Download ExternalData cache for CI builds
      DOC: Remove the convention that release branches start with "release"
      ENH: Run content link synchronization script
      ENH: Add setup-girder-api-key Git Setup script
      BUG: Remove ExternalData MD5 content link generation
      ENH: Move FreeSurfer Mesh IO into a separate module
      DOC: Add missing CONTRIBUTING.md link in UploadBinaryData.md
      ENH: Add regression test for reading legacy multi-frame DICOM
      COMP: Float narrowing conversion in BSpline class initialization
      DOC: Move maintainer documentation into Documentation/Maintenance
      DOC: Import release archive notes from the Wiki
      DOC: Improve 4.13, 5 release notes from GitHub Releases
      ENH: Update Azure Pipelines CI testing cache to 5.0b03
      DOC: Releasing ITK updates for 5.0b03
      BUG: Exercise BinaryMaskToNarrowBandPointSetFilterTest
      BUG: BinaryMaskToNarrowBandPointSetFilter GenerateData protected
      BUG: Remove unused FixedDensityFunction in JensenHavrdaChatvatTsallis
      BUG: Do not build/use PoolMultiThreader without WinThreads or PThreads
      BUG: ShapeDetectionLevelSetFilter outputs
      BUG: ShapeDetectionLevelSetFilter outputFileName
      COMP: Remove itk::ThreadPool::GetGlobalDefaultNumberOfThreadsByPlatform
      DOC: Add 5.0 Beta 3 release notes
      DOC: Fix link to UpdatingThirdParty.md in CONTRIBUTING.md
      ENH: Add wrapping for BinaryMaskToNarrowBandPointSetFilter
      COMP: Mark DCMTKImageIO::CanWriteFile argument as unused
      COMP: Fix Software Guide line length too long warnings
      COMP: Fix Software Guide line length too long warnings
      ENH: Use CompensatedSummation in point set metrics to improve robustness
      COMP: ShapedImageNeighborhoodRangeGTest array initialization
      ENH: Move Gifti Mesh IO into a separate module
      ENH: Consistency in wrapped mesh types
      PERF: Parallelize ManifoldParzenWidnowsPointSetFunction::SetInputPointSet
      ENH: Move OBJ Mesh IO into a separate module
      ENH: Migrate OFF IO into ITKIOMeshOFF
      ENH: Update IOSTL to 2019-01-16 master
      COMP: Do not use readNoPreambleDICOM with Emscripten
      BUG: Fix Azure Pipelines commit checkout
      BUG: Fix Azure Pipelines master checkout on Windows
      BUG: Default MeshIOBase PointDimension is 3
      ENH: Update IOMeshSTL remote module and update name
      ENH: Improve loading to help pyinstaller can analyze module dependencies
      COMP: Wrapping of VectorContainer and DefaultStaticMeshTraits
      ENH: Add legacy multi-frame DICOM MD5 content links

MetaIO Maintainers (1):
      MetaIO 2018-07-17 (6328f544)

Niels Dekker (103):
      PERF: Improved speed of copying and resizing NeighborhoodAllocator
      STYLE: Removed 'char(255)' casts from NumericTraits min() and max()
      STYLE: Removed assignments from Neighborhood copy constructor
      BUG: Fixed semantics NeighborhoodAllocator operator== and operator!=
      BUG: GaussianDerivativeImageFunction should use image spacing consistently
      PERF: NeighborhoodOperatorImageFunction avoids copy ConstNeighborhoodIterator
      PERF: Removed blurring from GaussianDerivativeImageFunction
      ENH: Added GetCenterPoint and SetCenterPoint to EllipseSpatialObject
      DOC: Explained calling GetCenterPoint() when using Hough filter->GetCircles()
      ENH: IsInside(point) made easier, especially for HoughTransform circles
      STYLE: Using C++11 auto in HoughTransform2DCirclesImageFilter
      PERF: GaussianDerivativeImageFunction now reuses NeighborhoodIterator objects
      PERF: GaussianDerivativeImageFunction constructor, RecomputeGaussianKernel()
      COMP: ITK_DISALLOW_COPY_AND_ASSIGN now unconditionally does '= delete'
      COMP: Moved ITK_DISALLOW_COPY_AND_ASSIGN calls to public section
      COMP: Manually moved ITK_DISALLOW_COPY_AND_ASSIGN calls to public section
      COMP: Moved ITK_DISALLOW_COPY_AND_ASSIGN calls in *.cxx to public section
      ENH: Added Compute member functions to NeighborhoodInnerProduct
      STYLE: Added DISALLOW_COPY_AND_ASSIGN(GaussianDerivativeImageFunction), etc.
      ENH: Added ShapedImageNeighborhoodRange for modern C++ style iteration
      STYLE: Removed '&' from pixelPointer param of NeighborhoodAccessorFunctor::Set
      PERF: Removed virtual ~NeighborhoodAccessorFunctor() and made class final
      COMP: Fixed ShapedImageNeighborhoodRange doxygen + signed/unsigned warning
      BUG: Dropped OffsetTable assumptions from ShapedImageNeighborhoodRange
      PERF: Made HoughTransform2DCircles GaussianDerivative call non-virtual
      COMP: Workaround Clang range-loop-analysis warning NeigborhoodRange test
      ENH: Added class to create offsets for a hyperrectangular neighborhood shape
      ENH: Random access support for ShapedImageNeighborhoodRange iterators
      DOC: Fixed \code sections ShapedImageNeighborhoodRange and added \author
      STYLE: Renamed RelativeIndices to ShapeOffsets in ShapedImageNeighborhoodRange
      ENH: Added ConnectedImageNeighborhoodShape, for N-connected neighborhoods
      ENH: Added operator[] to ShapedImageNeighborhoodRange
      ENH: Documented + tested order offsets ConnectedImageNeighborhoodShape
      COMP: Fixed conversion to PDFValueType in MattesMutualInfo...Threader
      ENH: Added reverse iterators to ShapedImageNeighborhoodRange
      STYLE: Removed HoughTransform2DCircles default for TRadiusPixelType
      ENH: Changed type float data members HoughTransform filters to double
      ENH: Added Functor::CoLexicographicCompare
      ENH: Made Functor::LexicographicCompare more generic and easier to use
      BUG: Added default-constructor iterator ShapedImageNeighborhoodRange
      ENH: Added ImageNeighborhoodPixelAccessPolicy for custom border extrapolation
      STYLE: Removed LinearInterpolateImageFunction::m_Neighbors
      PERF: Made ResampleImageFilter::CastPixelWithBoundsChecking faster
      STYLE: NumericTraits::NonpositiveMin() using numeric_limits::lowest()
      BUG: Fixed casts to int64_t and double in ResampleImageFilter
      ENH: Tested ResampleImageFilter preserves 'double' and int64_t pixels
      STYLE: Replaced 'bool pre = 0' by 'bool pre = false'
      STYLE: Declared "IsAt" iterator member functions 'const'
      DOC: Replaced leading stars ('*') by spaces in Doxygen code blocks
      STYLE: Replaced "Hyperrect..." by "Rect..." in class + function names
      BUG: Removed underscores from GTest test names
      STYLE: Shortened itkShapedImageNeighborhoodRangeGTest test names
      STYLE: Declared VerifyPreconditions() member functions 'const'
      STYLE: Replaced star ('*') by space in front of Doxygen \code tags
      PERF: Made ConstNeighborhoodIterator::GetPixel(i) much faster
      ENH: Added GradientNormThreshold to HoughTransform2DCirclesImageFilter
      STYLE: Removed unused ShapedImageNeighborhoodRange::m_Image
      ENH: Added ConstShapedNeighborhoodIterator::ActivateOffsets(offsets)
      DOC: Replaced leading stars ('*') by spaces in indented Doxygen code
      ENH: Added GenerateConnectedImageNeighborhoodShapeOffsets()
      COMP: Fixed GDCM OpenJPEG name mangling
      ENH: Added ShapedImageNeighborhoodRange::SetLocation(index)
      COMP: Fixed GDCM OpenJPEG name mangling
      ENH: Added HoughTransform2DCirclesImageFilter::UseImageSpacing
      ENH: Added IndexRange for efficient region and grid space iteration
      COMP: Fixed IndexRange warnings -Wshadow -Wmissing-field-initializers
      PERF: unsharpenedImage iterator in N4Bias...Filter is now "WithIndex"
      BUG: Avoid premature GaussianDerivative kernel computation HoughCircles
      BUG: ShapedImageNeighborhoodRange should not try to avoid rvalue offsets
      ENH: Added policy for constant NeighborhoodRange values outside image
      STYLE: AccessorFunctor::SetPixelAccessor parameter reference to const
      PERF: Removed 'virtual' from Default Pixel Accessor destructors
      ENH: Added ImageRange: a range of iterators to the pixels of an image
      STYLE: ImageHelper now doing '+=' and using C++11 std::integral_constant
      BUG: Fixed ShapedImageNeighborhoodRange copying pixel access parameter
      COMP: Fixed ImageRange warning, passing object to variadic constructor
      DOC: Did #136 Update migration guide with Hough transform changes
      ENH: Added default-constructor and empty() to ImageRange
      ENH: ShapedImageNeighborhoodRange now supports any buffered region index
      PERF: Defining ImageRange iterator as raw pixel pointer, when possible
      ENH: Added Experimental::MakeImageRange(TImage*)
      PERF: Replaced postfix ++ calls on ITK iterators by the prefix ++ calls
      PERF: Small improvements to equality operators of Image Region classes
      PERF: Added C++11 final, noexcept, default, initializers to ImageRegion
      DOC: issue #273: SyNImageRegistrationMethod default member initializers
      STYLE: Small improvements ImageBase constructor, SetRequestedRegion, '\'
      COMP: Fix "unreachable code" MakeOutput RegistrationMethods
      PERF: N4BiasFieldCorrectionImageFilter implementation using ImageRange
      STYLE: Renamed ImageRange to ImageBufferRange
      PERF: Remove SystemInformation data from ResourceProbe, fix issue #350
      STYLE: Remove dynamic_cast from CastToSTLContainer(), add noexcept
      PERF: N4BiasFieldCorrectionImageFilter adds points + weights ~20% faster
      PERF: Fast assign point data, weights BSplineScatteredData filter
      COMP: ImageBufferRange iterator same as const_iterator, for const image
      PERF: BSplineDecompositionImageFilter now calls ImageAlgorithm::Copy
      ENH: Add default-constructor and empty() to ShapedImageNeighborhoodRange
      ENH: Made ShapedImageNeighborhoodRange assignable and tested copy + move
      STYLE: C++ "Rule of Zero" for iterator classes of Range types
      PERF: Add fast noexcept move semantics to Neighborhood and its Allocator
      BUG: ResourceProbe::Reset() should set m_MaximumValue to lowest value
      BUG: Fixed MoveAssignedRangeHasSameIterators GTest of two range types
      STYLE: Move test utils default-constructed ranges to RangeGTestUtilities
      ENH: Add default-constructor and empty() to IndexRange

Pablo Hernandez-Cerdan (47):
      STYLE: Add script Move_DISALLOW_COPY_to_public
      ENH: Add stateless viewer ViewImage with Python wrap.
      DOC: Add docs to ViewImage.
      COMP: Fix catch by value warning in SpatialObject.
      COMP: Remove ignored const qualifier in template.
      COMP: Fix warnings -Wcatch-value
      ENH: Update isotropic wavelets module.
      ENH: Add frequency iterators and band pass filter.
      COMP: Update IsotropicWavelets, remove FrequencyIterators
      STYLE: Remove comment in ITKImageFrequency cmake
      BUG: Fixes generating floating point exceptions
      COMP: Fix warnings in cdash introduced after FPE.
      DOC: Add example using std::atomic for multithreading.
      COMP: Avoid extra point copy in MetaTube
      COMP: Fix hdf5 warning missing perl script
      COMP: Fix HDF5 CMake warning policy CMP0075
      ENH: Tweak constructors, Ro5 in FixedArray, Point
      ENH: Add Ro5 to FixedArray and derived classes
      COMP: Fix warnings related to Ro5 changes in FixedArray
      ENH: Add Ro5 constructors to SymmetrySecondRankTensor
      ENH: Add Ro5 to classes derived from Point
      ENH: Initialize SecondRankTensor and RGBPixelType
      ENH: Print direction in ImageIOBase
      ENH: Add HalfHermitianFrequencyIterator
      ENH: Use variadic templates for SetPosition
      ENH: Add ThirdParty module Eigen3
      COMP: Add CONFIG to find_package(Eigen3)
      COMP: Add missing headers SymmetricEigenAnalysis
      COMP: Use the right constructors for fixed eigen3 matrix
      COMP: Reorder variables associated find_package in Eigen3
      ENH: Update external module ITKIsotropicWavelets
      DOC: Fix doxygen in SymmetricEigenAnalysis
      ENH: Python, wrap complex in NumericTraits
      ENH: Update IsotropicWavelets module
      BUG: Fix failure of ITK_EIGEN macro expansion
      ENH: Add test checking noexcept moves in FixedArray
      STYLE: Change EXPECT_EQ to EXPECT_TRUE|FALSE in CommonTypeTraitGTest
      ENH: Add python wrapping for std::pair and other int containers
      ENH: Add internal/external eigen3 libraries
      ENH: Update IsotropicWavelets
      ENH: Add new c++11 member functions of std::vector to itk::VectorContainer
      ENH: Simplify specialization of NumericTraits<std::complex<TComponent>>
      BUG: itkMatrix: Use NumericTraits::Zero instead of literal 0
      DOC: SoftwareGuide: improve TransformIndexToPhysicalPoint notation
      COMP: Fix multi-line comment warning generated by latex notation
      [Backport] BUG: Fix OFFIS_DMCTK_VERSION_NUMBER where wrunlock was introduced
      [Backport] BUG: Fix export for ITKDeprecated classes

Rashad Kanavath (1):
      COMP: fix linking on OpenBSD

Roman Grothausmann (3):
      DOC: adjusted to fit more general case n != m
      DOC: corrected description of the output
      BUG: avoid overwriting output in 2nd run used for comparison in test:

Sean McBride (29):
      STYLE: Fixed up confusion between base 2 and base 10 prefixes
      STYLE: arranged/alphabetized things to make subsequent changes reviewable
      COMP: Fixed some missing name mangling of libTIFF symbols
      BUG: fixed crash on macOS under guardmalloc from RunOSCheck()
      BUG: don't use double underscore, which is reserved in C++
      STYLE: fixed some spelling, spacing, and comments
      DOC: Fixed comment about LegacyAnalyze75Mode default value
      BUG: Some minor cleanup and improvement after itkNiftiImageIO code review
      BUG: Analyze 7.5 fixes/improvements
      COMP: Mangle HDF5 symbol names
      COMP: Fixed clang Wrange-loop-analysis warnings
      DOC: fixed minor typo in comment
      BUG: Revert part of f38b1dd4, which caused a regression
      ENH: Added new DetermineFileType() API to NiftiImageIO
      COMP: fixed clang warning about unnecessary copy in for loop
      COMP: -Wunused-template & -Winconsistent-missing-destructor-override warnings
      COMP: Exercise dead code, fixing -Wunused-template
      COMP: Removed dead code, fixing -Wunused-template
      COMP: Fixed -Winconsistent-missing-destructor-override warnings
      BUG: Don't force GDCM_USE_COREFOUNDATION_LIBRARY to OFF
      COMP: Suppress some warnings in ThirdParty/DoubleConversion
      BUG: fixed null access found by UBSan
      BUG: removed illegal int to enum conversion
      COMP: fix warning about implicit double to bool conversion
      COMP: Fixed warning about missing case label in public header
      COMP: Fixed three misc clang warnings
      COMP: Added additional HDF5 symbols for mangling
      DOC: improved comments about HDF5 symbol mangling
      COMP: fixed some -Wunused-template warnings by adding private namespaces

Simon Rit (6):
      BUG: fix deadlock in FFTW for windows shared libs
      COMP: missing include path for FFTW
      ENH: allow wrapping of XML writers
      BUG: fix NumPy bridge for itk::Image with PixelType itk::Vector
      ENH: improve automatic Python ImageFileReader for non-scalar pixel types
      BUG: python itk.Image returned by GetImageFromArray now manages its own buffer

Taylor Braun-Jones (2):
      BUG: Handle single-component PLANARCONFIG_SEPARATE TIFF images (#ITK-3518)
      COMP: Fix clang diagnostic: case value cannot be narrowed

Tobias Wood (1):
      BUG: Swapped int to SizeType to prevent overflow errors

VXL Maintainers (15):
      VNL 2018-01-25 (ed159d55)
      VNL 2018-01-31 (39559d06)
      VNL 2018-03-04 (09a097e6)
      VNL 2018-05-16 (26628604)
      VNL 2018-07-26 (2a77e40b)
      VNL 2018-08-04 (3dafea87)
      VNL 2018-09-05 (fc0c9043)
      VNL 2018-11-04 (ea3a2cc9)
      VNL 2018-11-08 (88b72533)
      VNL 2018-11-14 (ee083096)
      VNL 2018-11-15 (4fe68119)
      VNL 2018-11-18 (fa7c7abd)
      VNL 2018-11-23 (cb6f5dcb)
      VNL 2018-11-29 (f6e20c3c)
      VNL 2018-12-15 (bb0d2eb6)

Vladimir S. FONOV (1):
      MINC 2018-08-09 (ce4333ca)

Yann Le Poul (4):
      BUG: make sure the palette is empty when m_IsReadAsScalarPlusPalette is false
      DOC: fix rotation spelling issue in some versor related files
      STYLE: IsReadAsScalarPlusPalette already printed in parent class
      BUG: unnecessary call to GetExpandRGBPalette

Ziv Yaniv (1):
      ENH: Adding user set min and max values for noise.

Zlib Upstream (2):
      zlib 2018-06-11 (355d8648)
      zlib 2018-06-11 (355d8648)

allywarner (1):
      BUG: CMake build errors

ihnorton (1):
      COMP: use HDF5 library names only to avoid abspaths w/ SYSTEM_HDF5

pierre33 (1):
      ENH: Update itkNaryFunctorImageFilter
```

List of BRAINSTools changes:

```
$ git shortlog --no-merges b045970..ac4dafaa

Alexander Leinoff (1):
      COMP: Allow cmake generation on OSX without XCode

David Ellis (2):
      ENH: Adds logismosb interfaces and workflows
      ENH: Nipype recon-all workflow added

Hans J. Johnson (196):
      ENH: Prefer to build everything as static to avoid libary dependancies.
      ENH: Force the NO_MODULE for RTK.
      ENH: Resyncronized with Slicer packages.
      ENH: Update Opencv
      ENH: Propagate CXX settings to all sub-projects
      ENH: ITK Intermediate update.
      STYLE: Name ITKv5 as target name for dependancies
      ENH: Turn off ITK_LEGACY to prep for ITKv5
      ENH: Update ANTS,RTK and SlicerExecutionModel checkout tags
      COMP: Set VTK version identifier.
      ENH: Updated VTK with C++11 override instrumentation.
      BUG: UseImageSpacing should be defaulted to On
      ENH: Add github templates for PR and ISSUES
      COMP: Disable floating point exceptions checking
      BUG: New ITK enhanced random needs consistency in test.
      ENH: Set random number generated to historical ITK values
      COMP: Make tests pass
      BUG: Fix incorrect DATA{} syntax.
      ENH: Fix pre-mature exit when writing debug image
      STYLE: Minor code organization
      ENH: Setting min cmake version number.
      STYLE: Remove CMake-language block-end command arguments
      STYLE: Convert CMake-language commands to lower case
      COMP: Use recommended const interfaces
      ENH: Explicitly use parameters instead of defaults.
      ENH: Instrument to identify test failures
      COMP: Link to correct version of zlib
      COMP:  Use C++11 nullptr directly
      COMP: Identify null pointer assignments
      COMP:  Use C++11 override directly
      STYLE: Setting override for overriden member functions.
      BUG: Missing data dependancies for test suite
      COMP:  Remove compiler warnings from cnpy
      COMP: BRAINSSurfaceTools are not compiling currently.
      COMP: Remove outdated policies for CMP0017.
      STYLE: Use override statements for C++11
      ENH: Change to https from git download.
      ENH: Set BRAINSABC to always build.
      COMP: Update to new version of tbb
      ENH: Use C++ headers instead of C headers.
      COMP: Missing dependancy on ITKv5
      ENH: Setting deployment target to 10.9 for mac
      ENH: Put BRAINSSuperResolution code together.
      COMP: Attempt to build BRAINSTools for redistribution.
      STYLE: Push parts of codebase into an ARCHIVE dir
      BUG: Provide mechanism to move some modules to the ARCHIVAL status.
      COMP: Remove outdated cmake policy behavior
      ENH: Move old programs to an archive directory
      COMP: Remove shadowed typedefs by using explit namespaces
      ENH: Move BRAINSTalairach to the ARCHIVE Directory.
      ENH: Move BRAINSRefacer to the archive directory.
      ENH: Set ARHIVE project to on if ARCHIVE builds choosen.
      ENH: Add old DicomSignature program to archive
      COMP: Fix building against new GDCM version.
      Update NOTICE
      ENH: Use file introspection to determine BVec file format
      ENH: Remove unnecessary manual read file type flag
      ENH: Add thicknes from spacing when converting from FSL to NRRD.
      ENH: use constant scale factor initialization
      BUG: ITK_VERSION_MAJOR version checking
      ENH: Remove redundant ExternalData.cmake that overrode CMake version.
      STYLE: Prefer constexpr for const numeric literals
      STYLE: Replace itkStaticConstMacro with static constexpr
      STYLE: Prefer constexpr for const numeric literals
      STYLE: Do not use itkGetStaticConstMacro in ITK
      ENH: Update to ITKv5 with using over typedefs.
      ENH: Update dependancies for BRAINSTools.
      COMP: Wrong name specified for target_properties.
      BUG: regex substitution failure for const
      COMP: Silence build warning about unused CMAKE_EXPORT_COMPILE_COMMANDS
      COMP: Cleanup build options for BRAINSTools
      ENH: Organized for project name setting.
      ENH: Improve CXX_STANDARDS checking logic
      ENH: Remove outdated ITKv3 configuration checking.
      ENH: Set GENERATECLP_USE_MD5 unconditionally.
      STYLE: Organize build default settings.
      ENH: Use explicit named mark_as_superbuild parameters.
      ENH: Add better debugging to version checking.
      ENH: Improve version settings for BRAINSTools
      ENH: Use MultiThreaderBase to get GlobalVariables.
      ENH: Provide new baseline for BRAINSFitTest_RigidRotGeomNoMasks
      ENH: Prevent constant changes as patches are added
      BUG: Prevent constant changes as patches are added
      ENH: Fixed tests failures due to incorrect testing environments
      ENH: Syncronized external superbuilds with Slicer.
      ENH: Convert BRAINSCut python to python 3
      ENH: Convert all python code to python 3 conformance
      ENH: Version 5.0.0 of BRAINSTools
      ENH: Allow for compressed transform files.
      ENH: Reorganize python code to be compliant with Python3 modules
      BUG: New versions of ANTs have slightly different options
      BUG: Fix new nipype behavior of data sink with missing values.
      ENH: Consolodate duplicate functions
      ENH: Fix simple itk usage failure.
      STYLE: Update comments.
      BUG: Nipype needs OrderedDict for hash consistency
      ENH: Passing dict() or OrderedDict() through pipeline causes hashing issues
      BUG: Incorrect debugging option retained for None images
      ENH: Allow for possiblility of compiling with ITKv4
      ENH: Update ITKv5 to version with UseCompression for transforms.
      ENH: Update to latest version of boost.
      BUG: Fix bug in mark_as_superbuild PROJECT->PROJECTS
      BUG: Error in caused mark_as_superbuild items to be missed
      ENH: Sync with slicer mark_as_superbuild options.
      ENH: Re-organize build option settings
      STYLE: Reviewed and cleaned up superbuild
      ENH: Updated  static version string setting.
      COMP: Add quick -march=native compiler flag adding
      ENH: Remove unnecessary build code for superbuild.
      ENH: Syncronized with NAMICExternalProjects build.
      ENH: Propogate default /lib /bin directories to all projects
      BUG: Bad hash for scan3Mask1.nii.gz.md5.
      ENH: Unlink ITK from VTK GUI build.
      COMP: HD5 changed API for printing Errors.
      COMP: Remove unused variables.
      COMP: ITKv5 updates for JPEG2000.
      ENH: Updated packages for improved C++11.
      ENH: Add azure testing scripts.
      COMP: Fix KWStyle compilation fixes.
      BUG: Mismatch type for CovariantVector initialization.
      COMP: virtual designation is redundant with override designation.
      COMP: ITKv5 multi-threading model compatibility.
      COMP: ITKv5 uses std::mutex directly.
      COMP: Only configure inner BRAINSTools
      COMP: Fix function signature for override
      COMP: Future proof vnl_math_XXX function usage.
      COMP: Replace vcl_XXX items with std::XXX
      COMP: Remove unused variable.
      ENH: ITKv5 itkMultiThreader.h -> itkMultiThreaderBase.h
      STYLE: Replace itkStaticConstMacro with static constexpr
      STYLE: Use "typename" for template parameters
      STYLE: Prefer error checked std::sto[id] over ato[if]
      COMP: Prefer C++ headers to C99 headers.
      COMP:  Use C++11 nullptr directly
      COMP: Use and move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section.
      ENH: Update external packages C++11 compliance
      ENH: ITKv5 Threading Model changes needed for testing
      STYLE: Prefer C++11 type alias over typedef
      DOC: Add documentation for newer OS versions.
      ENH: Comment out tests that do not work due to missing data
      ENH: Disable building of BRAINSSurfaceTools
      COMP: Remove compiler warnings.
      COMP: Make VerifyInputInformation a const function (ITKv5)
      ENH: Update to 2019_U2 to fix TBB issues with mac min version compilations.
      ENH: Propagate MAC_OS_X_VERSION_MIN_REQUIRED to TBB build.
      ENH: Improve TBB versioning selection.
      COMP: Update new reference data after VXL ITKv5 updates.
      ENH: Updated BCD baselines for ITKv5
      COMP: ITKv5 backward compatibility fixess.
      ENH: Update BRAINSFit baselines for ITKv5
      ENH: Try to make random number generation consistent.
      ENH: Update ANTs and ITKv5 for more test coverage.
      ENH: Update data regression.
      COMP: Remove compiler warnings.
      ENH: Duplicate names for testing
      BUG: Failing test updated after visual review
      COMP: Cleanup compiler warnings.
      ENH: UPdate ITK to include vxl explicit instantiations.
      COMP: Remove deprecated SetUseFixedSampledPointSet
      COMP: SetNumberOfThreads -> SetNumberOfWorkUnits
      ENH: Update reference data to sha512 on new data source.
      ENH: Remove duplicate md5 signatures.
      BUG: Failed uploads fixed for sha512
      COMP: Valgrind un-initialized memory reads
      STYLE: Prefer error checked std::sto[id] over ato[if]
      ENH: Adding an editor config for BRAINSTools.
      ENH: Add extra landmark Eye sanity checking for BCD.
      ENH: Add component testing for valid values to workflow running.
      STYLE: Remove trailing whitespace from files
      COMP: Add missing iostream header.
      STYLE: Remove unused file and directory ExternalSources.
      ENH: Fix dependency ordering for new project() syntax.
      ENH: Use range of new CMake features.
      ENH: Update to latest TBB build 2019_U3 for 10.14 compatibility.
      ENH: Update to latest version of packages
      ENH: Temporary ITK branch for dcmtk api compatibility.
      ENH: Add Travis pull request builds.
      ENH: Add helper file for configuring BRAINSTools for IDE.
      COMP: Errors with VTK TBB building in superbuild mode.
      STYLE: Fix naming of variables for DWIConverter class.
      ENH: Force clean ITKv5 building, remove legacy modes.
      ENH: ITKv5 const fix for duplicater image filter.
      ENH: ITKv5 fix for duplicater image filter.
      COMP: Allow building with C++ > 11
      ENH: Fix failing CI .travis.yml syntax.
      ENH: Add diagnostics for failed TBB download.
      ENH: Test for extra long test times.
      COMP: Moved my.cdash.org only supports https now.
      ENH: The maximum cmake version is only for policies
      ENH: Fix backward compatibility with OpenCV4.
      COMP: Match types for loops.
      BUG: Python set inclusion syntax error fixed.
      ENH: The maximum cmake version is only for policies
      ENH: Update wts reference file to have comment line.
      ENH: Wts file has header line to be ignored.
      BUG: Simple ITK does not currently expose SetNumberOfWorkUnits

Hui-Xie (6):
      COMP:  change VTK min version
      ENH: Add support for r/w Dicom, FSL, Nrrd formats
      BUG: erase unnecessary cmake config
      BUG: erase unnecessary lib in CMake file
      ENH: add DWI file convert utility interfaces
      BUG: stat uses ITK KWSys wrapper interface

Isaiah Norton (4):
      BUG: DWIConverter hard-coded transpose/FSLBy3Rows setting
      ENH: don't allow matching bvec and bval file names
      ENH: DWIConvert, Philips: also check supplement 49 b value field
      Bump ITK to v5b1 to resolve FFTW broken download

Jean-Christophe Fillion-Robin (4):
      Add License file
      STYLE: Add Notice file
      ENH: Improve build targets organization in IDE that support folders
      ENH: Use a single data management target and support customizing its name

Johan Andruejol (1):
      BUG: Add try/catch around BrainsFitHelper update

Regina EY Kim (2):
      BUG: Add a missing header
      ENH: fix the probabilityMap RegistrationToSubject option

azure-pipelines[bot] (1):
      Set up CI with Azure Pipelines
```

List of SimpleITK changes:

```
$ git shortlog --no-merges v1.1.0..dc5c1a1d

ASVBPREAUBV github_user (1):
      Update DicomSeriesReadModifySeriesWrite.R

Bradley Lowekamp (164):
      Bumping version to 1.2 for development
      Adding Python wheel downloads for v1.1.0 from SourceForge
      Fix template generator custom method with multiple parameters
      Add docs for set methods
      Add SetRegionOfInterest method
      Document conventions for Image Regions
      Add GetRegion method to LabelMap based statistics filters
      Correct RegionOfInterest doxygen from proper ITK class
      Adding wrapping for filters from remote LabelErodeDilate module
      Use named inputs for the paste image filter
      Adding wrapping for StochasticFractalDimensionImageFilter
      Add names inputs for FFTConvolutionImageFilter
      Update JSON python scripts to end files with newline
      Add ExternalData step to building Sphinx documentation
      Adding Readme for Sphinx images directory
      Adding Readme to white list of files
      Correct code-block indentation
      Add overflow and underflow count to ShiftScaleImageFilter
      Adding wrapping for the BSplineDecompositionImageFilter
      Add interpolator enum for the BSplineResampleImageFunction
      Fix documentation for GetCoefficientImages method
      Adding test for resampling with the BSplineResampler iterpolator
      Add specification of ITK ImageIO used to read image
      Use return self macro
      Adding testing for setting ImageIO
      Adding baseline hash for LabelSetErode filter
      Update require CMake version to 3.10
      Remove CMake version checks for version before required version
      Remove local CMake GTest module, use gtest_discover_tests
      Set pointer to null after deleting
      Correct interpolate for ruby bspline_resample test
      Only label unstable on apple systems
      Correct capitalization style for ruby enum
      Update SimpleITK Version in Sphinx
      Adding support for ImageBase types to ImageTypeToPixelIDValue
      Add a descriptive error message for image casting failure
      Add propagation of CMake job pool variables in Superbuild
      Remove deprecated midas3 from external download URLs
      Remove unused variable value
      Remove imported CMake ExternalData module
      Update referenced json
      Update name field and reference script used for doc fields
      Add doc for itk_module json field
      Adding R language to CircleCI testing
      Only add R dependencies for R job
      Adding R Unit tests when R is built as a project
      Add junit test formatting for python and R
      Make and use separate environment anchor
      Update documented CMake required version
      Add wrapping for Toboggan filter
      Update ITK superbuild version along ITK v41.3 release
      Make variables, functions, and structs local scope
      Add support for VectorImages to the Tile filter
      Specifying Toboggan output types as uint32_t for portability
      Just link the SimpleITK on Sourceforge, not the versioned sub-directory.
      Reduce CircleCI dependencies, and use system SWIG
      Correcting link to Java visual guide
      Improve doxygen documentation for the Image class
      Fix tense per code review
      Use standard find_package for ITK in SimpleITK Config
      Use modern CMake IN_LIST if operator
      Remove legacy BasicFiltersN loop code
      Correct variable name used to disable building documentation
      Update Superbuild ITK version along 4.13 release branch
      Set CircleCI to use Github for ITK repo
      Add wrapping for SLICImageFilter from SimpleITKFilters module
      Correct Github ITK repo in CircleCI CMake configuration
      Specify data root as SimpleITK root project
      Add BUILD_EXAMPLES option to standalone language builds
      Enable CircleCI testing of examples when language is built
      ENH: Support passing ITKV4_COMPATIBILITY to ITK superbuild
      Enable ITK_LEGACY_REMOVE to be overridden
      Explicitly specify stretch docker image add python 3.6 for testing
      Explicitly use python to invoke pip, print python version
      COMP: Lengthen GTest discovery timeout
      Adding Java build to CircleCI
      Add testing for Java stand-alone project
      No CI for languages on next branch
      Remove BUILD_DOCUMENTS CMake option
      Exclude files leading with a '.' from globs
      Add Update data link for R man documents
      Add TransformVector method to Transform class
      Update Superbuild ITK version to 4.13.1
      This data file hash is neither used nor does it exit
      Update links for downloads in tarball generation
      Adding data links from ContentLinkSynchronization.sh execution
      If ITKv5 map number of threads to number of "Work Units"
      Add access to number of valid point used during registration
      Fix Python index test with empty comparison
      Fix recursive option with GetGDCMSeriesFileNames
      Adding Transform method to flatten composites transforms
      Add mirror of SimpleITK External Data repository
      Documentation tweaks
      Remove dimension limitations form GetImageFromNumpy
      Improve exception for unsupported Image size
      Use baseline images for testing
      Set the default CMake policy to 3.10
      Adding request of IO region to ImageFileReader
      Adding testing for reading an extraction region
      Update ITK superbuild along 4.13 release branch
      Adding vector image support to Mean and Sum projection image filters
      Improve documentation for SetExtractSize
      Add new 5d test image
      Add IO extract direction matrix behavior documentation
      Add IO extraction test with 5d file
      Fix size shortening warning
      Remove uint64 to uint copy to avoid warnings
      Add Doxygen grouping to ImageReaderBase::Set/GetImageIO
      Create common method to create ImageIO by string name
      Fix indentation in ImageFileWriter
      Add SetImageIO method to ImageFileWriter
      Add option to set ImageIO to the series writer
      Add debugging information to ReadInformation
      Remove typename outside of template
      Add support for vector images to the clamp image filter
      Improve documentation of some RegistrationMethod methods.
      Add method to access the metric's sampling percentage.
      Add testing for GetMetricSamplingPercentagePerLevel method
      ITK superbuild version along the 4.13 release branch
      Address implicit conversion warnings from float to double
      Adding construction of BSpline transform from coefficient images
      Add testing of constructing BSpline Transform from images
      Add methods to transform class to get number of parameters
      Improve image registration per level documentation
      Add registration support for multi-resolution bspline transform
      Add unit testing of BSpline parameters
      Fix reassigning initial transform issue
      Adding testing of BSplineTransform registration in place
      Update the ITK superbuild version along release-4.13
      ENH: Adding example of multi-resolution bspline registration
      Adding prose document to BSpline3 example
      Adding C++ BSpline3 example
      Add labels to docs referenced from BSpline3
      Quote function name and remove extraneous prose fragment.
      Use the official ITK Github repo
      Restore needed storage option to increase default size
      Update manylinux to use CMake 3.11.4
      Update manylinux openssl to 1.0.2q
      Create wheel even when tests fail
      Update JSON documentation from ITK release-4.13
      Updating Java and Python docstrings from current build
      Updating ITK version with BSpline mesh parameter fix
      Add test for BSplineTransform copy on write
      Add multi-resolution BSpline registration test non-inplace
      Adding option to procedure ReadImage to specify the ImageIO
      Sort the json descriptions to maintain order
      Update Sphinx filter descriptions via script.
      Fix conversion warning
      Update the FAQ
      Fix up in wording in FAQ
      Update SwigDocStrings for Python and Java
      Update R documentation files
      Add missing parameter documentation to the ReadImage method
      Update from SwigDocUpdate.sh with latest changes
      Update R documentation archive
      Change broken quote to bash code block.
      Update R Rd document files with manual fix
      Applied correction to escape % in R documentation.
      Apply escape sequence to all occurrences of %
      Add isysroot as require flag in non-cmake superbuild projects
      Don't use CMAKE_OSX_SYSROOT is empty string
      Update ITK Superbuild version along 4.13 release  branch
      Remove extraneous CMake message statement
      Adding Azure Pipelines configuration from master branch

Dave Chen (11):
      Large refactor of GenerateDoc.py
      Ran JSONBeautify.py
      Ran new GenerateDoc.py on JSON files
      GenerateDoc.py fixed to handle Unicode input
      Added test of default ResampleImageFilter params
      Fixed wrong method.
      Missing '&' on Windows
      Fixed memory leak
      Improved testing of the ImageViewer class
      Modified test to improve code coverage
      Fix for hang in Show function on Windows

David T. Chen (19):
      Fixed some formatting, adjusted a few other things.
      Use TextOutput for OutputWindow
      Fix string comparison bug
      ENH: Initial check-in of the ImageViewer class
      Use ImageViewer class
      Fix for ITK code style
      More code fixes
      Print more defaults it ToString
      Added SetGlobalDefaultDebugOn/Off methods
      Fix type warning on Windows
      Added 'command' param to SetApplication.
      Fix for Show w/o ImageJ or Fiji
      Improve test coverage for ImageViewer class.
      Removed ImageJ stuff from Installation doc
      Updated the building.rst doc
      A few small fixes
      Updated for Python 3
      Re-run for SimpleITK v1.2rc1
      Fix R documentation warning

Jean-Christophe Fillion-Robin (2):
      circleci: Fix and simplify install of CMake
      circleci: Install scikit-ci-addons to ensure ctest_junit_formatter is available

Kasper Marstal (2):
      ENH: Use return instead of raising StopIteration (PEP 479)
      ENH: Add empty image Python indexing test

Richard Beare (25):
      Vignette update
      R package DESCRIPTION update
      moved methods import to namespace and referenced the dll
      Modified generation of namespace file
      R version check during configuration
      Installation of R from CRAN for circleci testing
      R package rules don't allow non standard file formats in the data directory.
      Add index entry to latex preamble of vignette
      Update formatting of license field in R DESCRIPTION file
      use Rd note section instead of usage as the latter requires R code
      Formulas processed to avoid breaking latex after conversion
      place holders in empty sections for procedural interface
      tidied up testing for missing fields
      importFrom for utils package in NAMESPACE file
      updated instructions for documentation
      Add as.image to index entry
      Add text to empty fields and allow additional sectiondef
      Modified creation of filenames of R documentation
      Add documentation file for S4 methods.
      Add replacement R functions.
      Add better support for R namespaces and documentation
      Fix: spurious bracket in script
      ENH: Improving formatting of DESCRIPTION file according to --as-cran checks
      Fix: C++11 style init causing problems with RTools(windows) c++
      Modified functions exported by R package.

Seungkyoon Bong (24):
      Updated tutorial link for SimpleITK
      Translated the common conventions page from the Doxygen
      Deleted the .rst change
      Added hyperlinks and inline markups for code
      Created a page with SimpleITK Filters
      Changed the HTML template of the documentation
      Added Relevant Resources and link to paper to index.rst
      Corrected LaTeX notation in Registration Overview
      Create image and transformation IO page
      Translate and Update Page for Eclipse Set Up
      Translate and Update Visual Studio Set Up
      Convert pngs to web-optimized jpgs
      Restore simpleitk_logo.png.md5
      Translate N4BiasFieldCorrection R Example
      Create filter and slicing operator comparison
      Translate DemonsRegistration1 R Example
      Translate DemonsRegistration2 R Example
      Translate DicomSeriesFromArray R Example
      Translate ImageRegistrationMethodBSpline1-2 R Example
      Fix spelling error in N4BiasFieldCorrection
      Translate 2 ImageRegistrationMethod R Examples
      Translate ImageRegistrationMethod2-4 R Example
      Remove internal function in ImageRegistrationMethod1
      Remove internal functions in DemonsRegistration1-2

Ziv Yaniv (18):
      Adding support for vector images in as.image conversion.
      Adding test to the patch (moving between R array 2 image 2 R array).
      Adding read the docs sphinx fundamental concepts documentation.
      Adding concepts of channels and resampling.
      Adding section on resampling and updating the images location.
      Adding reference to image md5 for download.
      Typo in example, comma instead of bar in the specification of Instance Number.
      ImageJ not found in expected location FAQ information.
      Updatind publication citation list.
      Adding the tutorials and course page to the documentation.
      Adding introductory information with respect to tutorials.
      Corrected backslash not visible in documentation of windows path.
      Renamed the example to reflect its content.
      Adding image viewing example.
      ENH: Adding new example illustrating new SimpleITK IO.
      ENH: separated the example in two based on code review.
      Upadated readme file to match our current state (rc1.2).
      Adding the SPIE course to the tutorials' list.
```

From: Hans Johnson <hans.j.johnson@gmail.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@28016 3bd1e089-480b-0410-8dfb-8563597acbee
parent a9b7cdf7
......@@ -66,7 +66,7 @@ vtkStandardNewMacro(vtkSlicerApplicationLogic);
//----------------------------------------------------------------------------
vtkSlicerApplicationLogic::vtkSlicerApplicationLogic()
{
this->ProcessingThreader = itk::MultiThreader::New();
this->ProcessingThreader = itk::PlatformMultiThreader::New();
this->ProcessingThreadId = -1;
this->ProcessingThreadActive = false;
this->ProcessingThreadActiveLock = itk::MutexLock::New();
......@@ -279,7 +279,7 @@ void vtkSlicerApplicationLogic::TerminateProcessingThread()
}
//----------------------------------------------------------------------------
ITK_THREAD_RETURN_TYPE
itk::ITK_THREAD_RETURN_TYPE
vtkSlicerApplicationLogic
::ProcessingThreaderCallback( void *arg )
{
......@@ -305,13 +305,13 @@ vtkSlicerApplicationLogic
// pull out the reference to the appLogic
vtkSlicerApplicationLogic *appLogic
= (vtkSlicerApplicationLogic*)
(((itk::MultiThreader::ThreadInfoStruct *)(arg))->UserData);
(((itk::PlatformMultiThreader::WorkUnitInfo *)(arg))->UserData);
// Tell the app to start processing any tasks slated for the
// processing thread
appLogic->ProcessProcessingTasks();
return ITK_THREAD_RETURN_VALUE;
return itk::ITK_THREAD_RETURN_DEFAULT_VALUE;
}
//----------------------------------------------------------------------------
......@@ -361,7 +361,7 @@ void vtkSlicerApplicationLogic::ProcessProcessingTasks()
}
}
ITK_THREAD_RETURN_TYPE
itk::ITK_THREAD_RETURN_TYPE
vtkSlicerApplicationLogic
::NetworkingThreaderCallback( void *arg )
{
......@@ -387,13 +387,13 @@ vtkSlicerApplicationLogic
// pull out the reference to the appLogic
vtkSlicerApplicationLogic *appLogic
= (vtkSlicerApplicationLogic*)
(((itk::MultiThreader::ThreadInfoStruct *)(arg))->UserData);
(((itk::PlatformMultiThreader::WorkUnitInfo *)(arg))->UserData);
// Tell the app to start processing any tasks slated for the
// processing thread
appLogic->ProcessNetworkingTasks();
return ITK_THREAD_RETURN_VALUE;
return itk::ITK_THREAD_RETURN_DEFAULT_VALUE;
}
//----------------------------------------------------------------------------
......
......@@ -28,7 +28,7 @@
#include <vtkCollection.h>
// ITK includes
#include <itkMultiThreader.h>
#include <itkPlatformMultiThreader.h>
#include <itkMutexLock.h>
class vtkMRMLSelectionNode;
......@@ -216,11 +216,11 @@ protected:
vtkSlicerApplicationLogic();
~vtkSlicerApplicationLogic();
/// Callback used by a MultiThreader to start a processing thread
static ITK_THREAD_RETURN_TYPE ProcessingThreaderCallback( void * );
/// Callback used by a MultiThreader to start a processing thread
static itk::ITK_THREAD_RETURN_TYPE ProcessingThreaderCallback( void * );
/// Callback used by a MultiThreader to start a networking thread
static ITK_THREAD_RETURN_TYPE NetworkingThreaderCallback( void * );
/// Callback used by a MultiThreader to start a networking thread
static itk::ITK_THREAD_RETURN_TYPE NetworkingThreaderCallback( void * );
/// Task processing loop that is run in the processing thread
void ProcessProcessingTasks();
......@@ -239,7 +239,7 @@ private:
vtkSlicerApplicationLogic(const vtkSlicerApplicationLogic&);
void operator=(const vtkSlicerApplicationLogic&);
itk::MultiThreader::Pointer ProcessingThreader;
itk::PlatformMultiThreader::Pointer ProcessingThreader;
itk::MutexLock::Pointer ProcessingThreadActiveLock;
itk::MutexLock::Pointer ProcessingTaskQueueLock;
itk::MutexLock::Pointer ModifiedQueueActiveLock;
......
......@@ -298,6 +298,11 @@ mark_as_superbuild(Slicer_INSTALL_ITKPython)
option(Slicer_BUILD_PARAMETERSERIALIZER_SUPPORT "Build Slicer with parameter serializer support" ON)
mark_as_superbuild(Slicer_BUILD_PARAMETERSERIALIZER_SUPPORT)
set(_default_itk "5")
set(Slicer_ITK_VERSION_MAJOR ${_default_itk} CACHE STRING "The ITK major version (5).")
set_property(CACHE Slicer_ITK_VERSION_MAJOR PROPERTY STRINGS "5")
mark_as_superbuild(Slicer_ITK_VERSION_MAJOR)
set(_default_vtk "8")
set(Slicer_VTK_VERSION_MAJOR ${_default_vtk} CACHE STRING "VTK major version")
set_property(CACHE Slicer_VTK_VERSION_MAJOR PROPERTY STRINGS "8")
......
......@@ -62,19 +62,32 @@ namespace itk
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::InverseJacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
void ComputeJacobianFromBSplineWeightsWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::WeightsType &,
......@@ -82,7 +95,6 @@ namespace itk
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
};
//----------------------------------------------------------------------------
......@@ -117,18 +129,31 @@ namespace itk
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::InverseJacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseBSplineTransform" );
}
};
......@@ -169,27 +194,40 @@ namespace itk
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
typename Superclass::JacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::IndexType &,
typename Superclass::JacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::InverseJacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseDisplacementFieldTransform" );
}
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &,
typename Superclass::JacobianPositionType &,
bool useSVD = false ) const ITK_OVERRIDE
{
(void)useSVD; // unused
......@@ -197,7 +235,7 @@ namespace itk
}
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition(
const typename Superclass::IndexType &,
typename Superclass::JacobianType &,
typename Superclass::JacobianPositionType &,
bool useSVD = false ) const ITK_OVERRIDE
{
(void)useSVD; // unused
......@@ -241,24 +279,30 @@ namespace itk
{
itkExceptionMacro( "Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
}
virtual void ComputeJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianPositionType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
}
// Deprecated in ITKv5. It should be removed when ITK_LEGACY_REMOVE is set to ON.
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &) const ITK_OVERRIDE
{
itkExceptionMacro( "Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
}
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::JacobianType &,
bool useSVD = false ) const
virtual void ComputeInverseJacobianWithRespectToPosition(
const typename Superclass::InputPointType &,
typename Superclass::InverseJacobianPositionType &) const ITK_OVERRIDE
{
(void)useSVD; // unused
itkExceptionMacro( "Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
}
};
......
......@@ -45,8 +45,13 @@ set(${PROJECT_NAME}_ITK_COMPONENTS
ITKRegionGrowing
ITKThresholding
ITKVTK
# Needed for ITKv5 so that SimpleFastMutexLock is an alias to std::mutex in ITKv5
# once ITKv4 is not supported, then we can simply replace SimpleFastMutexLock with std::mutex
# the use the DeprecatedLib allows building without many preprocessor conditionals
# for ITKv5/ITKv4 differences.
ITKDeprecated
)
find_package(ITK 4.6 COMPONENTS ${${PROJECT_NAME}_ITK_COMPONENTS} REQUIRED)
find_package(ITK 5.0 COMPONENTS ${${PROJECT_NAME}_ITK_COMPONENTS} REQUIRED)
set(ITK_NO_IO_FACTORY_REGISTER_MANAGER 1) # See Libs/ITKFactoryRegistration/CMakeLists.txt
list(APPEND ITK_LIBRARIES ITKFactoryRegistration)
list(APPEND ITK_INCLUDE_DIRS ${ITKFactoryRegistration_INCLUDE_DIRS})
......
......@@ -122,14 +122,14 @@ public:
/// Pass SetNumberOfThreads.
void SetNumberOfThreads(int val)
{
this->m_Process->SetNumberOfThreads(val);
this->m_Process->SetNumberOfWorkUnits(val);
};
///
/// Pass SetNumberOfThreads.
int GetNumberOfThreads()
{
return this->m_Process->GetNumberOfThreads();
return this->m_Process->GetNumberOfWorkUnits();
};
///
......
......@@ -698,7 +698,7 @@ int main( int argc, char * argv[] )
{
std::cout << "###numberOfThreads: " << numberOfThreads << std::endl;
}
itk::MultiThreader::SetGlobalDefaultNumberOfThreads(numberOfThreads);
itk::MultiThreaderBase::SetGlobalDefaultNumberOfThreads(numberOfThreads);
}
unsigned int fixedDimensions = 0;
......
......@@ -20,6 +20,7 @@ public:
typedef WarpTransform3D Self;
typedef Transform<FieldDataType, 3, 3> Superclass;
typedef typename Superclass::JacobianType JacobianType;
typedef typename Superclass::JacobianPositionType JacobianPositionType;
typedef typename Superclass::InputPointType InputPointType;
typedef typename Superclass::InputVectorType InputVectorType;
typedef typename Superclass::InputVnlVectorType InputVnlVectorType;
......@@ -49,7 +50,8 @@ public:
OutputPointType TransformPoint( const InputPointType & inputPoint ) const ITK_OVERRIDE;
virtual void ComputeJacobianWithRespectToParameters(const InputPointType & p, JacobianType & jacobian ) const ITK_OVERRIDE;
virtual void ComputeJacobianWithRespectToParameters(const InputPointType & p,
JacobianType & jacobian ) const ITK_OVERRIDE;
virtual void ComputeJacobianWithRespectToPosition(
const InputPointType & itkNotUsed(x),
......@@ -58,6 +60,13 @@ public:
itkExceptionMacro("ComputeJacobianWithRespectToPosition is not implemented for WarpTransform3D");
}
virtual void ComputeJacobianWithRespectToPosition(
const InputPointType & itkNotUsed(x),
JacobianPositionType & itkNotUsed(j) ) const ITK_OVERRIDE
{
itkExceptionMacro("ComputeJacobianWithRespectToPosition is not implemented for WarpTransform3D");
}
void SetDeformationField( DeformationImagePointerType deformationField );
const DeformationImagePointerType GetDeformationField() const
......
......@@ -265,9 +265,10 @@ set(BRAINSTools_options
USE_BRAINSDemonWarp:BOOL=ON
USE_BRAINSRefacer:BOOL=OFF
)
Slicer_Remote_Add(BRAINSTools
GIT_REPOSITORY "${EP_GIT_PROTOCOL}://github.com/Slicer/BRAINSTools.git"
GIT_TAG "87da22c2e365da72d3c0dea2634c4efa73dbeab3" # 2017-12-09
GIT_REPOSITORY ${EP_GIT_PROTOCOL}://github.com/Slicer/BRAINSTools.git
GIT_TAG 2af1e31a8ead1471ae33656cf6b02dbb27feb217 # slicer-2019-03-07-v5.0.0-2af1e31
LICENSE_FILES "http://www.apache.org/licenses/LICENSE-2.0.txt"
OPTION_NAME Slicer_BUILD_BRAINSTOOLS
OPTION_DEPENDS "Slicer_BUILD_CLI_SUPPORT;Slicer_BUILD_CLI"
......
......@@ -27,13 +27,13 @@ if(NOT DEFINED ITK_DIR AND NOT Slicer_USE_SYSTEM_${proj})
ExternalProject_SetIfNotDefined(
Slicer_${proj}_GIT_REPOSITORY
"${EP_GIT_PROTOCOL}://github.com/Slicer/ITK.git"
"${EP_GIT_PROTOCOL}://github.com/Slicer/ITK"
QUIET
)
ExternalProject_SetIfNotDefined(
Slicer_${proj}_GIT_TAG
"87f5d83f15929900aea038abed43d46a14b69886" # slicer-v4.13.1-2018-08-17-cdc3e57
"fec5de494a258491c4bd6c0c18ba18e5e33c22e6" # 5.0.rc01 (2019-01-30) + backports: DCMTK + ITKDeprecated
QUIET
)
......@@ -79,6 +79,12 @@ if(NOT DEFINED ITK_DIR AND NOT Slicer_USE_SYSTEM_${proj})
set(EP_SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj})
set(EP_BINARY_DIR ${CMAKE_BINARY_DIR}/${proj}-build)
list(APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
-DITK_LEGACY_REMOVE:BOOL=OFF #<-- Allow LEGACY ITKv4 features for now.
-DITK_LEGACY_SILENT:BOOL=ON #<-- Silence for initial ITKv5 migration.
-DModule_ITKDeprecated:BOOL=ON #<-- Needed for ITKv5 now. (itkMultiThreader.h and MutexLock backwards compatibility.)
)
ExternalProject_Add(${proj}
${${proj}_EP_ARGS}
GIT_REPOSITORY "${Slicer_${proj}_GIT_REPOSITORY}"
......@@ -97,8 +103,6 @@ if(NOT DEFINED ITK_DIR AND NOT Slicer_USE_SYSTEM_${proj})
-DITK_INSTALL_LIBRARY_DIR:PATH=${Slicer_INSTALL_LIB_DIR}
-DBUILD_TESTING:BOOL=OFF
-DBUILD_EXAMPLES:BOOL=OFF
-DITK_LEGACY_REMOVE:BOOL=ON
-DITKV3_COMPATIBILITY:BOOL=OFF
-DITK_BUILD_DEFAULT_MODULES:BOOL=ON
-DModule_ITKReview:BOOL=ON
-DModule_MGHIO:BOOL=ON
......
......@@ -35,13 +35,13 @@ ExternalProject_Execute(${proj} \"install\" \"${PYTHON_EXECUTABLE}\" Packaging/s
ExternalProject_SetIfNotDefined(
Slicer_${proj}_GIT_REPOSITORY
"${EP_GIT_PROTOCOL}://github.com/SimpleITK/SimpleITK.git"
"${EP_GIT_PROTOCOL}://github.com/Slicer/SimpleITK.git"
QUIET
)
ExternalProject_SetIfNotDefined(
Slicer_${proj}_GIT_TAG
"v1.1.0"
"dc5c1a1dc511b7e137acd206ee20fe40406838de" # slicer-v1.2.0-2019-02-27-dc5c1a1 (based of v1.2.0 release branch)
QUIET
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment