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