1ITK 5.0 Release Candidate 2 Release Notes
2=========================================
3
4We are happy to announce the Insight Toolkit (ITK) Release Candidate 2! :tada:  This will be the final release candidate before the 5.0.0 release, and the community is encouraged to adopt 5.0 RC 2 in ITK-based applications.
5
6**Python Packages**
7
8ITK Python packages can be installed by running:
9
10```
11python -m pip install --upgrade pip
12python -m pip install --upgrade --pre itk
13```
14
15**Library Sources**
16
17- [InsightToolkit-5.0rc02.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightToolkit-5.0rc02.tar.gz)
18- [InsightToolkit-5.0rc02.tar.xz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightData-5.0rc02.tar.xz)
19- [InsightToolkit-5.0rc02.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightToolkit-5.0rc02.zip)
20
21**Testing Data**
22
23Unpack optional testing data in the same directory where the Library Source is unpacked.
24
25- [InsightData-5.0rc02.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightData-5.0rc02.tar.gz)
26- [InsightData-5.0rc02.tar.xz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightData-5.0rc02.tar.xz)
27- [InsightData-5.0rc02.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/InsightData-5.0rc02.zip)
28
29
30**Checksums**
31
32- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/MD5SUMS)
33- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc02/SHA512SUMS)
34
35This release features a major upgrade to the ITK *Spatial Object* framework, lead by Stephen Aylward, with contributions from Hastings Greer, Forrest Lee, Niels Dekker, Dženan Zukić, and Hans Johnson. In ITK, a [`itk::SpatialObject`](https://itk.org/Doxygen/html/classitk_1_1SpatialObject.html) provides a representation of *objects* and the mechanism to specify their spatial relationship relative to other objects in a scene. Objects can be images but also abstract, parametric entities, such as a ellipse, box, or arrow, or point-based, such as a tube, contour, or surface. Objects can be organized into spatial hierarchies.`SpatialObject`s are key for model-based registration, integration of segmentation results in multiple formats, conversions to and from images, and capturing spatial relationships between structures.
36
37In ITK 5, the `SpatialObject` framework was refactored to improve consistency in the the programming interface and simplify implementation and usage. As a result, incorrect or unexpected behaviors are avoided. Complexity and dependency were reduced by removing a dependency on the VNL tree data structures. Additionally, *IndexSpace* was removed from the API of all `SpatialObject`s to prevent ambiguity while providing a consistent and intuitive interface. Only two reference spaces are consistently and explicitly available in the API: *ObjectSpace* and *WorldSpace*. *ObjectSpace* is the space local to each object, where the object's parameters are defined. *WorldSpace* is the coordinate system defined by the top-level `SpatialObject` in a hierachy, which is defined by parent-child object relationships. Only two transforms are now consistently and explicitly available in the API: *ObjectToParent* transform and *ObjectToWorld* transform. The *ObjectToParent* transform moves an object within its parent's *ObjectSpace*. The *ObjectToWorld* transform is derived from component *ObjectToParent* transforms and is provided for convenience and to reduce redundant computations. The API is now more explicit regarding the space that an operation applies to. For instance, `IsInside(point)` is now `IsInsideInObjectSpace(point)` or `IsInsideInWorldSpace(point)`. For more information on the `SpatialObject`s changes, see the [ITK 5 Migration Guide](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/ITK5MigrationGuide.md).
38
39The Python package synchronization infrastructure for static global variables was refactored to support more variables and permit future additions to the singleton. This will prevent the need to rebuild remote module binary Python packages following future releases of ITK 5. However, current remote module Python packages that use ITK 5 should be rebuilt and republished for ITK 5.0 RC 2.
40
41For an overview of ITK 5's transition to modern C++, performance-related changes, the new, Pythonic API, the project's migration to GitHub, and Mesh improvements, see the [ITK 5 Alpha 1: Modern C++](https://discourse.itk.org/t/itk-5-0-alpha-1-modern-c/843/7), [ITK 5 Alpha 2: Performance](https://discourse.itk.org/t/itk-5-0-alpha-2-performance/959), [ITK 5 Beta 1: Pythonic Interface](https://discourse.itk.org/t/itk-5-0-beta-1-pythonic-interface/1271), [ITK 5 Beta 3: GitHub](https://discourse.itk.org/t/itk-5-0-beta-3-github/1504) and [ITK 5 Release Candidate 1: Meshes](https://discourse.itk.org/t/itk-5-0-release-candidate-1-meshes/1576/3) release announcements.
42
43New Remote Modules
44------------------
45
46- [`ITKIOScanco`](https://github.com/KitwareMedical/ITKIOScanco): read and write Scanco microCT *.isq* files.
47- [`ITKTotalVariation`](https://github.com/InsightSoftwareConsortium/ITKTotalVariation): total variation image denoising.
48- [`ITKRTK`](https://github.com/SimonRit/RTK): the Reconstruction Toolkit provides high performance implementations of advanced tomographic image reconstruction algorithms.
49- [`ITKThickness3D`](https://github.com/InsightSoftwareConsortium/ITKThickness3D): compute the skeleton and thickness transform from 3D images.
50
51Performance Improvements
52------------------------
53
54- Add MetaDataDictionary move support.
55- MetaDataDictionary uses copy-on-write.
56- `itk::Barrier` is now deprecated: replace with the new multi-threading functions.
57- Range-based for loops supported in `itk::FixedArray`.
58- Major performance improvements to TimeProbe, ResourceProbe constructor (issue #350).
59
60Documentation
61-------------
62
63- Repository *README* files were migrated to Markdown.
64
65Infrastructure
66--------------
67
68- Continuous code coverage builds from Azure Pipelines.
69- Better support for unicode in KWSys.
70- `itksys::hash_map` and `itksys::hash_set` are deprecated in favor of `std` equivalents.
71- New GitHub pull request templates and issue templates.
72- New scripts added to update ITK remote modules.
73
74Core
75----
76
77- `itk::SpatialObject` framework refactored (see release notes introduction).
78- Initial streaming support added to `itk::ResampleImageFilter` for linear transforms.
79
80Third Party
81-----------
82
83- Eigen 3 updated to the latest version.
84- Better support for building against a system Eigen.
85- GDCM updated to the latest version.
86- HDF5 updated to 1.10.4.
87- ITKVtkGlue support for VTK with `VTK_RENDERING_BACKEND` set to `None`.
88- KWSys updated to the latest version.
89- MetaIO updated to the latest version.
90- VXL updated to the latest version.
91- MINC updated to the latest version.
92
93Python
94------
95
96- Static variable synchronization method refactored; ITK 5 remote module Python packages need to be rebuilt against 5.0 RC 2.
97- Add wrapping for `itk.PCAShapeSignedDistanceFunction`.
98- Docstrings added to snake case functions.
99- Python tests should now be defined in *<ITK-module>/wrapping/test/CMakeLists.txt* to exclude their definition when wrapping is not enabled.
100- Conversion between ITK matrices and NumPy arrays is now supported.
101- Additional wrapping types for `itk.ImageDuplicator`.
102- Additional types supported for NumPy <-> ITK Image conversion.
103- Additional wrapping and typemaps for `std::vector<itk::Image<...>::Pointer>`.
104- Add wrapping for `itk.TriangleMeshToBinaryImageFilter`.
105- Add wrapping for `itk.ExtrapolateImageFunction`.
106- Add wrapping for `itk.WindowedSincInterpolateImageFunction`.
107
108To install the 5.0 Release Candidate 2 Python packages, run
109
110```sh
111python -m pip install --upgrade pip
112python -m pip install --upgrade --pre itk
113```
114
115What's Next
116-----------
117
118There are many more improvements not mentioned above. For more details, please see the change log below. Congratulations and thank you to everyone who contributed to this release.
119
120The [ITK 5 Migration Guide](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/ITK5MigrationGuide.md) is available to help transition a code base from ITK 4 to ITK 5. Please discuss your experiences on [Discourse](https://discourse.itk.org).
121
122The ITK 5.0.0 final release is [scheduled for May](https://github.com/InsightSoftwareConsortium/ITK/milestone/5).
123
124**Enjoy ITK!**
125
126```
127Bradley Lowekamp @blowekamp (14):
128      ENH: Add move support to the MetaDataDictionary object
129      PERF: Implement copy on write for MetaDataDictionary
130      ENH: adding MetaDataDictionary GTests
131      BUG: Do not modify MetaDataDictionary with operator[] const
132      ENH: Improve ExposeMetaData efficiency
133      COMP: Address CMake policy warnings in ThirdParty libraries
134      ENH: Update AzurePipelines configuration from master
135      ENH: Explicitly set the XCode version used in Azure
136      COMP: Use CMP0048 new for wrapping
137      COMP: Set CMP0048 to new in ITK (Remote) Modules
138      COMP: Address OSX Clang "direct access" linkage warnings
139      ENH: Add Azure Pipelines script for coverage
140      BUG: Fix Li threshold calculator for negative image values
141      DOC: Correct documented Canny Segmentation filter example
142
143Dženan Zukić @dzenanz (18):
144      ENH: add better support for Unicode by using UTF-8 by default in KWSys
145      BUG: propagate ITK_LIBRARY_PROPERTIES into zlib
146      COMP: fixing MSVC warning C4800
147      ENH: refactoring NarrowBandImageFilterBase to not use Barrier
148      DOC: fixing code sample
149      COMP: compile fixes for Visual Studio 2017
150      ENH: ModifiedTimeType uses 64 bits on Windows - it was 32 before
151      ENH: refactor itkThreadPoolTest and rename into itkMultithreadingTest
152      ENH: shuffling tests in ITKCommon to make the split more logical
153      ENH: introduce a parameter to control level of output
154      ENH: concentrating WaitForAll() in Iterate()
155      ENH: ParallelSparseFieldLevelSetImageFilter no longer uses barrier
156      ENH: moving Barrier into Deprecated module
157      ENH: prevent false sharing between threads
158      STYLE: declaration alignment
159      ENH: replace itksys::hash_map and hash_set by std equivalents
160      COMP: missing override for destructors
161      Update ITK5MigrationGuide.md
162
163Eigen Upstream (3):
164      Eigen3 2019-01-26 (e2c082bf)
165      Eigen3 2019-03-05 (0805e8fd)
166      Eigen3 2019-03-14 (8a3c2d91)
167
168Forrest Li @floryst (4):
169      ENH: Update arrow spatial object
170      ENH: Update EllipseSpatialObject
171      ENH: Update box spatial object
172      ENH: Update polygon SO and delete polygon group SO
173
174Francois Budin @fbudin69500 (25):
175      BUG: Implement but hide MetaDataDictionary iterator methods
176      BUG: Explicitly give Python library path to ITK Python targets for MSVC
177      ENH: Wrap itkPCAShapeSignedDistanceFunction
178      ENH: Synchronize factories across modules in Python
179      ENH: Explicitly return `None` when calling `__call__`` if filter has no output
180      ENH: Deprecated object call function and improve procedural call function
181      ENH: Adds argument completion with procedural calls
182      ENH: Add docstring to snake case functions
183      BUG: Disable Python tests if `ITK_BUILD_DEFAULT_MODULES` is OFF
184      BUG: Returns a copy of the VNL matrix instead of a reference
185      ENH: Add helper functions to convert NumPy arrays to ITK matrices and back
186      ENH: Add `ttype` keyword in New() function for Python templated classes
187      ENH: `isinstance()` can be called without template parameters of classinfo
188      BUG: Wrap itkImageDuplicator for all image types as it is used by NumPyBridge
189      ENH: itkPCAShapeSignedDistanceFunction supports float images
190      ENH: Add advanced CMake option `ITK_DO_NOT_BUILD_TESTDRIVERS`
191      ENH: Move part of CI configuration into Azure YML files
192      ENH: Move Python tests into wrapping subfolder
193      BUG: Correct CMake variable name and move baseline files to appropriate folder
194      ENH: Only run Python tests on Linux and Windows
195      ENH: Adds wrapping for std::vector<itk::Image<...>::Pointer> and typemaps
196      ENH: New test to verify that` ObjectFactoryBasePrivate` is destroyed correctly
197      ENH: Enable forcing creating snake_case function for non-ProcessObject classes
198      ENH: Add snake case method for non itkProcess derived class itkImageDuplicator
199      BUG: itkObjectFactoryBasePrivateDestructor was not compiling with MSVC
200
201GDCM Upstream @malaterre (3):
202      GDCM 2019-02-07 (8e1cfd05)
203      GDCM 2018-10-23 (2e701ed7)
204      GDCM 2019-02-08 (815caa81)
205
206HDF5 Maintainers (1):
207      HDF5 2018-10-15 (545c5fb2)
208
209Hans J. Johnson (27):
210      STYLE: Remove exact duplicate test code
211      ENH: Improve by adding enhanced complexity to testing
212      ENH: Add test for IsInsideInObjectSpace.
213      DOC: Improve diagnostic message from ExtractImageFilter
214      ENH: TransformIOBaseTemplate Must be explicitly instantiated
215      STYLE: Instance variables should be private
216      STYLE: Move default [con/de]strutor to .h (part 2)
217      STYLE: Class derived from TransformBase need explicit instantiation
218      STYLE: Remove functions that are not used
219      ENH: Use member functions with default values
220      COMP: Refactor to remove const_cast of void *
221      STYLE: Fix spelling s/ranage/range/g in comment.
222      ENH: Improve coverage for itk::FastMarchingImageFilterBase.
223      COMP: Allow compiler option fixed in gcc 4.1.0
224      PERF: Allow overwriting ABI/Optimization & Warning flags
225      DOC: Minor spelling corrections
226      ENH: Improve test coverage of ImageMoments
227      DOC: Expand GetAxisAlignedBoundingBoxRegion replacement code
228      STYLE: Prefer using Update() for consistency
229      ENH: Avoid deprecated SpatialObject function calls
230      ENH: ProtectedComputeMyBoundingBox return not used
231      ENH: Clean up tests to pass under new API
232      COMP: Consolodate duplicate LogTester code
233      COMP: Support ITK_LEGACY_REMOVE for SpatialObjects
234      ENH: Add legacy interface to SpatialObjects
235      BUG: Match return types for nullptr return values
236      COMP: Remove compilation warning unmatched types
237
238Hastings Greer @HastingsGreer (6):
239      BUG: ImageSpatialObject's BoundingBox was nonfunctional if not axis aligned
240      BUG: ImageMaskSpatialObject::IsInside uses image cosines
241      COMP: fix compilation errors
242      COMP: Various compiler errors
243      COMP: fixes to enable compilation with gcc
244      COMP: Update tests
245
246Jerome Schmid @schmidje (1):
247      COMP: VtkGlue module-Provide support for VTK new cmake targets
248
249Jon Haitz Legarreta Gorroño @jhlegarreta  (29):
250      ENH: Add a PrintHelper file to overload boolean and vector printing.
251      ENH: Add a parameter to test to improve `itk::ResampleImageFilter` testing.
252      ENH: Update the ITKIOFDF remote module.
253      ENH: Improve `itk::ResampleImageFilter` class coverage.
254      BUG: Fix `ìtkResmapleImageTest2` test failing on 32-bit systems.
255      DOC: Transition `Examples` folder `README` file to Markdown.
256      DOC: Increase `VNL` ThirdParty module `README` information accuracy.
257      ENH: Conform to GitHub PR and issue template guidelines.
258      DOC: Transition the `Nonunit/Review` `README` to Markdown syntax.
259      ENH: Bump the latest version of the `ITKThickness3D` remote.
260      BUG: Fix GitHub community template syntax errors.
261      STYLE: Transition GitHub community template filenames to lowercase.
262      DOC: Change GitHub community template guidelines to HTML comment markup.
263      ENH: Add new GitHub community issue templates.
264      STYLE: Improve coverage issue template name wording.
265      DOC: Fix PR template not being displayed.
266      DOC: Add emojis to GitHub issue templates.
267      ENH: Update a few remote modules to their latest commit versions.
268      DOC: Improve the CONTRIBUTING guidelines document
269      DOC: Fix typo.
270      DOC: Add checklist to PR template.
271      ENH: Add a script to update the remote module commit hashes
272      ENH: Add a script to update the ITK tag as required in files
273      ENH: Update the Remote module Python package version automatically
274      STYLE: Rename remote module maintenance script
275      DOC: Add Remote module PyPI update notice in Release guide
276      ENH: Bump remote modules.
277      ENH: Bump remote modules to latest commits
278      ENH: Bump remote modules to their latest commits
279      COMP: Fix Software Guide line length too long warnings
280
281KWSys Upstream @bradking (2):
282      KWSys 2019-02-14 (e270ce9f)
283      KWSys 2019-03-28 (e92bdbe8)
284
285Matthew McCormick @thewtex (51):
286      ENH: Use HDF5 1.10.4
287      DOC: Updates to the README
288      DOC: Use 'ITK: The Insight Toolkit' for README title
289      ENH: Add legacy multi-frame DICOM MD5 content links
290      COMP: Avoid duplicate wrapping of VectorContainer with unsigned short
291      BUG: MeshIOBase ivars used for number points, cells, pixels
292      STYLE: Keep ProjectObject methods protected in ResampleImageFilter
293      STYLE: Remove unnecessary ResampleImageFilter input/output checks
294      DOC: Updates to the Release documentation for 5.0 RC 1
295      ENH: Update CI ExternalDataVersion to 5.0rc01
296      DOC: Add ITK 5 Release Candidate 1 release notes
297      ENH: Add regression test for reading legacy multi-frame DICOM
298      ENH: Update itk_hdf5_mangle.h for HDF5 1.10.4
299      COMP: Re-apply HDF5 Emscripten clobbered by 1.10.4 update
300      ENH: Add probot-stale GitHub bot configuration
301      ENH: Add test result analysis to Azure Pipelines web interface
302      COMP: Set CMP0083 for PIE flags
303      COMP: HDF5 CMake does not have INTEGER cache type
304      COMP: Do not also pass png_ptr twice to png_set_error_fn
305      ENH: Wrap TriangleMeshToBinaryImageFilter
306      PERF: Use constexpr in complex NumericTraits
307      BUG: VTKPolyDataMeshIO CanReadFile returns false for non-PolyData
308      COMP: Set CMP0083 for PIE flags
309      BUG: Use VERSION_GREATER_EQUAL for PIE check
310      ENH: Bump CMakeLists.txt version to 4.13.2
311      ENH: Add missing SHA512 content link
312      ENH: Explicitly use Python 3.7 in Azure builds
313      COMP: Prevent duplicate wrapping ouput file specification
314      BUG: Add executable bit to prefer-type-alias-over-typedef.sh
315      COMP: Specify type in LiThresholdCalculator min call
316      ENH: Wrap ExtrapolateImageFunction
317      ENH: Add Python wrapping for SymmetricEigenAnalysisImageFilter
318      BUG: Add missing ITKImageGrid circle.png content links
319      BUG: itkResampleImageTest2Streaming verification
320      ENH: Add IOScanco remote module
321      COMP: Add backwards compatible EnlargeRegionOverBox
322      BUG: Set dashboard_do_coverage in Azure configuration
323      COMP: Add export specification to ITKSpatialObjects
324      BUG: Mark HDF5 CMake variables as advanced
325      BUG: Mark INSTALL_GTEST CMake variable as advanced
326      STYLE: NIFTI CMake variable spacing
327      BUG: Do not use CACHE variables for NIFTI when not required
328      BUG: Mark TESTLIB_VCL_WHERE_ROOT_DIR_H as advanced
329      BUG: Remove BUILD_* GDCM settings from the cache
330      BUG: Remove ALLOW_UNSUPPORTED from the cache
331      STYLE: C-style variable declarations in WindowedSinceInterpolateImageFunction
332      ENH: Add wrapping for WindowedSincInterpolateImageFunction
333      ENH: ITKVtkGlue only requires rendering libraries when needed
334      COMP: GaussianInterpolateImageFunction test narrowing
335      BUG: Allow Python tests in module test/CMakeLists.txt
336      ENH: Add new content links for ITK 5.0 RC 2
337
338MetaIO Maintainers (2):
339      MetaIO 2019-01-15 (6efa2b32)
340      MetaIO 2019-04-24 (9d2012d1)
341
342Mihail Isakov @issakomi (4):
343      BUG: WhatModulesITK.py doesn't detect ITKMeshIO
344      STYLE: header included twice, spelling
345      BUG: index overflow in BinaryMask3DMeshSource
346      BUG: changed to signed
347
348Niels Dekker @N-Dekker (28):
349      PERF: Remove SystemInformation data from ResourceProbe, fix issue #350
350      COMP: Fix support itk::VectorContainer<TElementIdentifier, bool>
351      COMP: Fix SymmetricEigenAnalysis support TMatrix = itk::Array2D<T>
352      COMP: Trailing return types (reference, const_reference) VectorContainer
353      STYLE: HoughTransform2DCircles, GaussianDerivativeImageFunc member init.
354      COMP: Win32Header no longer disable MSVC warning C4800, C4290, C4786
355      COMP: Removed unreachable code, fixing VS2017 warning (level 4) C4702
356      STYLE: Removed '2' from GaussianDerivativeImageFunction::ImageDimension2
357      STYLE: Renamed SpatialFunction within GaussianDerivativeImageFunction
358      BUG: Fixes crashes in unit tests when argv[0] == nullptr
359      STYLE: Removed InitializeConstShapedNeighborhoodIterator()
360      STYLE: ImageFileReader uses std::unique_ptr<[]>, try-catch-throw removed
361      STYLE: Renamed array of radii EllipseSpatialObject to RadiiInObjectSpace
362      STYLE: Remove GetPixelTypeName() from both Image and Mesh SpatialObject
363      ENH: GTest for ImageMaskSpatialObject::GetAxisAlignedBoundingBoxRegion()
364      STYLE: Removed unused private EventObject::EventFactoryFunction type
365      COMP: Support ITK_LEGACY_SILENT for ThreadInfoStruct
366      STYLE: Removed five unused nested types from ImageSpatialObject
367      ENH: Add static member function Size<VDimension>::Filled(SizeValueType)
368      STYLE: Removed legacy-only ComputeMyBoundingBox() which was not in ITK4
369      STYLE: Renamed ProtectedComputeMyBoundingBox() to ComputeMyBoundingBox()
370      STYLE: Remove const from SpatialObject::ComputeMyBoundingBox()
371      BUG: Fix #734 Incorrect results GetAxisAlignedBoundingBoxRegion() for 2D
372      ENH: Extend test ImageMaskSpatialObject::GetAxisAlignedBoundingBoxRegion
373      STYLE: SpatialObject GetModifiableMyBoundingBoxInObjectSpace() non-const
374      PERF: ImageMaskSpatialObject::GetAxisAlignedBoundingBoxRegion() faster
375      ENH: Add explicit constructors Point and FixedArray for C++11 std::array
376      ENH: Add begin() and end() to FixedArray, support range-based for-loops
377
378Pablo Hernandez-Cerdan @phcerdan (11):
379      ENH: Add itk-module-init.cmake to Eigen3
380      COMP: Make ThirdParty Eigen3 COMPILE_DEPENDS
381      COMP: Revert "COMP: Make ThirdParty Eigen3 COMPILE_DEPENDS"
382      BUG: Fix Eigen3 INSTALL_DIR
383      DOC: Update ITK5MigrationGuide
384      BUG: Fix OFFIS_DMCTK_VERSION_NUMBER where wrunlock was introduced
385      BUG: Fix export for ITKDeprecated classes
386      BUG: Do no install any Eigen3 targets if ITK_USE_SYSTEM_EIGEN=ON
387      ENH: Update Remote Module IsotropicWavelets
388      ENH: Add COMPILE_DEFINITIONS to castxml
389      ENH: Add remote module TotalVariation
390
391Roman Grothausmann @romangrothausmann (4):
392      ENH: new tests to verify streaming capabilities of itkResampleImageFilter
393      BUG: corrected logic for checking that streaming was not used
394      ENH: compare outputs of itkResampleImageTest2Streaming to determine success:
395      ENH: Stream ResampleImageFilter for linear transforms
396
397Simon Rit @SimonRit (2):
398      ENH: add RTK as a remote module
399      ENH: added test to check that Matrix returns a copy of the vnl matrix
400
401Stephen R.Aylward @aylward (47):
402      ENH: Refactor of SpatialObject top-level class
403      ENH: Remove itkAffineGeometryFrame file
404      ENH: Update ArrowSpatialObject
405      ENH: Children name match using string.find (i.e., any substring)
406      ENH: Refined SpatialObject base class and organized .h.  Refactoring.
407      ENH: Refactor Line and Landmark Spatial Objects
408      ENH: Refactor Mesh and fix bugs found in previous refactorings
409      BUG: Remove itkPlaneSpatialObject because it implemented a boxSO
410      ENH: Refactor itkPolygon[Group]SpatialObject
411      ENH: Refactor Scene to be a Group and refine base SpatialObject
412      ENH: Refactoring the SpatialObject to be more intuitive
413      ENH: SpatialObjects have "MyBoundingBox" and "FamilyBoundingBox"
414      ENH: Resolved SpatialObject member function and variable names
415      ENH: Updated subclasses to match SpatialObjectAPI
416      ENH: SpatialObjectPoint and Properties updated
417      ENH: Removed unwanted TreeNode classes
418      ENH: Removing outdated source files
419      COMP: SpatialObjectProperties now a cxx file that compiles
420      ENH: Refactor SpatialObjectPoints and TubeSpatialObjectPoints
421      ENH: Update PolygonGroup IO to use new spatial object classes
422      ENH: Refactoring for IO
423      ENH: Renamed functions to make coordinate system explicit
424      ENH: Refactoring Meta*Converter classes
425      ENH: Update to tests to fit new SO API
426      BUG: Fixed bugs on windows for tests
427      ENH: Updated wrapping and examples to compile SpatialObjects
428      ENH: Updated itkGetObjectMcro to itkGetModifiableObjectMacro
429      ENH: Updates to fix failing tests
430      ENH: Fix two more tests
431      BUG: Fix bug in ImageMaskSO bounding box
432      ENH: Making tests pass...one bug at a time...
433      BUG: Missing center computation in isInside function for Ellipse
434      ENH: Adding support for Clone member function to perform a deep copy
435      BUG: Last spatial-object-specific tests now pass.
436      BUG: Fix const issues regarding My/Family Bounding Box
437      BUG: Fix warnings and other minor things
438      ENH: Fixing PolygonSpatialObject
439      ENH: Made ContourSO and PolygonSO more consistent in logic
440      BUG: Fix IsInsideObjectSpace function in PolygonSpatialObject
441      BUG: Fix multiple bugs in refactoring of spatial objects
442      DOC: SpatialObject docs in migration guide (#630)
443      DOC: Detail function change in ImageMaskSpatialObject
444      DOC: Specify ITK class alternatives to removed SO member functions
445      BUG: Adds RemovePoint() to PointBasedSpatialObjects (#693)
446      DOC: PointBasedSpatialObject's PointListType migration docs provided (#652)
447      BUG: Adding a consistent Clear() to SpatialObjects (#700)
448      DOC: Update recommendation for computing a Boundoing Region in IndexSpace (#699)
449
450Thomas Janvier @T4mmi (1):
451      ENH: Add Thickness3D Remote module.
452
453VXL Maintainers (3):
454      VNL 2019-03-04 (1e8a027f)
455      VNL 2019-03-11 (3d183906)
456      VNL 2019-03-22 (d0ff9f72)
457
458Vladimir S. FONOV @vfonov (2):
459      MINC 2019-04-23 (44fae20d)
460      ENH: fixed build script
461
462Ziv Yaniv @zivy (1):
463      BUG: PNGImageIO segfaults on corrupt png.
464
465@maekclena (13):
466      BUG: Initialize array with expected number of elements
467      BUG: Disable TIFF predictor
468      BUG: Python3 compatibility
469      ENH: Cleanup python wrapping tests
470      ENH: Address review comments
471      ENH: Update maintenance script
472      BUG: Replace sed by ex for portability
473      ENH: fix inconsistencies and clearer output
474      ENH: Update remote modules
475      BUG: fix gaussian interpolate test
476      BUG: Ignore comment lines
477      STYLE: Visually indent array
478      BUG: Remove outdated class declaration
479```
480