ITK 5.2.0 Release Notes
We are happy to announce the release of Insight Toolkit (ITK) 5.2.0!
ITK 5.2 is a feature release that improves and extends interfaces to deep learning, artificial intelligence (AI) libraries, with an emphasis on Project MONAI, the Medical Open Network for AI. ITK 5.2 feature highlights include functional filter support for PyTorch tensors, Python dictionary interfaces to itk.Image metadata, NumPy-based pixel indexing, 4D Python image support, and improved multi-component image support.
Changes from Release Candidate 3 include an updated Python Quick Start Guide and many improvements to the ITK Sphinx Examples.
Experimental pip-installable Python packages are available for ARMv8 on macOS for the Apple M1 Silicon processor, and Linux, also known as aarch64. For a scientific computing environment on these platforms, we recommend mini-forge.
The pip-installable Python packages work with conda across all platforms. We are working to add native conda-forge packages in a future release.
All Pythonic, functional filter interfaces have type annotations with common, standard types along with numpy.typing.ArrayLike and itk.support.types.ImageLike.
Many other improvements were made since RC 3 based on community feedback. A full list can be found in the Changelog below.
Downloads
Python Packages
Install ITK Python packages with:
pip install --upgrade itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
MONAI-compatible itk.Image metadata dict and NumPy-indexing pixel set/get Python interfaces.
print(image['0008|0008'])
image['origin'] = [4.0, 2.0, 2.0]
or a dictionary can be retrieved with:
meta_dict = dict(image)
For example:
In [3]: dict(image)
Out[3]:
{'0008|0005': 'ISO IR 100',
'0008|0008': 'ORIGINAL\\PRIMARY\\AXIAL',
'0008|0016': '1.2.840.10008.5.1.4.1.1.2',
'0008|0018': '1.3.12.2.1107.5.8.99.484849.834848.79844848.2001082217554549',
'0008|0020': '20010822',
For non-string keys, they are passed to the NumPy array view so array views can be set and get with NumPy indexing syntax, e.g.
In [6]: image[0,:2,4] = [5,5]
In [7]: image[0,:4,4:6]
Out[7]:
NDArrayITKBase([[ 5, -997],
[ 5, -1003],
[ -993, -999],
[ -996, -994]], dtype=int16)
Provides a Python dictionary interface to image metadata, keys are
MetaDataDictionary entries along with 'origin', 'spacing', and
*'direction' keys. The latter reverse their order to be consistent with
the NumPy array index order resulting from array views of the image.
The itk.xarray_from_image and itk.image_from_xarray functions gained support for transfer of itk MetaDataDictionary and xarray attrs along with support for ordering xarray DataArray dims.
Pythonic enhancements
Improved Xarray support was added in the functional filter support for NumPy ndarray-like images, i.e. a numpy.ndarray, Dask Array or xarray.DataArrays.
itk.Image now provides an astype() method for casting to a NumPy dtype or itk pixel type.
In addition to single files or an image stack in a Python list, a directory can be passed to itk.imread containing a DICOM series. A spatially ordered 3D image will be obtained.
The conversion functions, itk.vtk_image_from_image() and itk.image_from_vtk_image() are directly available for working with VTK.
We now generate .pyi Python interface files, providing better feedback in integrated development environments (IDE)'s like PyCharm.
Python code was modernized for Python 3.6, including some typehints. We now use the black Python style.
An itk.set_nthreads() convenience function is available to set the default number of threads. Support is now available for use in the Python multiprocessing module.
In addition to itk.imread, itk.imwrite, itk.meshread, itk.meshwrite, spatial transformation IO functions are available, itk.transformread, itk.transformwrite.
To provide an itk.ImageIOBase derived object to read a specific file format, itk.imread and itk.imwrite gained support for the imageio keyword argument.
Python package layout improvements
Python support module organization has been organized into the itk.support.* package.
Python development was added for multi-config CMake generators, e.g. Visual Studio or multi-config Ninja, with the limitation that it only works with the most recently built configuration. When developing ITK Python wrapping or ITK remote modules, copy the WrapITK.pth build tree file to your virtual environment or conda environment site-packages to experiment with the wrapping.
Python package advances
Improved VectorImage and multi-component image support is available in the ITK Python packages.
NumPy is now a required package dependency.
Python packages are now built with interprodedural optimizations (IPO). Linux Python packages are built with the manylinux2014 toolchain.
Binary Python packages are available for ARM on macOS and Linux.
Python packages are available for Python 3.6 to 3.9. Following CPython deprecation schedule, this is the last release to support Python 3.6.
C++ interface improvements
A new itk::FunctionCommand class is available, an itk::Command subclass that calls std::function objects or lambda functions.
New itk::ReadImage, itk::WriteImage convenience functions are available for reading and writing image files with minimal code.
An itk::Image now supports operator== and operator!=.
A new itk::TernaryGeneratorImageFilter class is now available.
Third party library updates
Updates were made for the third party libraries:
- GDCM
- HDF5
- double-conversion
- pygccxml
- castxml
- swig
- VXL
- KWIML
- KWSys
- MetaIO
- cuFFTW
Remote Module Updates
We added a new adaptive denoising remote module.
Many remote modules were updated: AdaptiveDenoising, AnalyzeObjectLabelMap, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOFDF, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MGHIO, MeshNoise, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, MultipleImageIterator, ParabolicMorphology, PerformanceBenchmarking, PhaseSymmetry, PolarTransform, PrincipalComponentsAnalysis, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SmoothingRecursiveYvvGaussianFilter, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, TubeTK, TwoProjectionRegistration, and VariationalRegistration.
Their updates are included in the detailed changelog below.
Support for cross-platform C++ testing, Python package generation, and PyPI deployment with GitHub Actions was added to almost all remote modules.
Test coverage and bug fixes
A multitude of test code coverage improvements were made -- our code coverage is now 90.09% with 127,103 lines tested.
Many more bug fixes and improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 63 authors who contributed since v5.1.0, we would like to specially recognize the new contributors:
Horea Christian, Baptiste Depalle, David Thompson, Pierre Wargnier, Darren Thompson, Sebastien Brousmiche, Alexander Burchardt, Marco Nolden, Michael Kuczynski, MrTzschr, Bernhard M. Wiedemann, Charles Garraud, Lee Newberg, Bryn Lloyd, Gregory Lee, justbennet, Kenji Tsumura, Zhiyuan Liu, Jonathan Daniel, Moritz Schaar, Atri Bhattacharya, Mon-ius, Michael Jackson, Tom Birdsong, Alex Domingo, Laurent Malka, Kris Thielemans, Andreas Huber, and Melvin Robinson.
And the new contributors since v5.2rc03:
Michael Kuczynski, Flanz, Robert, Adrien Boucaud, Tom Birdsong, and suryanshsangwan.
What's Next
Our next feature release, ITK 5.3, will follow a few patch releases. Remote module Python packages will be updated to leverage and work with itk-5.2.0.post3. Join the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
ITK Changes Since v5.2rc03
Bradley Lowekamp (6):
Enhancements
- Use dynamic threading model (38dec0a2ce)
Performance Improvements
- Replace thread index array with thread local storage (18f764f23a)
Platform Fixes
- Address gcc 4.8 compilation errors (050172153c)
Bug Fixes
- Use graft of input to mini-pipeline (6390ebf540)
- Initialize member variables (2819485a51)
Style Changes
- Prefer in class initialization (46f9452491)
Dženan Zukić (13):
Enhancements
- update remote modules using the script (289564b5ff)
- update remote modules (b71b85f9cd)
- add Ultrasound remote module (04a661c78a)
- update remote modules by running the script (87de84a9b0)
Performance Improvements
- using constant boundary condition instead of filling the edge (a3429dd18e)
Documentation Updates
- fix AtomicInt and MutexLock broken links in migration guide (eb0e5a01fc)
- improve description of LBFGSERR_ROUNDING_ERROR stopping condition (3cff310b8c)
Platform Fixes
- fix CMake Deprecation Warning (Compatibility with CMake < 2.8.12) (ff2643f37b)
- Fix CMake warning by setting policy 0120 to OLD (ce2efb1b9e)
- Disable CMake warning by setting policy 0120 to OLD (d9de577a7f)
Bug Fixes
- Fix crash in itk.image_from_xarray if is_vector and Dimension==4 (3f2d117175)
Style Changes
- mark ultrasound remote module enablement as advanced variable (2c660a404c)
- use ReadImage and WriteImage in PolygonSpatialObjectIsInsideTest (75adb9fa30)
Flanz, Robert (1):
Bug Fixes
- Fix regression in PolygonSpatialObject (e3bf8e9af8)
James Butler (1):
Platform Fixes
- Fix OpenJPEG build error with Visual Studio 16.9 (7cebc26dfa)
Jon Haitz Legarreta Gorroño (11):
Enhancements
- Label PRs on filenames (1db37989c2)
- Trigger PR labeler workflows from forks (3afcc781a0)
- Increase code coverage (f704b5f12c)
Documentation Updates
- Remove duplicate
READMEfile fromReviewmodule test folder (c077bb3f62)
Platform Fixes
- Fix deduced type initialization warning and operand mismatch error (25dea2f73d)
- Fix image pointer casting error (1c25350c93)
- Fix missing initializer warning (7548a390d7)
- Avoid creating a copy variable (6c352afd04)
- Fix unreachable code warning (4b8767b7c5)
Style Changes
- Add missing source file extension to
Commonmodule tests (d5bfbef81c) - Move
DCMTKtest baselines to module'sBaselinefolder (55a186f1d4)
Lee Newberg (11):
Enhancements
- Use (Shaped)RegionRange instead of (Shaped)RegionIterator. (ca23a2b2ad)
- Mark most CMake variables as advanced (4c785c2176)
- Support ArrayLike type with both numpy>=1.20 and numpy<1.20. (5c86c02178)
Performance Improvements
- Make loop over labels be multi-threaded (b1ffefe79a)
- Use std (5e884ceb29)
Platform Fixes
- type and const safety in ContourExtractor2DImageFilter (ad81939921)
- Fix gcc4.8 warnings + errors itkContourExtractor2DImageFilter.hxx (396c2a172e)
- Replace Type{} with Type() for gcc4. (22ca5dd83d)
- Address ContourExtractor2DImageFilter valgrind defects (be7c5fda7e)
Bug Fixes
- Fix reference counts for HDF5 DataSet assignment operator (479b9424e8)
Style Changes
- Mimic code that was reviewed for the upstream HDF5 source (090399dbf0)
Matt McCormick (21):
Enhancements
- Support 32 bit integer IO in wrapping (beb286c327)
- Bump KWStyle to 2021-03-17 master (541b779329)
- Add typehints for itk types to extras (22827a5e97)
- Add typehints for itk functional filters (ed11fdcf73)
- Add .process_object attribute to functional filters (06fe2c3c0b)
- Update testing data content links for ITK 5.2.0 (ac080c97b1)
Documentation Updates
- Update notes for ITKExamples -> ITKSphinxExamples repository renaming (bf7600b317)
- Update .zenodo (bbf4a978c0)
Platform Fixes
- Wrap FastSymmetricForcesDemonsRegistrationFilter like its parent class (a9d9690b32)
- Set Windows Python CI version to 3.8 (f1978435f8)
- Build PNG arm sources for aarch64 CMAKE_SYSTEM_PROCESSOR (27216ceb98)
- Constrain x86_64 optimization flags according to CMAKE_SYSTEM_PROCESSOR (28d2b22ca7)
- Add lxmml for Windows Python CI build (0fb00c7977)
- Do not explicitly instantiate Array in itkArrayTest (f5ce437b9d)
- Add tolerance for patch-based denoising tests on Apple M1 (84b59dcee4)
Bug Fixes
- Checkout full depths for clang-format-linter (3f0d124b8f)
- Add all to itk.support.init_helpers (14992c6cd7)
- Set ElementType for wrapping PyVectorContainer (dcde43cb41)
Style Changes
- Remove extra itk prefix from support Python modules (4aba024e75)
- Use modern, Pythonic style in ImageRegistration3.py (224043546e)
- black formatting on Python modules (08eb3675b8)
Mihail Isakov (1):
Platform Fixes
- Forward CMAKE_APPLE_SILICON_PROCESSOR (4fbacb9513)
Niels Dekker (27):
Enhancements
- Add explicit OptimizerParameters(inputData, dimension) constructor (800e59e9ea)
- Make itk (59ebc33c6e)
- Add static member function, `itk (f8ad6cfdee)
Platform Fixes
- Add virtual destructor to TestClass in ExceptionObject unit test (e2c62faf10)
- Avoid "message" naming conflicts when calling an exception macro (3d35e43c08)
- Define ExceptionObject destructor out-of-line (doing Rule of Five) (0fce3ff86b)
- Fix macOS clang warnings [-Wunused-variable] in test source files (24744f9ef4)
- Fix macOS clang warning [-Wunused-variable] in itkMINCImageIOTest (b2c3042da9)
- No longer test
is_trivially_copyablein itkMatrixGTest on GCC 4 (f24496d1b8) - Workaround Clang 3 error default initialization const MatrixGTest (874f51dba7)
Bug Fixes
- Remove duplicate "itk (df0a977dd4)
- Remove duplicate "itk (1bd35b3bd5)
Style Changes
- Remove 6 no-op dynamic_casts (casting T* to T*) from Modules/Core (5b3fc71e87)
- Avoid "no-op" dynamic_cast from inside LightObject (64cafdf93d)
- Remove 9 no-op dynamic_casts (casting T* to T*) (5089a04475)
- Remove unintended extra space from destructors and operators (1e99f17cf3)
- ExceptionObject may assume that std (bf82b3cfee)
- Follow Rule of Zero and use std (f88fefff52)
- C++11 inheriting constructors from ExceptionObject for 4 classes (e41b2ef921)
- Remove destructors ExceptionObject derived classes (Rule of Zero) (79cf5c07b2)
- Use equal_to on pixel containers DenseFiniteDifferenceImageFilter (670863f3c8)
- Replace "itk (2b34388159)
- Inherit constructors (C++11) inside itkDeclareExceptionMacro (301a0482ee)
- Remove ITK_MACROEND_NOOP_STATEMENT calls from exception macro's (3f6c15eb53)
- Remove dynamic_casts PosteriorImage BayesianClassifierImageFilter (faf3d3b223)
- Remove
;from itkExceptionMacro PatchBasedDenoisingImageFilter (c9f07d9d73) - Default ImageBase default-constructor, call Matrix (254a9691ae)
Samuel Gerber (2):
Enhancements
- Add option to access index in point set registration (b6a142a5b3)
Performance Improvements
- Avoid Superfluous PointsLocator Updates (79c3c960c5)
Sean McBride (6):
Enhancements
- changed CTEST_DROP_METHOD from http to https (3cd8502cd9)
- fixed failing test with macOS Rosetta emulation by increasing buffer size (bca298ab36)
Platform Fixes
- removed dead atomic operation checks (a44407b73f)
- remove try-compile for SSE2 detection (0402e50150)
- cherrypick HDF5 commit that added C++11 override keywords (dded4df49e)
- fix link error building Universal Binary on Intel Mac (3fe5595ae6)
Simon Rit (1):
Platform Fixes
- add FFTW library directory to FFT module (c5f8949654)
Tom Birdsong (3):
Enhancements
- Expose numpy / vector container interface (cca42db412)
- Type hints in functional interface (208e1e59e0)
Bug Fixes
- Wrap PyVectorContainer for all VectorContainer templates (7216ed1ebd)
VXL Maintainers (2):
Miscellaneous Changes
ITK Sphinx Examples Changes Since v5.2rc03
Brian Helba (1):
Enhancements
- Use the upstream CMake ExternalData module, instead of a vendored local copy (d1f7d985)
Dženan Zukić (1):
Style Changes
- Switch to the new code order (5db4da31)
Lee Newberg (5):
Documentation Updates
- Indicate how to adjust resolution in ResampleAnImage (896d48e2)
- Add details for running CreateNewExample.py (532ca008)
- RescaleAnImage -> RescaleIntensity to clarify that it's not about size. (a732d546)
Platform Fixes
- Include for some files (87ab548a)
Bug Fixes
- Fix continuous integration failure of ResampleAnImage (66b8d2f0)
Mathew Seng (7):
Enhancements
- Enable use of titlecase for header creation (b33b3806)
Documentation Updates
- Rename folder directories (3190a58e)
- Allow consistent Documentation.rst headers (65e5b8f9)
- Put remaining example headers into proper format (d2b99b30)
- Enable LineSpatialObject doxygen references in Sphinx (8dd5e762)
Bug Fixes
- Submodules not ordered in alphabetical order (c806da3e)
- Rename LineSpatialObject to CreateALineSpatialObject (47e05d48)
Matt McCormick (44):
Enhancements
- Add .ipynb_checkpoints to .gitignore (81a58211)
- Upgrade to ITK 5.2 RC 3 (227eeff5)
- Add clang-format pre-commit hook (eb063108)
- Add black style pre-commit hook (0175c886)
- Bump Netlify GitHub Action to v1.1.13 (0ee18172)
- Test Python in CI with the Superbuild (57e24097)
- Add IsPixelInsideRegion Python example (b9b630b2)
- Update ITK Required version to 5.2.0 (f76453ee)
- Update ITK to v5.2.0 (5377df13)
- Simplify ResampleAnImage output parameters (e148246a)
Documentation Updates
- Place Jupyter Notebook section before Code (54f836da)
- Rename UpsampleOrDownsampleAScalarImage to ResampleAScalarImage (86f62137)
- Add Python code for ResampleAScalarImage (0a458df4)
- Place resample examples next to each other in module index (33cdf2c4)
- Simplify ResampleSegmentedImage, Python version (d3ae2969)
- Add pandoc, nbsphinx to the documentation deps (63634901)
- Rename build-test-superbuild to build-test-python (d5505edb)
- Install titlecase package for CreateNewExample.py script (7489cce3)
- Update example Download link instructions (c17864d3)
- Update build instructions for example .zip files (249b93e9)
Platform Fixes
Bug Fixes
- Remove Compatibility/Deprecated group (b0777843)
- Enable production-deploy on Netlify GitHub Action (8bcc38b8)
- Do not use shallow checkout for linting (43a59ba7)
- Use super-linter GitHub Action for black linting (2be5415c)
- Remove unnecessary matrix options for notebook testing (017d6fd3)
- Add nbsphinx to the superbuild Python packages (71aecd82)
- Require itk>=5.2.0.post2 for notebook tests (97c6e553)
- Tarball html output path when not built as a remote module (f76dc431)
- Fix download links (635cbc75)
- Add ipython to Python environment for documentation build (f6cbeb76)
- Correct MutualInformationAffine output (f5e029f2)
- Transform SVG files in Sphinx (0e0de5fb)
- Fix epub output path link in documentation (0ca83aa3)
Style Changes
- Pythonic style for ResampleAVectorImage (4cdd7029)
- Use itk (fc822448)
- Use Pythonic interface for ResampleAnImage (473070bf)
- Run black on all Python examples (05bd86a4)
- Add black, flake8 GitHub Action linters (6dd94077)
- Disable JSCPD check (dbda6ab0)
- Explicitly enable black linting for super-linter (4fdae985)
- Rename ITKExamples to ITKSphinxExamples (b0d53207)
- Only output downloadable .zip archives for examples (567b01c6)
Melvin Robinson (3):
Documentation Updates
- Update documentation output to match Code.cxx output (0e2eca92)
Miscellaneous Changes
Pablo Hernandez-Cerdan (2):
Enhancements
- Use itk.image_to_vtk_image (49750fad)
Platform Fixes
- Remove "vtk" prefix from VTK COMPONENTS (9c045a18)
Stephen Aylward (5):
Platform Fixes
- Bump min required version for CMake to > 2.8 to avoid warning (f75e9c87)
Bug Fixes
- CreateTarball assumes /src/ is unique in path (37da5d6c)
Style Changes
- Reformatting CreateTarball.py to match lint (e706163a)
- Additional lint changes to CreateTarball.py (d19ecc34)
Miscellaneous Changes
- Fix remaining lint issues (94d58947)
Tom Birdsong (4):
Enhancements
- Build notebook docs with nbsphinx (c5eae3cc)
- Add ComputeMeanSquareBetweenTwoImages Python example (d7928a96)
Bug Fixes
- Move build-test-cxx CI source tree to path with shorter name (2f3b1dfc)
- Use GZip for Doxygen XML archive (2d30a5bc)
suryanshsangwan (1):
Miscellaneous Changes
- ea1de658 (ea1de658)
ITK Software Guide Changes Since v5.2rc03
Matt McCormick (4):
Enhancements
Documentation Updates
- Update for ITKExamples -> ITKSphinxExamples renaming (c4846a2)
Bug Fixes
- Work around CI environmental variable setting (944a3e2)
Remote Module Changes Since v5.2rc03
AnisotropicDiffusionLBR:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (3df1fde)
Matt McCormick (3):
Enhancements
- Update CI for ITK 5.2 RC 3 (cc6c28c)
Platform Fixes
- Constrain wrapping to 2D, 3D images (4cec024)
Bug Fixes
- Incorporate ITKModuleTemplate CI configuration updates (1720bae)
BSplineGradient:
Matt McCormick (1):
Enhancements
- Bump CI to ITK 5.2 RC 3 (76996c4)
HigherOrderAccurateGradient:
Matt McCormick (1):
Enhancements
- Bump CI to ITK 5.2 RC 3 (59fa983)
IOFDF:
Matt McCormick (2):
Enhancements
- Update CI for ITK 5.2 RC 3 (f79f207)
Documentation Updates
- Add PyPI, License badges (587a000)
IOScanco:
Dženan Zukić (6):
Enhancements
- enable writing ISQ files (08e269a)
- avoid possible buffer overflows on string ivar setters (0f60565)
- Initializing MuWater constant to the usual value (50aafe1)
- update CI to 5.2RC3+ (823fb92)
Performance Improvements
- do not re-scale the data if there is no need for it (b4392f4)
Bug Fixes
- do not crash in CanReadFile if the path does not exist (7569472)
Matt McCormick (3):
Enhancements
- Populate the Image MetaDataDictionary when reading (4e887b2)
- Update build for ITK 5.2 RC 3 (4dd399f)
- Populate the Image MetaDataDictionary when reading (f44399d)
Michael Kuczynski (3):
Enhancements
- Add Tests for AIM Reading (05a019d)
Bug Fixes
- Updated Baseline AIM Image to Pass Tests (8b0ab02)
Style Changes
- Update Output File Names in Tests (530cc34)
MinimalPathExtraction:
Matt McCormick (1):
Enhancements
- Update CI for ITK v5.2rc03+ (537b34a)
Montage:
Dženan Zukić (10):
Enhancements
- update CI to 5.2RC3+ (2869345)
- add getters and setters to Tile and TileConfiguration for Python access (325add3)
- avoid deadlock when invoked via Python (62d6492)
- support RGB and RGBA pixel types for TileMergeImageFilter (7f565de)
- adding a Python example (ebe2dc3)
- review suggestions (fc0a8d6)
Documentation Updates
- Fix a broken article link (65dbdc8)
Bug Fixes
- Do not use shallow checkout for linting (458424d)
Style Changes
Matt McCormick (3):
Enhancements
- Update builds for ITK 5.2 RC 3 (4b6aa42)
Documentation Updates
MorphologicalContourInterpolation:
Adrien Boucaud (2):
Enhancements
Dženan Zukić (2):
Enhancements
- adding a Python example with a simple test with an input image (2f90b24)
- build examples as part of CI testing (539da4f)
RLEImage:
Matt McCormick (1):
Enhancements
- Update Python package version requirement to 5.2rc1 (3ac76da)
RTK:
Lucas Gandel (1):
Platform Fixes
- Add missing iostream include for CUDA classes (3dba9889)
Simon Rit (6):
Enhancements
- upgrade CI for python packages to 5.2rc02 (3a00f178)
- wrap RegularizedConjugateGradientConeBeamReconstructionFilter (4f3b7506)
- upgrade CI for python packages to 5.2rc03 (6da67e06)
Documentation Updates
- fix broken links to Siggraph pages (70cd3b37)
Bug Fixes
- missing initialization of SART division threshold (dd7a5fe9)
Style Changes
- rename guards for Cuda includes following ITK's style (dd660a00)
SplitComponents:
Matt McCormick (3):
Enhancements
- Bump CI for ITK 5.2 RC 3 (5c70947)
Documentation Updates
- Remove Azure Pipelines badge (72594b2)
Platform Fixes
- Update ITK version to 2021-03-14 master for Windows CI builds (fc7de89)
Strain:
Matt McCormick (1):
Enhancements
- Update CI for ITK 5.2 RC 3 (9af85d8)
Thickness3D:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (82bb742)
Matt McCormick (1):
Enhancements
- Update CI for ITK v5.2rc02 (2150b11)
TotalVariation:
Matt McCormick (2):
Enhancements
- Update CI for ITK 5.2 RC 2 (147c4cb)
Documentation Updates
- Update setup.py download_url (b3564d7)
TubeTK:
Mathew Seng (6):
Enhancements
- Cannot have both a modifiable and constant object macro (b3b717c3)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (79485ec1)
Bug Fixes
- Remove old CI configurations (d0769c36)
Style Changes
- Update itkGetObjectMacro macros (b8e642e9)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (918d7b01)
- Place ';' at the end of each macro (7bb42067)
Matt McCormick (3):
Enhancements
- Update CI configuration for ITK 5.2 RC 3 (40bbcfb1)
Documentation Updates
- Fix CI status badge (e4cb53d0)
Platform Fixes
- Add cmake_minimum_required to top level CMakeLists.txt (05b347c4)
Stephen Aylward (3):
Enhancements
- Combine jupyter notebooks into single .py file for CTP-Head (53a34786)
- Remove cmake_minimum_requirements since ITK defines them. (4024de62)
Bug Fixes
- Eliminate chance of divide by zero in itktubeBlurImageFunction (7d90c1f3)
Ultrasound:
Matt McCormick (3):
Enhancements
Style Changes
- Move notebooks into examples/ directory directly (d8ebede)
Assets
18
ITK 5.2 Release Candidate 3 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.2 Release Candidate 3 is available for testing!
ITK 5.2 is a feature release that improves and extends interfaces to deep learning, artificiayl intelligence (AI) libraries, with an emphasis on Project MONAI, the Medical Open Network for AI. ITK 5.2 feature highlights include functional filter support for PyTorch tensors, Python dictionary interfaces to itk.Image metadata, NumPy-based pixel indexing, 4D Python image support, and improved multi-component image support.
Release Candidate 3 adds parallel, multi-label support in itk::ContourExtractor2DImageFilter. Spatial transform IO functions, itk.transformread, itk.transformwrite are available, similar to itk.imread, itk.imwrite, itk.meshread, itk.meshwrite. itk.xarray_from_image, itk.image_from_xarray gained support for transfer of itk MetaDataDictionary and xarray attrs. An itk.ImageIOBase derived object for itk.imread and itk.imwrite can now be provided with the imageio keyword argument. Many code coverage improvements were made along with a number of platform support improvements, including VTK interfaces and Apple M1 ARM64 support.
Downloads
Python Packages
Install ITK Python packages with:
pip install --upgrade --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
MONAI-compatible itk.Image metadata dict and NumPy-indexing pixel set/get Python interfaces.
print(image['0008|0008'])
image['origin'] = [4.0, 2.0, 2.0]
or a dictionary can be retrieved with:
meta_dict = dict(image)
For example:
In [3]: dict(image)
Out[3]:
{'0008|0005': 'ISO IR 100',
'0008|0008': 'ORIGINAL\\PRIMARY\\AXIAL',
'0008|0016': '1.2.840.10008.5.1.4.1.1.2',
'0008|0018': '1.3.12.2.1107.5.8.99.484849.834848.79844848.2001082217554549',
'0008|0020': '20010822',
For non-string keys, they are passed to the NumPy array view so array views can be set and get with NumPy indexing syntax, e.g.
In [6]: image[0,:2,4] = [5,5]
In [7]: image[0,:4,4:6]
Out[7]:
NDArrayITKBase([[ 5, -997],
[ 5, -1003],
[ -993, -999],
[ -996, -994]], dtype=int16)
Provides a Python dictionary interface to image metadata, keys are
MetaDataDictionary entries along with 'origin', 'spacing', and
*'direction' keys. The later reverse their order to be consistent with
the NumPy array index order resulting from array views of the image.
The itk.xarray_from_image and itk.image_from_xarray functions gained support for transfer of itk MetaDataDictionary and xarray attrs along with support for ordering xarray DataArray dims.
Python functional filter support for PyTorch tensors
Similar to functional filter support for NumPy ndarray-like images, i.e. a numpy.ndarray, Dask Array or xarray.DataArrays, all itk.Image filters now support execution on PyTorch Tensor's.
For example:
import itk
import torch
import numpy as np
a = np.random.rand(50,50)
t = torch.from_numpy(a)
r = itk.median_image_filter(t)
Pythonic enhancements
itk.Image now provides an astype() method for casting to a NumPy dtype or itk pixel type.
In addition to since filtes or an image stack in a Python list, pass in a directory to itk.imread containing a DICOM series to obtain the appropriately ordered 3D image.
itk.vtk_image_from_image() and itk.image_from_vtk_image() for working with VTK.
We now generate .pyi Python interface files, providing better feedback in integrated development environments (IDE)'s like PyCharm.
Python code was modernized for Python 3.6, including some typehints. We now use the black Python style.
An itk.set_nthreads() convenience function is available to set the default number of threads. Support is now available for use in the Python multiprocessing module.
In addition to itk.imread, itk.imwrite, itk.meshread, itk.meshwrite, spatial transformation IO functions are available, itk.transformread, itk.transformwrite.
To provide an itk.ImageIOBase derived object to read a specific file format, itk.imread and itk.imwrite gained support for the imageio keyword argument.
Python package layout improvements
Python support module organization has been organized into the itk.support.* package.
Python development was added for multi-config CMake generators, e.g. Visual Studio or multi-config Ninja, with the limitation that it only works with the most recently built configuration. When developing ITK Python wrapping or ITK remote modules, copy the WrapITK.pth build tree file to your virtual environment or conda environment site-packages to experiment with the wrapping.
Python package advances
Improved VectorImage and multi-component image support is available in the ITK Python packages.
NumPy is now a required package dependency.
Python packages are now built with interprodedural optimizations (IPO). Linux Python packages are built with the manylinux2014 toolchain.
Python packages are available for Python 3.6 to 3.9. Following CPython deprecation schedule, this is the last release to support Python 3.6.
C++ interface improvements
A new itk::FunctionCommand class is available, an itk::Command subclass that calls a std::function objects or lambda functions.
New itk::ReadImage, itk::WriteImage convenience functions are available for reading and writing image files with minimal code.
An itk::Image now supports operator== and operator!=.
A new itk::TernaryGeneratorImageFilter class is now available.
Third party library updates
Updates were made for the third party libraries:
- GDCM
- HDF5
- double-conversion
- pygccxml
- castxml
- swig
- VXL
- KWIML
- KWSys
- MetaIO
- cuFFTW
Remote Module Updates
We added a new adaptive denoising remote module.
Many remote modules were updated: AdaptiveDenoising, AnalyzeObjectLabelMap, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOFDF, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MGHIO, MeshNoise, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, MultipleImageIterator, ParabolicMorphology, PerformanceBenchmarking, PhaseSymmetry, PolarTransform, PrincipalComponentsAnalysis, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SmoothingRecursiveYvvGaussianFilter, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, TubeTK, TwoProjectionRegistration, and VariationalRegistration.
Their updates are included in the detailed changelog below.
Support for cross-platform C++ testing, Python package generation, and PyPI deployment with GitHub Actions was added to almost all remote modules.
Test coverage and bug fixes
A multitude of test code coverage improvements were made -- our code coverage is now 90.09% with 127,10 3nelines tested.
Many more bug fixes and improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 58 authors who contributed since v5.1.0, we would like to specially recognize the new contributors:
Horea Christian, Baptiste Depalle, David Thompson, Pierre Wargnier, Darren Thompson, Sebastien Brousmiche, Alexander Burchardt, Marco Nolden, Michael Kuczynski, MrTzschr, Bernhard M. Wiedemann, Charles Garraud, Lee Newberg, Bryn Lloyd, Gregory Lee, justbennet, Kenji Tsumura, Zhiyuan Liu, Jonathan Daniel, Moritz Schaar, Atri Bhattacharya, Mon-ius, Michael Jackson, Tom Birdsong, Michael Kuczynski, Alex Domingo, Laurent Malka, and Kris Thielemans.
And the new contributors since v5.2rc02:
Andreas Huber and Melvin Robinson.
What's Next
This will be the last release candidate before the 5.2.0 release. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. We will hold a hackathon on March 17th
Enjoy ITK!
ITK Changes Since v5.2rc02
Andreas Huber (1):
Bug Fixes
- Fix number encoding to use C locale (#2297) (c01cd4b272)
Brad King (1):
Enhancements
- Convert VNL import script to use update-third-party.bash (7e5d7c102d)
Dženan Zukić (9):
Enhancements
- use master branch of GoogleTest until a stable version is released (58d757c4af)
- manually update minimum CMake version to 2.8.12 to avoid warning (bddc08cede)
- make shared variables local to facilitate code reuse/parallelism (e2f9212a3d)
- reduce duplication in ContourExtractor2DImageFilter (830e704fcd)
Platform Fixes
- fix rename error from re-basing parallel branches (4ceb80196f)
Style Changes
- review suggestions (b1d31d79f9)
Miscellaneous Changes
- manually update minimum CMake version to 2.8.12 to avoid warning" (eef7836fa3)
- use master branch of GoogleTest until a stable version is released" (4699a88925)
- 81312d1 (81312d110b)
GoogleTest Upstream (1):
Miscellaneous Changes
Hans Johnson (8):
Enhancements
- Provide better failure diagnostics (41c1765f42)
Platform Fixes
- Use ITK_MACROEND_NOOP_STATEMENT for GPU macro ending. (69804a7f77)
- Preserve const qualifier for variable (482dab950f)
- Prefer const pointer when value does not change (c2116d956b)
Style Changes
- Make prototype match definition names (cde72b3e7d)
- Throw expression should throw anonymous temporary values instead (8774989235)
- Remove deprecated orientation enumeration codes (317567484e)
- Use default member initialization (8751ef7502)
Jon Haitz Legarreta Gorroño (14):
Enhancements
- Use strongly typed enums for `itk (e94bb37e4a)
- Print all member variables. (433413321f)
- Use
itkBooleanMacroforImageSpacing,InterpolateSurfaceLocation(80cd0ce654) - Increase code coverage (563b224ff8)
Platform Fixes
- Remove duplicate include file (6ce1c4e331)
Bug Fixes
- Fix Superclass name in RTTI macro (04e5d15459)
- Fix
itkMultiphaseSparseFiniteDifferenceImageFilterTest(9ec01eb7ef) - Fix Superclass name in RTTI macro (d8f088f277)
- Fix uninitialized variable use in
ANTSneighborhood correlation metric (72ea1f254c) - Initialize member variables (f60a74ec5a)
Style Changes
- Rename
ITK_EXERCISE_BASIC_OBJECT_METHODSclass names arguments (091d0f7420) - Provide default initialization to constructor in header file (bd11fd58a7)
- Use single forward slashes in
CMakeLists.txtdata paths (2abb4709e3) - Use the static `FixedArray (0a8acb1a35)
Lee Newberg (2):
Enhancements
- support multiple labels in ContourExtractor2DImageFilter (e2cfba4629)
Bug Fixes
- Fix crash of PythonExtrasTest when extra types are wrapped (9096c74111)
Mathew Seng (1):
Documentation Updates
- Add Git upstreams for post-commit hook (1fca440760)
Matt McCormick (19):
Enhancements
- xarray_from_image "c" coords uint32 type (2e4cb26705)
- Module configuration exec to import (59ed43b127)
- Add itk.transformread, itk.transformwrite (d09b0647bc)
- imageio kwarg for imread, imwrite (d3012f54ea)
- xarray_from_image .attr, image_from_xarray MetaDataDictionary support (66b9008455)
- Content link synchronization for v5.2rc03 (d6951962a4)
Platform Fixes
- Remove invalid Emscripten HDF5 link flags (6146b3a0dd)
- Declare H5O__fsinfo_set_version (09f0b6a417)
- Provide H5CX_set_apl declaration in H5Odeprec.c (44fb096785)
- Provide H5CX_get_ohdr_flags declaration in H5Oint.c (7822911d2d)
- Declare H5CX_set_libver_bounds in H5Rint.c (3e6f52e6aa)
- Add output redirection for H5Tinit.c, H5lib_settings.c generation (f45fe863b2)
- Include stdio.h for printf (6ce6cbd7d2)
- Migrate ITKVtkGlue library configuration to itk-module-init.cmake (ace1934f9f)
- Include directories for CastXML when wrapping ITKVtkGlue (d653aa14b3)
Bug Fixes
- Remove Azure coverage CI build (2625429815)
- Disable Emscripten exception for floating point exceptions (9f5529fb10)
- SetPixelTypeInfo for VARIABLELENGTHVECTOR, ARRAY, VARIABLESIZEMATRIX (57cd4d7b65)
Style Changes
- black formatting on itkExtras.py (be948cf0b9)
MetaIO Maintainers (1):
Miscellaneous Changes
Mihail Isakov (1):
Bug Fixes
- memory leak in LSMImageIOTest (a49daa8dc2)
Niels Dekker (3):
Platform Fixes
- Fix itkGPUKernelClassMacro(kernel) backward compatibility (6c06a28d43)
Style Changes
- Remove virtual from itkGPUKernelClassMacro, use C++11
= delete(6fe4dcd40f) - Remove dynamic_cast and GetPointer() from LightObject (fb7937dad0)
Sean McBride (6):
Documentation Updates
- Removed obsolete readme info regarding updating HDF5 (f5fd16e68a)
Platform Fixes
- Remove prohibition against building Universal Binaries on macOS (1562d26709)
- remove invalid double underscore usage (f9610760bf)
- ignore try_compile fenv_t results on macOS (d8b22b369a)
- cherrypicked HDF5 upstream changes for macOS universal binary support (4b2175fd0b)
- Changed conditional include of emmintrin.h to use preprocessor (39ccd65d7e)
VXL Maintainers (2):
Miscellaneous Changes
ITK Examples Changes Since v5.2rc02
Mathew Seng (10):
Enhancements
- Bump VTK version to 9.0.1 in Superbuild (b96567df)
- Allow examples to be built without QuickView (f30851e5)
- Configure examples that utilize VTK (f0798173)
- Bump OpenCV version to 4.5.1 (e6124682)
- Publish documentation after complete build (0387b3da)
Bug Fixes
- Specify version for LevelSetV4Visualization examples (1ed5ce95)
- Fix input for examples that use VTK (cddc856f)
- Remove redundant/invalid imports to OpenCV (b8e6cf00)
- Remove broken visualization tool (74a4c193)
- Incorrect path for removing sphinx warning (d75e5fdd)
Matt McCormick (14):
Enhancements
- Use wildcard for GitHub Actions artifact version (bdac9235)
- Add Netlify configuration (9c0d8e2f)
- Add .ipynb_checkpoints to .gitignore (81a58211)
Documentation Updates
- Fix dashboard link (574d6bf7)
- Place Jupyter Notebook section before Code (54f836da)
- Rename UpsampleOrDownsampleAScalarImage to ResampleAScalarImage (86f62137)
- Add Python code for ResampleAScalarImage (0a458df4)
Platform Fixes
- Address various Sphinx warnings (37fa225d)
Bug Fixes
- Superbuild installs required itk sphinx six packages (41f23c9c)
- Remove relative paths for GitHub Actions artifacts (deddc10a)
- MutualInformation outputBaseline.png -> OutputBaseline.png (c60556b8)
- Upgrade pip in the superbuild virtual environment (9c0d52d1)
- Remove Compatibility/Deprecated group (b0777843)
Style Changes
- Pythonic style for ResampleAVectorImage (4cdd7029)
Melvin Robinson (1):
Miscellaneous Changes
- 5997992a (5997992a)
Tom Birdsong (10):
Enhancements
- Update ITK CI tags to v5.2rc02 (3e1a0189)
- Added ExhaustiveOptimizerv4 Python example (9c4713d4)
- Added MutualInformation example notebooks (23b83823)
- Added notebook for param space viz with ExhaustiveOptimizerv4 (13584e45)
- Added RegisterTwoPointSets example notebook (2c476f2b)
- Add nbmake notebook checks to CI (0d196eba)
Bug Fixes
- Disable MutualInformationAffine example (c6dd70ec)
- Fixed MutualInformationAffine cxx and baseline test parameters (448db3f6)
- Added .binder folder for requirements.txt dependencies (66ad2c17)
- Fixed MutualInformation notebook undefined behaviors (84a8bc8c)
tom.birdsong (1):
Enhancements
- Add point set registration example (d50d4ef7)
Assets
8
ITK 5.2 Release Candidate 2 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.2 Release Candidate 2 is available for testing!
ITK 5.2 is a feature release that improves and extends interfaces to deep learning, artificial intelligence (AI) libraries, with an emphasis on Project MONAI, the Medical Open Network for AI. ITK 5.2 feature highlights include functional filter support for PyTorch tensors, Python dictionary interfaces to itk.Image metadata, NumPy-based pixel indexing, 4D Python image support, and improved multi-component image support.
Release Candidate 2 makes improvements to these new features, such as 4D Python support and torch tensor support, adds preliminary support for the new Apple M1 ARM64 system, and prepares updates to the ITK Sphinx Examples.
Downloads
Python Packages
Install ITK pre-release binary Python packages with:
pip install --upgrade --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
MONAI-compatible itk.Image metadata dict and NumPy-indexing pixel set/get Python interfaces.
print(image['0008|0008'])
image['origin'] = [4.0, 2.0, 2.0]
or a dictionary can be retrieved with:
meta_dict = dict(image)
For example:
In [3]: dict(image)
Out[3]:
{'0008|0005': 'ISO IR 100',
'0008|0008': 'ORIGINAL\\PRIMARY\\AXIAL',
'0008|0016': '1.2.840.10008.5.1.4.1.1.2',
'0008|0018': '1.3.12.2.1107.5.8.99.484849.834848.79844848.2001082217554549',
'0008|0020': '20010822',
For non-string keys, they are passed to the NumPy array view so array views can be set and get with NumPy indexing syntax, e.g.
In [6]: image[0,:2,4] = [5,5]
In [7]: image[0,:4,4:6]
Out[7]:
NDArrayITKBase([[ 5, -997],
[ 5, -1003],
[ -993, -999],
[ -996, -994]], dtype=int16)
Provides a Python dictionary interface to image metadata, keys are
MetaDataDictionary entries along with 'origin', 'spacing', and
'direction' keys. The later reverse their order to be consistent with
the NumPy array index order resulting from array views of the image.
Python functional filter support for PyTorch tensors
Similar to functional filter support for NumPy ndarray-like images, i.e. a numpy.ndarray, Dask Array or xarray.DataArrays, all itk.Image filters now support execution on PyTorch Tensor's.
For example:
import itk
import torch
import numpy as np
a = np.random.rand(50,50)
t = torch.from_numpy(a)
r = itk.median_image_filter(t)
Pythonic enhancements
itk.Image now provides an astype() method for casting to a NumPy dtype or itk pixel type.
In addition to since filtes or an image stack in a Python list, pass in a directory to itk.imread containing a DICOM series to obtain the appropriately ordered 3D image.
itk.vtk_image_from_image() and itk.image_from_vtk_image() for working with VTK.
We now generate .pyi Python interface files, providing better feedback in integrated development environments (IDE)'s like PyCharm.
Python code was modernized for Python 3.6, including some typehints. We now use the black Python style.
An itk.set_nthreads() convenience function is available to set the default number of threads. Support is now available for use in the Python multiprocessing module.
Python package layout improvements
Python support module organization has been organized into the itk.support.* package.
Python development was added for multi-config CMake generators, e.g. Visual Studio or multi-config Ninja, with the limitation that it only works with the most recently built configuration. When developing ITK Python wrapping or ITK remote modules, copy the WrapITK.pth build tree file to your virtual environment or conda environment site-packages to experiment with the wrapping.
Python package advances
Improved VectorImage and multi-component image support is available in the ITK Python packages.
NumPy is now a required package dependency.
Python packages are now built with interprodedural optimizations (IPO). Linux Python packages are built with the manylinux2014 toolchain.
Python packages are available for Python 3.6 to 3.9. Following CPython deprecation schedule, this is the last release to support Python 3.6.
C++ interface improvements
A new itk::FunctionCommand class is available, an itk::Command subclass that calls a std::function objects or lambda functions.
New itk::ReadImage, itk::WriteImage convenience functions are available for reading and writing image files with minimal code.
An itk::Image now supports operator== and operator!=.
A new itk::TernaryGeneratorImageFilter class is now available.
Third party library updates
Updates were made for the third party libraries:
- GDCM
- HDF5
- double-conversion
- pygccxml
- castxml
- swig
- VXL
- KWIML
- KWSys
- MetaIO
- cuFFTW
Remote Module Updates
We added a new adaptive denoising remote module.
Many remote modules were updated: AdaptiveDenoising, AnalyzeObjectLabelMap, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOFDF, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MGHIO, MeshNoise, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, MultipleImageIterator, ParabolicMorphology, PerformanceBenchmarking, PhaseSymmetry, PolarTransform, PrincipalComponentsAnalysis, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SmoothingRecursiveYvvGaussianFilter, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, TubeTK, TwoProjectionRegistration, and VariationalRegistration.
Their updates are included in the detailed changelog below.
Support for cross-platform C++ testing, Python package generation, and PyPI deployment with GitHub Actions was added to almost all remote modules.
Test coverage and bug fixes
A multitude of test code coverage improvements were made -- our code coverage is now 89.86% with 126,591 lines tested.
Many more bug fixes and improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 58 authors who contributed since v5.1.0, we would like to specially recognize the new contributors:
Horea Christian, Baptiste Depalle, David Thompson, Pierre Wargnier, Darren Thompson, Sebastien Brousmiche, Alexander Burchardt, Marco Nolden, Michael Kuczynski, MrTzschr, Bernhard M. Wiedemann, Charles Garraud, Lee Newberg, Bryn Lloyd, Gregory Lee, justbennet, Kenji Tsumura, Zhiyuan Liu, Jonathan Daniel, Moritz Schaar, Atri Bhattacharya, and Mon-ius.
And the new contributors since v5.2rc01:
Michael Jackson, Tom Birdsong, Michael Kuczynski, Alex Domingo, Laurent Malka, and Kris Thielemans.
What's Next
We anticipate an additional release candidate following community testing before the 5.2.0 release. The following release candidates will improve related documentation and make further improvements. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
ITK Changes Since v5.2rc01
Alex Domingo (1):
Bug Fixes
- fix python module definition in VtkGlue wrap (5e28b1d05d)
Brad King (1):
Enhancements
- Update to newer third-party update script from CMake (e0cd16a3c5)
Bradley Lowekamp (6):
Enhancements
- Update ternary filter wrapping for generator base class (1fd685a12a)
- Create ITK_DEFAULT_THREADER definition (0cb20b764c)
- Add ITK_DEFAULT_THREADER as CMake configuration variable. (01183d763a)
Bug Fixes
- Make OutputWindow instance a global singleton (40ec4c6b1b)
- Fix JPEG200Test6 file output clobbering (e71e0e2961)
Style Changes
- Prefer function of direct access of output instance. (3f5974a78c)
Christina Rossmanith (5):
Bug Fixes
- read data arrays with intent NIFTI_INTENT_NONE for point or cell data (f2b9bc0fed)
Style Changes
- Remove blank before (cb7ece06f2)
- Edited comments (7fb1da17ee)
- New methods for translating Nifti datatypes to IOxxxxEnum (5f5dedd2d1)
- RGB comment (4ce9ec7c77)
Dženan Zukić (4):
Enhancements
- Python wrapping fixes (dd6f608141)
- updating remote modules using the script (affd3bb428)
- supporting multi-channel tensors as inputs and outputs in Python (2cdc2b4026)
Platform Fixes
- externally built remote module libs went in /lib or C (2be2531e1c)
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Check input and output image dimensionality matches (1b5c41c2f8)
Bug Fixes
- Use appropriate dimensionality for image and components weights (0450e4c58f)
KWSys Upstream (1):
Miscellaneous Changes
Kris Thielemans (2):
Platform Fixes
- Fix linking problems with external HDF5 (51740751a3)
- use HDF5 targets preferentially if using a system HDF5 (df5f96179a)
Lee Newberg (3):
Enhancements
- Add "long long" support to itkVTKImageImport (0ffe3e0e21)
Platform Fixes
- remove warnings for template already defined (0ff09ab468)
- remove CastImageFilter "template already defined" warnings (b013c717ea)
Mathew Seng (4):
Enhancements
- Update SpatialObject and SpatialObjectPoint sphinx (c05c06f9d9)
Bug Fixes
- Incorrect path for Sphinx Examples in Doxygen (22a6f94bc3)
- Invalid urls to outside sources (e15b8ddf70)
- Incorrect syntax for doxygen code block (cd61f093d7)
Matt McCormick (16):
Enhancements
- Add ARM sources to libpng update from upstream script (377c4d009e)
- Add libpng ARM sources (5a0e6dba71)
- Generate a list of remote modules changed for release notes (a9b8d22368)
- Set default dimension for SymmetricEigenAnalysisImageFilter (e262561b33)
- Support alternate dim orders in image_from_xarray (e2f61927f6)
- NumPy and XArray conversion for 4D images (211d453670)
Documentation Updates
- Update macOS Python package Release build instructions (187eee8962)
Platform Fixes
- Force runtime output with Visual Studio and Python wrapping (a3a8fef888)
- Add ARM sources to libpng build (3199260db9)
Bug Fixes
- Set runtime output path for external module binaries (aeae4665d0)
- Do not assert module swig attribute for init_docstring (78fe087eca)
- init_docstring with filter instance from the current module (029dd608cb)
- Wrap MetaDataObject for Array and std (e635884fa5)
- Test SymmetricEigenAnalysisImageFilter (d085f50ab6)
Style Changes
- Add SymmetricEigenAnalysisImageFilter (b92944e838)
- Add SymmetricEigenAnalysisImageFilter (2ebf40002c)
MetaIO Maintainers (1):
Miscellaneous Changes
Michael Jackson (1):
Platform Fixes
- Detect Apple Silicon arch for Floating Point exceptions (856e237118)
Niels Dekker (3):
Enhancements
- Array, OptimizerParameters constructors with size and initial value (73ce4ca9dd)
- Support calling a const NumberToString, add GoogleTest unit tests (f3b3f69453)
Style Changes
- Reduce buf size, remove builder.Reset() calls from NumberToString (c00531fe23)
Tom Birdsong (5):
Enhancements
- Python wrapping for v4 optimizers (c5fdc6d2e0)
- Relocate and test diff demons reg filter Python wrapping (2bac1995ca)
- Wrap DisplacementFieldTransform for vector floats (c7f0244319)
- Wrap GradientDescentOptimizerv4 for Python (8b9ec33c22)
- Wrap CenteredTransformInitializer for template superclass (07ffb8bd8c)
ITK Examples Changes Since v5.2rc01
Mathew Seng (16):
Enhancements
- Create Vector Dot Product Python Example (e4078190)
- Create CovariantVector Python example (1ed36c6e)
- Implement new breathelinkstruct Directive (2c48c45f)
- Enable Documentation build for GitHub Actions (9fab61d5)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (fb9b519a)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (1d25bf44)
- Fix various warnings when building documentation (b03f63ec)
- Incorrect paths to Sphinx Documentation (c0dbf4c3)
- Ignore Remote in toctree (dca5a2f8)
- Incorrect path to itk classes (e49d27fc)
- Fixes warnings for being unable to highlight code block (414af5be)
- Incorrect bounds for python scripts in documentation (f6597c9d)
- Fix LineSpatialObject example (070d9d26)
Style Changes
- Fix spelling errors in documentation (dc0b0d99)
- Put submodules in alphabetical order (3904cf24)
- Move LevelSetV4Visualization examples to VTKGlue (eb3aad09)
Tom Birdsong (2):
Enhancements
- Update ITK CI tags to v5.2rc02 (3e1a0189)
Bug Fixes
- Disable MutualInformationAffine example (c6dd70ec)
Remote Module Changes Since v5.2rc01
AdaptiveDenoising:
Mathew Seng (2):
Enhancements
- Update GitHub Actions with changes from ITKModuleTemplate This makes the following changes (a92cb14)
- Bump package version to 0.2.0 (3a3aedb)
AnalyzeObjectLabelMap:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (5702df6)
BSplineGradient:
Dženan Zukić (1):
Enhancements
- updating to latest CI config from Module Template (591ac47)
BioCell:
Mathew Seng (1):
Platform Fixes
- Update CI from ITKModuleTemplate (cb8152c)
BoneEnhancement:
Mathew Seng (1):
Platform Fixes
- Update CI from ITKModuleTemplate (fcf501f)
BoneMorphometry:
Mathew Seng (2):
Enhancements
- Integrate GitHub Actions clang This script was pulled from the ITKModuleTemplate. This will verify the clang format for all proposed changes. (459f57b)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (c56c4ad)
Cuberille:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (0b8efff)
FixedPointInverseDisplacementField:
Mathew Seng (2):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (c7e56bc)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor and Travis CI. (02fe433)
GenericLabelInterpolator:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (fc8bdcb)
HigherOrderAccurateGradient:
Dženan Zukić (2):
Enhancements
- update CI to latest from Module Template (716ec45)
Style Changes
- apply clang format (8658e15)
IOFDF:
Mathew Seng (2):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (ac3c663)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor and Travis CI. (0045c2a)
IOMeshSTL:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (cca3c94)
IOScanco:
Dženan Zukić (3):
Enhancements
- update CI to latest from Module Template (685b28c)
Platform Fixes
- update to latest commit from master (61064c0)
Style Changes
- remove unnecessary space (9764435)
Matt McCormick (2):
Enhancements
- Bump Python package version to 0.8.0 (b47ab3c)
Bug Fixes
- Fix itk package version specification (9f1b191)
Michael Kuczynski (1):
Enhancements
- Convert Images to HU by Default (f6a5a82)
IsotropicWavelets:
Mathew Seng (4):
Platform Fixes
- Update CI from ITKModuleTemplate (d8c3000)
Bug Fixes
Style Changes
- Fix clang formatting for several scripts (ba3279c)
LabelErodeDilate:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (c4e295a)
MGHIO:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (efe7906)
MinimalPathExtraction:
Mathew Seng (2):
Enhancements
- Integrate GitHub Actions clang This script was pulled from the ITKModuleTemplate. This will verify the clang format for all proposed changes. (39bb6b8)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (95c6570)
Montage:
Dženan Zukić (1):
Enhancements
- update to latest CI from Module Template (a404101)
MorphologicalContourInterpolation:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (6d14e4e)
MultipleImageIterator:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (0a5cd67)
ParabolicMorphology:
Mathew Seng (3):
Enhancements
- Integrate GitHub Actions clang This script was pulled from the ITKModuleTemplate. This will verify the clang format for all proposed changes. (7f1a816)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (92899e0)
Style Changes
- Adjust to clang format This fixes clang errors thrown from running the newly integrated clang-format-linter.yml (05f53ed)
PerformanceBenchmarking:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (6c94878)
PhaseSymmetry:
Mathew Seng (2):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (324417f)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes Azure CI. (0c10070)
PolarTransform:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (b4ac52f)
PrincipalComponentsAnalysis:
Mathew Seng (2):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (0d68f83)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor and Travis CI. (749f399)
RLEImage:
Dzenan Zukic (1):
Platform Fixes
- fix Linux compile error (0a885a2)
Dženan Zukić (5):
Enhancements
- use the latest version of CI from ModuleTemplate (7773480)
- proper wrapping of ROI filter for RLEImage (73403e9)
- add testing of Python instantiation of ROI filter for RLEImage (d3b56b6)
Platform Fixes
- fix wrapping of RLEImage (5e1eba9)
Bug Fixes
- CleanUp did not compile (6a99edc)
Matt McCormick (2):
Enhancements
- Add GitHub Actions configuration (d59e79e)
Style Changes
- clang-format style (8287118)
RTK:
Laurent Malka (2):
Enhancements
- fix export macros usage to match ITK rules (9223e672)
Platform Fixes
- Fix DbfField and DbfFile files export warning (1a9baecf)
Simon Rit (1):
Miscellaneous Changes
- 4220d20b (4220d20b)
SCIFIO:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (549c717)
SkullStrip:
Mathew Seng (1):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (0ac38b2)
SplitComponents:
Dženan Zukić (2):
Enhancements
Strain:
Dženan Zukić (2):
Enhancements
- update from latest ModuleTemplate to use v5.2rc01 (bea0438)
- update to latest CI from Module Template (fba02d8)
SubdivisionQuadEdgeMeshFilter:
Mathew Seng (1):
Platform Fixes
- Update CI from ITKModuleTemplate (c7c9692)
TextureFeatures:
Matt McCormick (2):
Enhancements
TwoProjectionRegistration:
Mathew Seng (2):
Enhancements
- Integrate GitHub Actions clang This script was pulled from the ITKModuleTemplate. This will verify the clang format for all proposed changes. (90ba898)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (c03be21)
Assets
8
ITK 5.2 Release Candidate 1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.2 Release Candidate 1 is available for testing!
ITK 5.2 is a feature release that improves and extends interfaces to deep learning, artificial intelligence (AI) libraries, with an emphasis on Project MONAI, the Medical Open Network for AI. ITK 5.2 feature highlights include functional filter support for PyTorch tensors, Python dictionary interfaces to itk.Image metadata, NumPy-based pixel indexing, 4D Python image support, and improved multi-component image support.
Downloads
Python Packages
Install ITK pre-release binary Python packages with:
pip install --upgrade --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
MONAI-compatible itk.Image metadata dict and NumPy-indexing pixel set/get Python interfaces.
print(image['0008|0008'])
image['origin'] = [4.0, 2.0, 2.0]
or a dictionary can be retrieved with:
meta_dict = dict(image)
For example:
In [3]: dict(image)
Out[3]:
{'0008|0005': 'ISO IR 100',
'0008|0008': 'ORIGINAL\\PRIMARY\\AXIAL',
'0008|0016': '1.2.840.10008.5.1.4.1.1.2',
'0008|0018': '1.3.12.2.1107.5.8.99.484849.834848.79844848.2001082217554549',
'0008|0020': '20010822',
For non-string keys, they are passed to a NumPy array view so array views can be set and get with NumPy indexing syntax, e.g.
In [6]: image[0,:2,4] = [5,5]
In [7]: image[0,:4,4:6]
Out[7]:
NDArrayITKBase([[ 5, -997],
[ 5, -1003],
[ -993, -999],
[ -996, -994]], dtype=int16)
Provides a Python dictionary interface to image metadata, keys are
MetaDataDictionary entries along with 'origin', 'spacing', and
'direction' keys. The later reverse their order to be consistent with
the NumPy array index order resulting from array views of the image.
Python functional filter support for PyTorch tensors
Similar to functional filter support for NumPy ndarray-like images, i.e. a numpy.ndarray, Dask Array or xarray.DataArrays, all itk.Image filters now support execution on PyTorch Tensor's.
For example:
import itk
import torch
import numpy as np
a = np.random.rand(50,50)
t = torch.from_numpy(a)
r = itk.median_image_filter(t)
Pythonic enhancements
itk.Image now provides an astype() method for casting to a NumPy dtype or itk pixel type.
In addition to an image filename or an image filename stack in a Python list, pass in a directory to itk.imread containing a DICOM series to obtain the appropriately ordered 3D image.
itk.vtk_image_from_image() and itk.image_from_vtk_image() for working with VTK.
We now generate .pyi Python interface files, providing better feedback in integrated development environments (IDE)'s like PyCharm.
Python code was modernized for Python 3.6, including some typehints. We now use the black Python style.
An itk.set_nthreads() convenience function is available to set the default number of threads. Support is now available for use in the Python multiprocessing module.
Python package layout improvements
Python support module organization has been organized into the itk.support.* package.
Python development was added for multi-config CMake generators, e.g. Visual Studio or multi-config Ninja, with the limitation that it only works with the most recently built configuration. When developing ITK Python wrapping or ITK remote modules, copy the WrapITK.pth build tree file to your virtual environment or conda environment site-packages to experiment with the wrapping.
Python package advances
Improved VectorImage and multi-component image support is available in the ITK Python packages.
NumPy is now a required package dependency.
Python packages are now built with interprodedural optimizations (IPO). Linux Python packages are built with the manylinux2014 toolchain.
Python packages are available for Python 3.6 to 3.9. Following CPython deprecation schedule, this is the last release to support Python 3.6.
C++ interface improvements
A new itk::FunctionCommand class is available, an itk::Command subclass that calls a std::function objects or lambda functions.
New itk::ReadImage, itk::WriteImage convenience functions are available for reading and writing image files with minimal code.
An itk::Image now supports operator== and operator!=.
A new itk::TernaryGeneratorImageFilter class is now available.
Third party library updates
Updates were made for the third party libraries:
- GDCM
- HDF5
- double-conversion
- pygccxml
- castxml
- swig
- VXL
- KWIML
- KWSys
- MetaIO
- cuFFTW
Remote Module Updates
We added a new adaptive denoising remote module.
Many remote modules were updated: AdaptiveDenoising, AnalyzeObjectLabelMap, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOFDF, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MGHIO, MeshNoise, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, MultipleImageIterator, ParabolicMorphology, PerformanceBenchmarking, PhaseSymmetry, PolarTransform, PrincipalComponentsAnalysis, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SmoothingRecursiveYvvGaussianFilter, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, TubeTK, TwoProjectionRegistration, and VariationalRegistration.
Their updates are included in the detailed changelog below.
Support for cross-platform C++ testing, Python package generation, and PyPI deployment with GitHub Actions was added to almost all remote modules.
Test coverage and bug fixes
A multitude of test code coverage improvements were made -- our code coverage is now 89.86% with 126,590 lines tested.
Many more bug fixes and improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 51 authors who contributed since v5.1.0, we would like to specially recognize the new contributors:
Horea Christian, Baptiste Depalle, David Thompson, Pierre Wargnier, Darren Thompson, Sebastien Brousmiche, Alexander Burchardt, Marco Nolden, Michael Kuczynski, MrTzschr, Bernhard M. Wiedemann, Charles Garraud, Lee Newberg, Bryn Lloyd, Gregory Lee, justbennet, Kenji Tsumura, Zhiyuan Liu, Jonathan Daniel, Moritz Schaar, Atri Bhattacharya, and Mon-ius.
What's Next
We anticipate at least one more release candidate following community testing before the 5.2.0 release. The following release candidates will improve related documentation and make further improvements. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
ITK Changes Since v5.1.0
Alexander Burchardt (1):
Documentation Updates
- fixes itkSoftwareGuide #146 (f8069f0fbe)
Antoine Robert (2):
Enhancements
- Use Numpy bridge with array of dimension 1 (53ce90294b)
Atri Bhattacharya (2):
Bug Fixes
- Use explicit libm linking only on UNIX. (0ba93de147)
Miscellaneous Changes
Baptiste Depalle (1):
Enhancements
- improve wrapping architecture (b118141a63)
Bernhard M. Wiedemann (1):
Bug Fixes
- Fix issue #1939 (eea0be3e14)
Brad King (1):
Style Changes
- Allow specific HDF5 sources to be larger than normal limit (b9216207dc)
Brad T. Moore (3):
Bug Fixes
- WatershedImageFilter would crash with assert. (6af6956d97)
- Fix to ITKSetPython3Vars ignoring Python virtual environments (#2068). (38c39d8818)
- Add '_d' POSTFIX to Windows Python Debug (#2050) (e9fdf144f5)
Bradley Lowekamp (42):
Enhancements
- Use named pipeline inputs for morphological reconstruction (9c45e84ace)
- Add FunctionCommand with lambda support (b07b3cd319)
- Add direct support for lambda command to Object class (b895526230)
- Update GDCM to latest on the release-2.8 branch (90e6da1ff6)
- Bump SimpleITKFilters remote module (50c23e0580)
- PasteImageFilter input ND and constant value (498fee2173)
- Add TernaryGeneratorImageFilter (d976b6f461)
- Change TernaryFunctor usage to TernaryGenerator (cb5b726394)
- Add GTest cases for TernaryGeneratorImageFilter (e0de7419c6)
- Update ternary filter wrapping for generator base class (39b2c81b19)
- Moderinize ShiftScaleImageFilter (5a8938c658)
- remove redundant WriteImage overloads (d8af208642)
Documentation Updates
- Update Object (18953dd012)
- Grammar fixes (dd64342870)
Platform Fixes
- Add missing const qualifier (a7ffe5acad)
- Address missing brace initializer warning (14a8919dfd)
- Fix ~FunctionCommand implicit override warning (fd4c0f8e46)
- Address no override keyword warning (34a414fbdb)
- Update SimpleITKFilters remote module (459d798e43)
- add missing parentheses (19969b4ef5)
- Address unused other parameter in defaulted methods (6cedbbc261)
- Address brace initializer warning (b1fc86afa6)
Bug Fixes
- Add StatisticsImageFilter (b9ac060a53)
- Disable dynamic threading in noise filter. (af780e8a03)
- Add StatisticsImageFilter (43a8972077)
- Fix segfault with empty CompositeTransforms (0300b63ddf)
- Fix additional segmentation faults with empty Composite (7212dc719f)
- Address memory leak in CastSpatialOpbjectTest (a243e9d9af)
- Patch missing const qualifier to GDCM dircos_comp comparison (90ad651db4)
- Address bug with small size in output of SliceImageFilter (7aac4a6748)
- Update CI scripts from current ITK master (3213404416)
- update CircleCI configuration with selections from master (08dc0116fe)
- Don't use InsertElement which modifies MTime (63d148715e)
- Address buffer overflow with deprecated GDCM1 interface (5df152b4c3)
- Remove no output warning in ImageSink filters (342098e460)
- Address divide by zero error in SignedMaurerDistance (4fb2831d62)
- Support MRC2014 mode 0 as signed 8-bit integer (f7d72576bf)
Style Changes
- remove extraneous semi-colon after bracket (c22e46b126)
- Use defaulted constructor for event object macro (c24d5dd188)
- Improve function types used in SignedMaurerDistanceMap (b706cf64c7)
Bryn Lloyd (2):
Platform Fixes
- Fix warning in PointSetToPointSetMetricv4 (#1820) (0892462d78)
Charles Garraud (1):
Bug Fixes
- Fix BUILD_SHARED_LIBS state consistency for HDF5 (8d9f078a3d)
Darren Thompson (1):
Enhancements
- Added itkPointSetToImageFilter.wrap (75ed9591a5)
David Thompson (1):
Enhancements
- Let gitlab-ci runners build with clang-tidy. (d97280f880)
Davis Vigneault (11):
Enhancements
- Add Python Wrappers for Mesh Source Classes (a10f19eff8)
- Review Cuberille Remote Module Compliance (f981de6829)
- Assert in Debug Mode (128f58bc85)
- Test Assignment and Copy of Spatial Objects (4afc284051)
- Test Map and Vector Iterators (a2cb636777)
- Add Missing Boolean Macros in QEFilters (d926647247)
Platform Fixes
- Address Wdeprecated-copy warnings in gcc9 (4e0aea2092)
Bug Fixes
- Fix Segfault in Delaunay Filter (e72fd012a4)
Style Changes
- Prefer Early Return (902763f0cb)
- Call Superclass assignment operator (aa3f122e1a)
Dženan Zukić (27):
Enhancements
- updating remote modules to latest versions (c9977356b6)
- update remote modules (60207eec97)
- use double-conversion's CMake targets (3ee6f1e5c9)
- back-porting #1165 to support Visual Studio 2019 (432dd1b9dc)
- progress reporting does not stall with PoolMultiThreader (181171da21)
- append properties instead of overwrite in HDF5 (ee249607e0)
- allow dependencies on remote modules (fa1082b929)
- remove NumPy presence conditions from tests' CMakeLists.txt (71044d8495)
- add a convenience function WriteImage (60b0984d41)
- update remote modules (faec364cad)
Documentation Updates
- restore LICENSE accidentally overwritten by a merge commit (a443c76bc5)
- restore LICENSE accidentally overwritten by a merge commit (ed2a25db2c)
- add ComputeJacobianWithRespectToPosition change to migration guide (e06776fea3)
- hyperlink mentioned commits (8a17d4e611)
Platform Fixes
- fix GPU compile errors when building as DLLs (5183490199)
- a fix for non-system double-conversion build (a47c974f64)
- update download location for pre-built ICU for Visual Studio (f360092423)
- variable is uninitialized when passed as a const reference (c8ee1e55f9)
- fix compilation with Python and tests enabled on Visual Studio (07382404bc)
Bug Fixes
- fix Statistics (147ac4548b)
- Filter inputs are erroneously released (4e556d449b)
Style Changes
- make column limit more stringent in the examples (0b970d803d)
- apply clang-format (d9e73e9a8b)
- rename libPNG's license to match the original one (e016512d77)
- remove duplicate item in a list (481c31af68)
- rename libPNG's license to match the original one (5012917fb4)
- remove duplicate item in a list (a8ba7686a5)
Eigen Upstream (1):
Miscellaneous Changes
GCC-XML Upstream (1):
Enhancements
- pygccxml v2.0.1 (reduced) (f8322d75a1)
GDCM Upstream (3):
Miscellaneous Changes
Gregory Lee (1):
Documentation Updates
- update references for recursive Gaussian filters (1cf7142055)
HDF5 Maintainers (1):
Miscellaneous Changes
Hans J. Johnson (3):
Enhancements
- Prefer to use sform over qform when both are set (34231b5702)
- Exercise converting Object (d9e464c702)
Miscellaneous Changes
Hans Johnson (158):
Enhancements
- Add test to monitor metric result value (d5549c93b0)
- New test data for nifti qform/sform (616461fb62)
- Add nifti sform read/write testing (8e2e52869e)
- Do not pollute the global link_directories namespace (708c837788)
- Update building internal FFTW version (7d033c2463)
- Move cmake config items into common itkConfig.py.in file (a867b5e12e)
- Remove alias to 'object' variable name (8223831a3c)
- Extend dictionary with
updatenotadd(82b639b72f) - Avoid bugs with mutable default arguments (2b8e1e7919)
- Use targeted import for element of sys (4f9b9918ea)
- import modules at top of file (787c0b3c04)
- Avoid poluting the global namespace (bb1c7b57ea)
- Remove unused variable warnings. (1b1bf30d59)
- Prevent contaminating global namespace (9f6cf0049b)
- disable a false positive naming error from pytype. (3dd39f69e8)
- Code review and simplified logic (b87caa1818)
- Remove circular module dependancy (4606fb5aad)
- Explicitly test the itkConfig.LazyLoad=False option (14873a246d)
- Allow setting default behaviors with environment (6872aeaca0)
- Only copy path spec when needed (30882f57c3)
- Avoid adding invalid path to the sys.path (5be56ea461)
- Add error checking for required paths (eb9d7ecb51)
- Update minimum required version of ITK (ddf248309a)
- Use more standard symbol lifting into itk namespace (be520e05fc)
- Separate static components into base class (32185a5275)
- Adding function to help generate init.pyi (82754b50fc)
- Exclude cvar from the testing. (ba66340fe9)
- Update documentation for generation of itkTemplates. (2884cb5fa3)
- Update to SWIG 4.0.2 (46897c2fdf)
- Add swig doxygen and autodoc=2 formats (1401fdbe4f)
- Ignore huge file warning for HDF5 paths (f6dcbb9932)
- Remove python interface introspection (693851bbc0)
- Simplified multi-config generator wrapping (12e8d93a1c)
- HDF5 upstream now hosted on github Version 1.10.6 (4726315a91)
- More closely match the 1.10.6 release hdf5 (bbc7945343)
- Script for updating DoubleConversion library. (7e50cec343)
- Update Double-convert third-party (ee51ee18e6)
- Update remote modules to master branch (4fec21155b)
Documentation Updates
- Spelling warnings removed. (47fa99d824)
- Improve variable name spelling (34e8618012)
- Make variable name clarifications and type designations (18f1ca0a4c)
- Add autodoc request in swig .i files (2b9324a58a)
- Make swig object registry more transparent (7863da6db1)
Platform Fixes
- Missing defition of ITK_DISALLOW_COPY_AND_ASSIGN (d933363875)
- Resolve multi-line comment warning (7c6355841f)
- Refine order of searching for header files (3192eb2975)
- Ensure consistent ordering of list printed (362bf6b851)
- Local variable 's' might be referenced before assignment (80094567d7)
- Ambiguous 'range' function made explicit (eeef5c82e6)
- Avoid outscope variable shadowing (56be042274)
- Selective import of required components (30dd1b5c12)
- Avoid possible variable use before assignment. (183cb1db67)
- Remove redundant import. (a5408c1ff4)
- Remove unneccessary HAVE_NUMPY conditionals (8b65fc4bf6)
- Avoid reassigning parameters (71830712eb)
- Too broad exception narrowed. (ee452b875e)
- PEP 8 (c7fb93c668)
- Address protected member warning (cc1b39e514)
- Shadows name 'input_type','keys' from outer scope (db612aaf99)
- Remove python2 dictionary compatibilties. (fade2565bb)
- Too broad exception clause fixed (1f75a9a1fb)
- Method 'Stop' may be 'static' (0c4269c551)
- Remove potential referenced before assignment (af9526bdc7)
- Remove shadows name from outer scope. (a94e0690c8)
- Instance attributes should be defined in init (a8d0d06ac5)
- Remove shadow variable outer scope warnings. (abd70cea64)
- Remove difficult to debug use of global variable (35e625a7f9)
- Avoid poluting the module namespace (cae100149c)
- Remove unused local variables. (6c0c6ac468)
- Keep local functions out of global namespace (05eef39b8c)
- Use lowercase python compatible function name. (09b96dc67d)
- Match variable names from itkBase. (d6c004d003)
- Unresolved reference 'sqrt' (672d9cd4e0)
- Simplify exposing elements from itk namespace. (92f4c11f56)
- Allow type inference tracking with dynamic loading. (ba169e32c4)
- Fix test for remote python module (523defbe78)
- Enforce name.strip() redundantly (ab071e4e41)
- Provide full path to test script file (305a09efd8)
- Prefer static member function modify static instance vars (8cde96968f)
- Place python shared libs as subpackage of itk (22998bd226)
- Unconditionally set wrapped shared lib directory (0428956bce)
- Add initial typing for itkExtras (f6c98a595e)
- Mypy signature mismatch fixed (1a08df34b8)
- Adding typing for ITK manually. (c635fc08f4)
- Add typehinting for support classes (f7989935fb)
- Fix hidden overloaded-virtual warning (ef8ffe5c6e)
- Avoid compiler warnings with IPO (4b69a7141a)
- Work around ghostflow-check-master warnings (5f96c9e279)
- Set vxl minimum to 3.0.0 (a4ffdcf9b2)
- Use of uninitialzed variable warning (4ea8d8a70c)
Bug Fixes
- Double scaling introduced in refactoring (d23cb9295e)
- Double scaling introduced in refactoring (355c6cbda3)
- Incomplete removal of ITK_INSTALL_NO_* variables (3adb25fd65)
- itkhdf5 installed paths were incorrect with recent hdf5 versions (9e0d33cd1e)
- Centos internal lib64 lib path (4026b5e4ba)
- Fix fftw linkage issue with system fftw (85cb1d5860)
- itkhdf5 installed paths were incorrect with recent hdf5 versions (fd4a438042)
- snake case functions are erased (8a0a94041e)
- Writing snake_files should not be appended (2504f43021)
- Decoupled config files should not depend (4c3d376981)
- Pickling of itk module was broken (e5208e54fb)
- Must append the list itkConfig.path (0e0c9ababd)
- WRAPPER_LIBRARY_OUTPUT_DIR is needed before macro call (008ea74e87)
- Convert code to python3 compatible (fd74a79f8f)
- Avoid itkConfig double import trap (1e334c9aab)
- Limit ignore to build directories only (10a96a2b61)
- Explicit use of builtin set (b978584a08)
- Add test exposing multiprocessing LazyLoad failure (62916b2755)
- LazyLoading must be threadsafe (2880b97c88)
- Incorrect loop dimensions in untested code (43a3c6ac60)
- Do not wrap invalid template parameters (57448a583d)
- CASTXML fails with aggressive optimizer flags (cf39f4f871)
- Missing output dependency shared/H5init.c (519f1bd65a)
- New test for 3D support (bd7740cec7)
- ASAN identified use after delete bug (ece02372ff)
Style Changes
- Use black formatting for python (cf1095c835)
- Prefer fstrings for python 3.6+ (3e797747dd)
- Missed conversions for new macro name (bf30fc083c)
- Use consistent formatting for python files (c7c0736e3d)
- Fix comment spelling errors. (3a9a73c3ad)
- Apply consistent pep8 compatible indentation. (425060c493)
- Prefer to use @staticmethod decorator. (72e117da77)
- Initial typehints added. (44083b64ba)
- Avoid difficult to read anit-pattern (2e85876bae)
- Remove python2 dictionary facade (5b5d79c04e)
- Fix name and spelling issues (261bb0e152)
- Applied recommend code refactorings (0a1b4a1658)
- Use python preferred lower-snake-case variable names (065c7fd5f8)
- pytype warning disabled. (93d479afb2)
- Address shadow variable and python style issues (e7479f4306)
- Remove pass through return of read-only values. (5e1c7c4277)
- Encapsulate initialization for keeping namespace clean. (5a943bbead)
- Prefer to extend existing template (e98a3010c8)
- Reduce aliased object naming (17051ed75f)
- Localize imports to minimum scope. (67459c3b28)
- Update to python3 compatible syntax. (34ca41fbee)
- Update python Test with
blackformatting (b3b7566b35) - Remove unused macro. (c59328a8d5)
- Prefer explicit check to nested try/catch (213e3382c8)
- Only set paths necessary for current build (c82803a767)
- Fix spelling error interperter -> interpreter (6687482f48)
- Make self-contained module. (97d506e23d)
- Prefer explicit in-package pathing (d01deeb18c)
- Improve relative pathing computations (2a628f2f43)
- Prefer explicit full module specification for spec (bcf9afae3e)
- Remove duplicated content that was immediately overwritten (d9de859473)
- Update python Test with
blackformatting (70be2c1b8f) - Simplify writing template python code files (05a8362df9)
- Use consistent formatting for python files (2f7c9a1837)
- Prefer fstrings for python 3.6+ (b83ee83d9c)
- Minimize cmake configured python files (98fe9d6205)
- Add typehints for the itkTypes (83a662568a)
- Prefer fstrings for readability. (cd3324726c)
- Update processing of *Config.py files (53e4fe066f)
- Re-enforce black formatting contraints (8e4a64b20a)
- Remove duplicate module dependancy entries (102ce4f70d)
- Fix clang-format styling require macro ';' end (92b891d33a)
- Macros should respect an end-of line ; (5a88436242)
Horea Christian (1):
Enhancements
- improved support for offline build (75149ceee5)
Jan Margeta (1):
Enhancements
- Support for non-compliant DICOM in itk-js (2810be637b)
Jerome Schmid (1):
Platform Fixes
- VtkGlue module-Provide support for VTK new cmake targets (c2cfd2b6d1)
Jon Haitz Legarreta Gorroño (56):
Enhancements
- Update remote modules (a31c6436a3)
- Update
Montageremote module (217d7d2f47) - Improve `itk (c5d7ba3bb3)
- Improve the `itk (39035018c2)
- Improve `itk (ab143391e8)
- Add `itk (1508eae93c)
- Add boolean macros to
SpatialObjectsmodule boolean ivars (b681f7a760) - Add the
PrintSelfmethod to `itk (24c4e3d22f) - Improve the DTI module classes coverage (b60c3c6103)
- Improve coverage for
SpatialFunctionmodule classes (fe5d2277c7) - Improve coverage for
SpatialObjectsmodule classes. (9e566f400e) - Improve TopHatImageFilter classes coverage (7574a8ea30)
- Use strongly typed enums for the
Algorithmtype in math morphology (71a1e10a38) - Test streaming math morphology
enum classtypes (c5254267ec) - Print all `itk (1099abcd60)
- Improve coverage for `itk (c33133c9b3)
- Improve coverage for `itk (5b10d39289)
- Improve coverage for `itk (c04e18e5b2)
- Effectively test filename values causing exceptions (89b636b2bb)
- Improve coverage for
MathematicalMorphologymodule classes. (a08a0d90ae) - Improve coverage for `itk (a7d0d9ccbb)
- Add test for `itk (6232caea74)
- Increase `itk (bcc61d8f63)
- Increase `itk (5a08386924)
- Increase `itk (29d5f5142a)
- Increase `itk (2b1806a027)
- Increase
ITKImageFeaturemodule classes coverage (bdf7ddda0f) - Increase
ITKImageGradientmodule classes coverage (7f36e8e2ff)
Documentation Updates
- Add NumFOCUS-related contents to README (79f4620757)
- Fix typos in DTI 3D reconstruction image filter example (12f090deb2)
- Fix typos in DTI module's anisotropy image filter classes (b12ab31231)
- Improve math morphology class documentation (6b58cb13eb)
- Fix link to NumFOCUS ITK project website in
README(f38b88fe95) - Change the Insight Journal handle links to insight-journal links (1fc01a7a8a)
- Fix verbatim block in
UpdatingThirdPartydoc file (eca8e74d4a)
Platform Fixes
- Fix SW Guide examples LaTeX block line start warnings (e95769af5b)
- Fix SW Guide examples multi-line comment warnings (1ab9659e57)
- Remove unnecessary inherited member re-definitions (a17edc6521)
- Fix `itk (47617c2a6e)
- Fix missing initialization braces warnings (698c936869)
- Fix `itk (c0955f47b2)
- Fix undeclared identifier (ca37e273cf)
- Update legacy boolean ivar set method call to current API (0e18baab51)
Bug Fixes
- Fix math morphology strongly typed
enumscope-resolution (128e1d7373) - Fix `itk (7bdc54edb6)
- Fix
itkDCMTKSeriesREadImageWrite.cxxtest failures (94154341cd) - Remove unnecessary IO member filter name of class print calls (fe8f991cb5)
Style Changes
- Transition
Testing/DataREADMEto Markdown (3116466fa8) - Fix typo in
itkBinaryThresholdImageFilterTest(f16dbf75d6) - Fix ivar print value in `itk (bdf5cab617)
- Avoid
try/catchboilerplate code in updating writer (96e8ecf665) - Remove unnecessary comment lines (d37d8b36df)
- Turn commented unnecessary commands into useful comments (f05218b746)
- Make indentation in `itk (9f6e623d7e)
- Improve `itk (1ff221aea7)
- Use
itkBooleanMacroto avoid boilerplate code (532545a408)
Jonathan Daniel (3):
Enhancements
- Added .vs to .gitignore (cfd8edd32e)
- Added .vs to .gitignore (e4f20e2580)
Bug Fixes
- Accept TemplateTypeError with fallback_only (612a769660)
KWIML Upstream (1):
Miscellaneous Changes
KWSys Upstream (1):
Miscellaneous Changes
Kenji Tsumura (1):
Bug Fixes
- Fix itkGPUDemonsRegistrationFilterTest fails (78e84e7c49)
LIBPNG Upstream (1):
Miscellaneous Changes
Lee Newberg (19):
Enhancements
- Support additional pixel types in python wrapping for ShrinkImageFilter. (6b54a99207)
- WIP (caf224974a)
- Read DICOM directory with Python imread (e20335872f)
- Support for VariableLengthVector in CastImageFilter (87c3fb1708)
- Move ITKMeshToPolyData functionality into ITK (30da875f61)
- Make Python Image.astype() work for more types (8f2a6c99fd)
- Add tests for VectorImage.astype (1f5d3a4953)
- Support
ttypeparameter for numpy<->ITK conversions (00e6785a6a) - ttype can be
ImageTypewhenever(ImageType,)is accepted (5741f877be) - add additional assertions for
ttypeparameter (aac01f1179)
Performance Improvements
- No need to check whether numpy is available (858792ab46)
Platform Fixes
- Breaks Continuous test for Microsft OS; disable until debugged. (e749f3b781)
Bug Fixes
- Do not wrap signed distance map filters for integer image outputs (076e990904)
- Update associated test (0da293d648)
- MinPriorityQueueElementWrapper constructor needs ZeroValue() (ce3444c652)
- MinPriorityQueueElementWrapper constructor needs default constructor (fc37787a9e)
- MinPriorityQueueElementWrapper constructor needs default constructor (b027780259)
- fix tests for VectorContainer and PyVectorContainerPython (f24795b2e0)
Style Changes
- Prevent CMake variable name collisions (623f466b0b)
Marco Nolden (1):
Platform Fixes
- added vcl compiler detection for GCC 10.x (e53d1d94f0)
Mathew Seng (2):
Enhancements
- Update Remote Modules (25a71e389f)
Bug Fixes
- Missing end-of line macro changes (5fbc65946e)
Mathieu Malaterre (1):
Style Changes
- Teach git about GDCM oversize file (046b1ce07b)
Matt McCormick (59):
Enhancements
- Bump the ITK CMake version to 5.2.0 (13f6310924)
- Add itk.vtk_image_from_image and itk.image_from_vtk_image (f13e760be2)
- Bump CI ExternalData version to 5.1.0 (c444993267)
- Add torch.Tensor input/output support for ITK filters (b9deb4743e)
- Add Label PR GitHub Action (28d2289399)
- Add image.astype(pixel_type) for casting (5f6aecf652)
- Bump CMakeLists.txt version to 4.13.3 (f7ac08b4c9)
- Update UpdatepygccxmlFromUpstream.sh for pygccxml v2.0.1 (8430295f67)
- Add testing data content links for ITK 5.1.1 (866ee013a1)
- Update ITK CMake version for 5.1.1 (3ecf6c87d1)
- Add Image dict and pixel set/get Python interfaces (d8086fad34)
- Wrap LabelOverlapMeasuresImageFilter (c39ea2f1b4)
- Support Python debugging with Visual Studio (6837c58908)
- WIP (58661ec04d)
- Update ITK CMake version for 5.1.2 (39d9b1712f)
- Add int.tiff.md5 content link for 5.1.2 release (a0125aa894)
- Install dask for CI testing (8a89d1f7a2)
- Update GDCM upstream repository to GitHub (6d35c93c95)
- Content link updates for ITK 5.2 RC 1 (be70e83f91)
Performance Improvements
- Add IPO flags to Python libraries (020530e00e)
Documentation Updates
- Release process updates for 5.1.0 (dec528a777)
- Add 5.1 Release Notes (9f79ab220d)
- Fix conda install command in ReleaseDownloadLinks.md (b7af5ee6bc)
- Add pointers on how to browse and download testing data (3adc97511a)
- Note content link update for bug fix releases (b2dcce79bb)
- Correct ITKExamples Python package testing command (8e45514502)
Platform Fixes
- itkResampleImageTest8 ~ProjectTransform mark as override (deb5f46f2c)
- Duplicate ImageToImageFilter wrapping of ULL (e747b0a946)
- CurvesLevelSetImageFilter multi-line comment (c66679392c)
- Unused tc in SquaredEdgeLengthDecimationQuadEdgeMeshFilterTest (419b92403c)
- Bump CastXML to 0.3.4 (795bbd9a27)
- Avoid duplicate itk.PointSetD3 wrapping (bea2a7906e)
- Do not reference FE_DIVBYZERO FE_INVALID with Emscripten (b05b007a63)
- Add VXL support for GCC 9 (9825d546c4)
- Add lxml to macOS CI environment (7c230e02e6)
- Add lxml to macOS CI environment (1919eaa95b)
- Add missing itkMacro.h to itkSTLContainerAdapter.h (db4a897729)
- Remove -fopenmp in castxml invocation (45f13f04cf)
- Remove gold linker support (214328cae7)
- Do not enable whole program optimization with MSVC (ae44277a03)
- Use CMake 3.18.4 in macOS CI builds (414d4c0502)
- Set runtime output directory for Windows Python tests (ea617e3521)
- Only search for Python 3.6 and above (93986e0e6c)
Bug Fixes
- Fetch full depth in apply-clang-format action (01d2e08deb)
- Specify itk package in SWIG Python modules (98fc085a9d)
- Simplify itk.BlockMatchingImageFilter feature points PointSet mangling (2e2b3332cd)
- Import C module from Python submodule (a6a5140f4d)
- ITKModuleExternal CMAKE_LIBRARY_OUTPUT_DIRECTORY when wrapping (eb97b5aa4a)
- Wrap ExtractImageFilter for UL (972a89c228)
- Support casting unsigned long pixel types in Python (530e61eedf)
- Remove netnlib triangle classes (7f95961fa7)
- Remove License incompatible netlib files from vxl updates (d1066224e3)
- Empty image support in image_from_xarray (3da4926531)
- Add missing enumerate with multi-ndarray-output itk filters (c7595ff794)
- Do not wrap unsigned char for connected component output (f3e328657f)
- Add TIFFImageIO support for unsigned int and int pixel types (241953dd23)
- Python support module and init.py install location (5bcfac618b)
- Prevent HDF5 from overwritting ITK library names (700eb96f6b)
Style Changes
- ITK_WRAP_PYTHON_PROCCESS to ITK_WRAP_PYTHON_PROCESS (166be4d32b)
MetaIO Maintainers (2):
Miscellaneous Changes
Mihail Isakov (2):
Enhancements
- GDCMImageIO SINGLEBIT image type (6f8c1aeeda)
Documentation Updates
- Updated GDCMImageIO (26a5ec3ad0)
Mon ius (1):
Platform Fixes
- fix error on IBM POWER9 ppcle64 arch (9b7a28032e)
Moritz Schaar (1):
Bug Fixes
- Fix Python Wrapping with MSVC and CMake >= 3.18, Closes #2049 (4f6fc719bd)
Nick Tustison (6):
Enhancements
- Add adaptive denoising module. (d6067543f8)
- Add criteria report, update git tag, and enhance description. (f97acfe22a)
- Add test. (cff261f9f1)
- Review. (5d10e6ed9d)
- Add refactoring and more testing. (8553a05e61)
Documentation Updates
- Update description. (14e49c9b81)
Niels Dekker (33):
Enhancements
- Allow running various tests without arguments (5d02fac6bd)
- Test that MetaIO supports a string value of up to 32767 chars (7e9934a5e4)
- Add operator== and operator!= to itk (7f3337d27e)
- Declare FixedArray (c5aa259a0d)
- Add convenience function ReadImage (aeea88b192)
- Extend ITKWriteImageFunctionTest by reading the written image back (21cf6485e6)
Documentation Updates
- Link region iterators to ImageRegionRange, ImageRegionIndexRange (ddca18b894)
- Add Doxygen links from iterators to ShapedImageNeighborhoodRange (2b92d3973c)
Platform Fixes
- Fix arithmetic overflow MersenneTwisterRandomVariateGenerator (e632d97ffc)
- Work around GCC-4.8 error converting to OptimizerParametersHelper (ee78a176b8)
- Remove InvalidImageMomentsError from itkImageMomentsCalculator.hxx (7332fa8c40)
Bug Fixes
- Fix issue #1950, ImageMaskSpatialObject access outside image buffer (ceb157d634)
- Fix MatrixOffsetTransformBase SetFixedParameters if too few params (fcb85b3a1e)
- Fix MatrixOffsetTransformBase SetFixedParameters if too few params (33e9e6bdba)
- DICOMParser should use
&&instead of comma in for-loop condition (c90bfa4f47) - Fix Euler3DTransform (4d5b1a535f)
Style Changes
- Move ITK5 ranges, shapes, policies out of Experimental namespace (e50b279bcb)
- Allow conversion from nullptr to WeakPointer, not from zero (03ce742132)
- Add in-class default member initializer to SmartPointer m_Pointer (1ab9a173dd)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE (7d177ca0c7)
- Call ITK_DISALLOW_COPY_AND_MOVE, not ITK_DISALLOW_COPY_AND_ASSIGN (4c0982ddec)
- Remove C-style (const void *) casts (077b1232de)
- Remove space between class and member names in C++ source files (734d6f84d7)
- Remove "include guards" from cxx files (94218d38bf)
- Use C++11 override and
= defaultin itkWin32OutputWindow.h (bc66259dcb) - Replace
container[container.size() - 1]bycontainer.back()(5eb4697298) - Remove local possibleTransformIO from TransformIOFactoryTemplate (d262349111)
- TxtTransformIO Read() no longer copy input file to data string (99093d4f02)
- Declare OptimizerParameters (5e692d171b)
- Move OptimizerParameters implementation from .hxx to .h file (4812f18f6f)
- Replace
vnl_vector[vnl_vector.size() - 1]by vnl_vector.back() (bff1ce86ab) - Use the WriteImage convenience function in Core/Common/test (4e87206392)
- Use the WriteImage convenience function anywhere in Modules/Core (91418de61e)
Niklas Johansson (2):
Enhancements
- Prevent segfault by failing fast in itkGDCMImageIO (7f34bba177)
Style Changes
- Correct doc for ReadImageInformation (5b5a771d58)
Pablo Hernandez-Cerdan (6):
Enhancements
- Add data() and size() member functions to FixedArray (38939ff86d)
Platform Fixes
- Remove dynamic exception specifications in tests (840f22feb3)
- Avoid Dimension < 3 in FrustumSpatialFunction (4427477a5e)
- Fix warning -Wdeprecated-copy in itkQuadEdgeMeshBaseIterator (90b1128df6)
- Fix const-correctness of iterators in multiple classes (d8d726ecf0)
Bug Fixes
- Use ITK_WRAP_IMAGE_DIMS in ViewImage.wrap (680f10f8a4)
Pierre Wargnier (2):
Platform Fixes
- fix errors and warnings in OpenCV bridge (1331c92e30)
Bug Fixes
- Fix Mat to Image conversions for OpenCV 4.x; add support for int32 (abb177865f)
Sean McBride (2):
Platform Fixes
- Fixed link error with old versions of AppleClang (1bb185a073)
- Fixed compile error on old clang 7, prefixed ivar with this-> (469a8b3981)
Simon Rit (3):
Documentation Updates
- fix description of Concept (915a3264e2)
Platform Fixes
- fix itk (15281a3d44)
- export ITK_LIBRARY_BUILD_TYPE for external building of modules (54e902400c)
Stephen R. Aylward (19):
Enhancements
- Bump TubeTK to support CUFFTW (#1788) (68a5b65357)
- Bump TubeTK to version that removes ArrayFire (replaced by cufft) (15c287ef70)
- ITKFFT library is now required, even if cufft is used. (656878aaa2)
- Bump MetaIO to address style and const params (c3d645c8d9)
- Bump MetaIO to use an enhanced MetaTubePoint (#1954) (4bdc38ca9b)
- Bump TubeTK to version that works with updated Spatial Objects (#2002) (631aeaebf8)
- Bump TubeTK to offer updated examples and improved tube seg (75ca90fc98)
- TubeTK release candidate for ITK v5.1.2 (7daaa13217)
Platform Fixes
- Adds ComputeTangentAndNormals() function (1435bf57e8)
- Adding itkLegacyMacro wrapping to ComputeTangentAndNormals() (229fa4424d)
Bug Fixes
- CUFFTW paths were not being set and unnecessary FFTW files used (0f47aae052)
- CurvatureRegistrationFilter fix logic re (9ab4c1f45a)
- CUFFTW paths were not being set and unnecessary FFTW files used (449c571897)
- Frenet frame disrupted along tubes (25bb5cac00)
- Bump TubeTK (9d33b08766)
- Update TubeTK to include version that addressed missing VTK files (e5ab67d198)
- Bump TubeTK to isolate wrapping on vtk-dependent classes (36e5c27312)
- TubeSpatialObject normals not unit vectors (#1972) (bc0d6ad9ab)
- Update itkEventObjectTest to use new event macros (48768c45c0)
VXL Maintainers (5):
Miscellaneous Changes
- 548567e (548567e20b)
- 1695ab1 (1695ab1e45)
- 29caa5a (29caa5ae3f)
- df92e58 (df92e582d8)
- 7b13770 (7b13770a10)
Zhiyuan Liu (4):
Enhancements
- Add a convenient function to get/set the number of threads. (bc162de3dd)
Documentation Updates
- improve helpers of itk.Filters. (64ce3d983a)
- improve helpers of itk.Filters. (7818607b62)
Bug Fixes
- Register Dask serialization functions for NDArrayITKBase (27fe268d9d)
justbennet (1):
Platform Fixes
- Fixing #include for itkExpectationMaximizationMixtureModelEstimator.h (880a932fce)
ITK Examples Changes Since v5.1.0
Dženan Zukić (6):
Enhancements
- new example (f89baaab)
Documentation Updates
- update usage for ResampleAnImage (433c158a)
- do not cut off "import sys" line (9b968847)
- fix a misleading comment (9065c3fb)
- fix example title (dee443af)
Bug Fixes
- fix syntax error regarding shape attribute (bd006f71)
Hans Johnson (1):
Style Changes
- Format to adhere to ITK style. (305801d7)
Jon Haitz Legarreta Gorroño (11):
Enhancements
- Add Python code for kernel creation examples (be2ebf04)
- Add Python code for
GetImageSizeexample (f0247e04) - Add Python code for
DuplicateAnImageexample (f7c20d4c) - Add Python code for
GetTypeBasicInformationexample (a41a421c) - Add Python code for
SetPixelValueInOneImageexample (b072a913) - Point
build, testCI badge to builds (fe248304)
Documentation Updates
Bug Fixes
- Fix pixel printing in
IterateRegionWithAccessToIndexexamples (832433b0) - Fix failing tests reported by CI (8496a786)
Style Changes
- Fix typo in
Create3DFromSeriesOf2Dexample name (d2fd3bde)
Mathew Seng (10):
Enhancements
- Add python testing and I/O moved to Girder Python testing is now configured for this module. (dbe29b80)
- Remove Azure pipeline testing and update README. This must be done for all remote modules to adhere to the new GitHub Actions testing configuration. (72e97719)
- Add new GitHub actions for remote module. This requires importing the Github Actions configuration files from the ITKModuleTemplate repo to respective module. These actions will test the module for a successful build with all tests passing for C++ and Python distributions. In addition, the README for this module is updated with the Github Actions badge. (421ec390)
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (fb9b519a)
Bug Fixes
- Test expects failure, removing EXIT_FAILURE allows test to continue (fbe2eaaf)
- Change python enums to new v5 enum structure (de6e33be)
- Add exception for invalid keys that cannot be processed at runtime. (a2fc2fbe)
- Invalid vtk image being processed. Changed to use mushroom.vtk taken ITK test. (779409a4)
- ITK runtime directory in PATH for Windows not specified (1d25bf44)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (b2bb7f16)
Matt McCormick (11):
Enhancements
- Bump ITK External Project version to v5.1.0 (df2a71e2)
Documentation Updates
- Update Sphinx date, copyright assignment (d41321f7)
- Update links to Sphinx (7644858a)
- Remove invalid label map article link (fdd95a86)
Platform Fixes
- Update breathe for Sphinx compatibility (2216fcbe)
- Update pyparsing for Python 3 (8032f868)
- Update doxylink for recent Sphinx (1426ac93)
- Update breathelink for recent Sphinx (f8d6c7b0)
Bug Fixes
- Correct ReadAndPrintDICOMTags output (880cee9c)
- Disable AdaptiveHistogramEqualization Python tests (7c0f4999)
- Update VTK Git clone URL (eefe22c1)
justbennet (1):
Miscellaneous Changes
- f2b3917d (f2b3917d)
ITK Software Guide Changes Since v5.1.0
Jon Haitz Legarreta Gorroño (5):
Enhancements
- Add missing table borders in
How To Create A Modulechapter (7fd0894) - Add section about tests for Wrapping files (fbb8615)
- Miscellaneous fixes in introduction and installation (a5f9673)
- Point
buildCI badge to builds (f2d9cdb)
Documentation Updates
- Update copyright assignment to NumFOCUS (e37df16)
Matt McCormick (5):
Enhancements
- Bump ITK ExternalProject version to v5.1.0 (8d41ce7)
- Add GitHub Action to build and publish Guide PDFs (68e2f9f)
Documentation Updates
Bug Fixes
- Remove CircleCI configuration (5e18abd)
Remote Module Changes Since v5.1.0
AdaptiveDenoising:
Hans Johnson (2):
Platform Fixes
Jon Haitz Legarreta Gorroño (3):
Enhancements
Platform Fixes
- Use and move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section. (7f214f2)
Nick Tustison (3):
Enhancements
AnalyzeObjectLabelMap:
Mathew Seng (5):
Enhancements
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (f52174d)
Platform Fixes
- Update ITK Python Package to 5.1.0.post2 in setup.py (dcc1639)
Bug Fixes
- Allow module to find older versions of ITK Removing 5.1 allows the module to locate older versions of ITK (i.e. 5.0) that can be compatible with the module (c581299)
Style Changes
- Fixes clang errors caused by clang-format-linter.yml (99fba4c)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (7a0cd1a)
AnisotropicDiffusionLBR:
Hans Johnson (1):
Platform Fixes
- Update to new ITK_DISALLOW_COPY_AND_MOVE macro (b5724f9)
Mathew Seng (9):
Enhancements
- Update ITK package to version 5.1rc03 (5f4c4e1)
- Remove old ci testing to fit ITKModuleTemplate (1eff30f)
- Remove Azure pipeline testing and update README.rst (5854833)
- Update python package version from 5.1.0 to 5.1.0.post2 This required changing the ITK Python Package to 5.1.0.post2 in setup.py. Because we are updating the package, we must incremement the itk-anisotropicdiffusionlbr version from 1.1.1 to 1.1.2. (7a9ad68)
- Bump ITK version to 5.1.1 and ITK python version to 5.1.1.post1 This will bump the ITK version in the GitHub Actions build and setup.py. In addition, the package version has been updated from 1.1.2 to 1.1.3 in setup.py. (57a0041)
- Update supported Python versions for package builds The minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. (ba2790e)
- Update python package version for modules This will bump the package version in setup.py from 1.1.6 to 1.2.0 (beff186)
Bug Fixes
- Fix failing examples test I have included a Data subdirectory in AnisotropicDiffusionLBR/examples/Data and upload the raw png file used for the example's test. In addition, the image was not being properly read, so I required the ITKIOImageBase module be imported for proper reading. (649ceb2)
- ITK runtime directory in PATH for Windows not specified (c371130)
Matt McCormick (8):
Enhancements
- Add Clang-format GitHub Actions (cbb320c)
- Add Build, test, package GitHub Action (919fead)
- Update Python package version to 1.1.0 (5ccd97b)
- Update Python package version to 1.1.1 (3ae027a)
Documentation Updates
Bug Fixes
BSplineGradient:
Mathew Seng (11):
Enhancements
- Delete old ci testing for new GitHub Actions Removing existing ci-testing that has already been depracated. This includes AppVeyor, Travis and CircleCI testing. (96d99b5)
- Update ITK python package to 5.1.0.post2 in setup.py (355e64f)
- Configure new GitHub Actions ci testing Using the GitHub's Action testing, we can allow users to generate their own ci testing through GitHub. This can be done without the use of an admin. These changes are based off the ITKModuleTemplate's GitHub Actions. (256a654)
- Remove Azure Pipeline testing for new GitHub Actions (0eb86ec)
- Bump ITK version to 5.1.1 and ITK python version to 5.1.1.post1 This will bump the ITK version in the GitHub Actions build and setup.py. In addition, the package version has been updated from 0.2.0 to 0.2.1 in setup.py (5cc2176)
- Update supported Python versions for package builds The minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. (eff9bf7)
- Update package version from 0.2.1 to 0.2.2 (3298978)
Bug Fixes
- Fix compiler warning for ITKv5.1 and clang 11. When compiled against ITKv5.1 and clang 11, an overloaded virtual function warning is thrown. By being more explicit and declaring (d1284ef)
- ITK runtime directory in PATH for Windows not specified (b493bd8)
- Incorrect CI referenced in README.rst This references azurepipelines when it should GitHub Actions (1b12a23)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (d4bf474)
Matt McCormick (1):
Enhancements
- Bump Python package version to 0.2.1 (024bfed)
BioCell:
Mathew Seng (7):
Enhancements
- Update setup.py's ITK Python Package to v5.1.0.post2 (94e7a96)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. Also, the README was updated. (bafb684)
- Remove CircleCI for new GitHub Actions (a8daee3)
- Bump ITK version to 5.1.1 in GitHub Actions (345746e)
Bug Fixes
- Fix failing tests for examples Replaced ITKIONRRD with ITKIOPNG and ITKIOMeta, because the examples were trying to build the png and mha images as nrrd, thus throwing an error. (a913422)
- ITK runtime directory in PATH for Windows not specified (7869027)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (804d397)
BoneEnhancement:
Mathew Seng (7):
Enhancements
- Incorporate clang-format-linter.yml from ITKModuleTemplate This workflow will verify the proposed changes adhere to the clang style (d33bded)
- Bump ITK version to 5.1.1 and ITK Python package version to 5.1.1.post1 (3deab7c)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (0f83f36)
- Update python package version for modules This will bump the package version in setup.py from 0.3.1 to 0.4.0 (e0f0644)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (f662d80)
Style Changes
- Adjust to clang format This fixes clang errors thrown from running the newly integrated clang-format-linter.yml (e1b4449)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (c218246)
Matt McCormick (9):
Enhancements
- Add GitHub Actions configuration (bb013c5)
Documentation Updates
- Add missing Doxygen \ingroup BoneEnhancement (9ee81bc)
- Add Python package installation instructions (e0c078f)
- Add Python package description (0ca9446)
Platform Fixes
- Update GTest TYPED_TEST_CASE to TYPED_TEST_SUITE (686045e)
- Update EigenValueOrder enum using declaration (3978d94)
Bug Fixes
- Remove ald Azure Pipelines configuration (c7bf485)
- Double parallelism in EigenToMeasureImageFilter (568b16f)
- Retain previous EigenToMeasureImageFilter (be145aa)
BoneMorphometry:
Mathew Seng (1):
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (39b2718)
Matt McCormick (4):
Enhancements
Documentation Updates
- Replace Azure Pipelines with GitHub Action badge (67df662)
Bug Fixes
- Remove old CI configuration files (72c8bb3)
Cuberille:
Davis Marc Vigneault (1):
Bug Fixes
- Fix Incorrect Indexing in Case 231 (0c4f3f8)
Davis Vigneault (5):
Enhancements
Platform Fixes
- Address Wmissing-braces Warnings (60783ab)
Bug Fixes
Mathew Seng (6):
Enhancements
- Remove Azure pipeline testing and update README (978cdbd)
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 This will bump the versions in the GitHub Actions build-test-package.yml (d731745)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (38782ec)
- Update python package version for modules This will bump the package version in setup.py from 2.3.0 to 2.4.0 (35f5197)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (5f7a83f)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (bc07c58)
Matt McCormick (5):
Enhancements
- Bump itk version to 5.1.0 (8130b57)
- Add Build, test package GitHub Action (cf8b9ce)
- Add Build, test, package GitHub Action configuration (45b1ec4)
- Build against itk 5.1.0.post2 (e06622c)
Bug Fixes
- CI configuration updates (bb3ac00)
FixedPointInverseDisplacementField:
Mathew Seng (3):
Enhancements
- Update ITK Python Package version to v5.1.1 (9055b25)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (92fb91c)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (f11d994)
Matt McCormick (2):
Documentation Updates
GenericLabelInterpolator:
Davis Vigneault (3):
Enhancements
- Add GitHub Actions Configuration (9d803a2)
Platform Fixes
- Fix Wrapping Errors (11616d3)
Bug Fixes
- Remove Old CI Service Configurations (08d48c6)
Mathew Seng (5):
Enhancements
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 This will bump the versions in the GitHub Actions build-test-package.yml (4f59ea2)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (7592ace)
- Update python package version for modules This will bump the package version in setup.py from 1.0.0 to 1.1.0 (0567c80)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (f7cac06)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (9304d52)
Matt McCormick (1):
Enhancements
- Update CI build for ITK v5.1.0.post3 (62f5534)
HigherOrderAccurateGradient:
Mathew Seng (8):
Enhancements
- Update ITK Python Package version to v5.1.0.post2 in setup.py (996adbf)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (f3530a4)
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 (1bdce83)
- Update supported Python versions for package builds The minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. (169ae94)
- Update python package version for modules This will bump the package version in setup.py from 1.0.6 to 1.0.7 (61bb1c5)
Platform Fixes
- Add missing ';' at end of macro A ';' is required at the end of macros in a future version of ITK (d093c10)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (48502a1)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (fee20ca)
Matt McCormick (2):
Enhancements
- Remove CircleCI, AppVeyor, TravisCI configurations (5287682)
Documentation Updates
- Remove Azure Pipelines badge (129e280)
IOFDF:
Mathew Seng (3):
Enhancements
- Update ITK Python Package to 5.1.1 in setup.py (cf03ecd)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (2832bdd)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (1f5c55e)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges (d318cd6)
IOMeshSTL:
Davis Vigneault (2):
Enhancements
- Add Clang Format Linter to Github Actions (348276e)
Bug Fixes
- Fix 404 in License File URL (656cc3b)
Mathew Seng (5):
Enhancements
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 This will bump the ITK version to 5.1.1 and the ITK Python version to 5.1.1.post1 (8a7b04f)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py. (f42c7a0)
- Update python package version for modules This will bump the package version in setup.py from 2.1.0 to 2.2.0 (bdee146)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (7a912fa)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (97fb257)
Matt McCormick (3):
Enhancements
Bug Fixes
- Remove old TravisCI, CircleCI, Appveyor configurations (a024fa9)
IOOpenSlide:
Mathew Seng (2):
Bug Fixes
- Incorrect Enum reference After the addition of the strongly typed enumerations, the path for many of them changes. This defines the new enumeration IOFileModeEnum (fb65455)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (1c40759)
IOScanco:
Mathew Seng (9):
Enhancements
- Bump ITK Python version to v5.1.0.post2 (7f2077b)
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 (1aad4a4)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (79bb4eb)
- Include clang-format.yml from the ITKModuleTemplate (8ec410e)
- Update python package version for modules This will bump the package version in setup.py from 0.6.1 to 0.7.0 (f9d9ad5)
Platform Fixes
- Add missing ';' at end of macro A ';' is required at the end of macros in a future version of ITK. (3835e20)
Bug Fixes
- Remove azure-pipelines.yml for new GitHub Actions (0ac2c38)
- ITK runtime directory in PATH for Windows not specified (35b4501)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (be7410f)
Matt McCormick (7):
Enhancements
- Add Build, test, package, GitHub Actions (7a6794e)
- Expose CreationDate and ModificationDate in the API (96aed93)
- Update Python package version to 0.5.0 (835370c)
- Bump Python package version to 0.6.0 (5ca9656)
- Bump package version to 0.6.1 (c452b8c)
Documentation Updates
- Remove Azure badge, fix GitHub Actions badge (e438297)
Platform Fixes
- Update GitHub Actions for v5.1.2, macOS 10.15 image updates (7e8b089)
Michael Kuczynski (1):
Bug Fixes
IOTransformDCMTK:
Mathew Seng (1):
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (dc3d569)
IsotropicWavelets:
Mathew Seng (5):
Enhancements
- Bump ITK Python Package to 5.1.1 in setup.py (2e2b737)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. Also, the README was updated. (47650d6)
Platform Fixes
- Add missing ';' at end of macro A ';' is required at the end of macros in a future version of ITK. (26bac2f)
- Rename old macro definitions This will place an ITK_ infront of all the ITK testing macros used in this module. (086541b)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (06f3448)
LabelErodeDilate:
Mathew Seng (8):
Enhancements
- Update ITK Python Package to 5.1.1 in setup.py (398719c)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (3d4b8b0)
- Bump ITK version to 5.1.2 This will bump all versions of ITK in setup.py and the GitHub Actions to 5.1.2 (96c94fe)
Bug Fixes
- Change dim to Dim to support KWStyle test (9926299)
- Fix test errors resulting from incorrect multi-threading format. The filters were originlly setup to utilize the new Multi-threader format. However, these filters utilize a custom region splitter that requires the classic multi-threader. The changes required changing (1779487)
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor and Travis CI. (f396898)
Style Changes
- Adjust several scripts to adhere to clang format (ef01cad)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (eafe0c5)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges (0e1d728)
LesionSizingToolkit:
Mathew Seng (4):
Bug Fixes
- Incorrect classe references for EXERCISE_BASIC_OBJECT_METHODS. (bfc4cc3)
- Incorrect comparison of Float values. Originally, FloatAlmostEqual was comparing our percent error with .1% to check if the estimation was within that range. However, we actually want to compare the percent error and 0.0%. Using the absolute value of their difference, we can check if they are within the allowedVolumePercentageError. (ef6db4e)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (b88c50e)
- Rename old macro definitions This will place an ITK_ infront of all the ITK testing macros allowing them to be up-to date with the current defintions in ITK master." (c4f607b)
MGHIO:
Mathew Seng (7):
Enhancements
- Configure new Github Actions ci testing Using the GitHub's Action testing, we can allow users to generate their own ci testing through GitHub. This can be done without the use of an admin. These changes are based off the ITKModuleTemplate's GitHub Actions. (992be3f)
- Implement CTestConfig.cmake to publish ctest results to cdash (b05cbf2)
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 These versions are bumped in the GitHub Actions build-test-package.yml (277fa58)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (cffff89)
- Update python package version for modules This will bump the package version in setup.py from 1.0.0 to 1.1.0. In addition, this commit must be tagged and pushed to GitHub. (fbdf13b)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (de5a211)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (49956e9)
Matt McCormick (3):
Enhancements
- Add setup.py (580e2b4)
Documentation Updates
- Add GitHub Actions, PyPI badges (18c8709)
Bug Fixes
- Correct GitHub Actions Python CI configuration (3ef19fa)
MeshNoise:
Davis Marc Vigneault (3):
Enhancements
- Add GitHub Actions Configuration (b87dac3)
Bug Fixes
- Remove old CI service configurations (3907936)
Style Changes
- Apply Clang Format (0df7c84)
Davis Vigneault (1):
Platform Fixes
- Fix Wrapping Errors (a0d4018)
Jon Haitz Legarreta Gorroño (1):
Style Changes
- Add ITK prefix to testing macros (541aa10)
Mathew Seng (5):
Enhancements
- Bump ITK version to 5.1.1 and ITK Python Package version to 5.1.1.post1 (3311a84)
- Update supported Python versions for package builds This minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. In order to enable this, the ITK version has been bumped to 5.1.1 in setup.py (80d6b80)
- Update python package version for modules This will bump the package version in setup.py from 0.0.1 to 0.1.0 (bdc5dac)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (0eb6f99)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (1d2a3c6)
MinimalPathExtraction:
Mathew Seng (2):
Bug Fixes
- Remove old CI for new GitHub Actions GitHub Actions has already been added, thus travis, circleci, appveyor, and azurepipelines ci testing must be deprecated. Also, README.rst had it's azurepipelines badge removed. (ea89894)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (fad8f17)
Matt McCormick (8):
Enhancements
- Azure Pipelines build against ITK v5.1rc03 (f59d5a5)
- Bump Python package version to 1.1rc1 (204d276)
- Update to most recent ITKModuleTemplate Azure Pipelines config (4d1eeee)
- Add Python Packages GitHub Action (20d44a7)
- Bump builds and Python package to use ITK 5.1.0 (8286c7f)
- Add Build, test, package GitHub Actions (6f47210)
Bug Fixes
- Remove old Python packages GitHub Action configuration (72a89da)
- Build against itk 5.1.0.post2 (68683be)
Montage:
Dženan Zukić (25):
Enhancements
- rename EnableFailingTests option for better grouping (9b2557e)
- adding public release numbers for MNML datasets (fdeae44)
- adding blending explanation montage from paper (6efd6b8)
- add ostream operator for printing padding method enumeration (9af0805)
- updating reference montages using Fiji 1.52p (931bad2)
- adding more ground truth test cases (40177e0)
- less strict ground truth testing (23cf88a)
- use a different split into tiles to avoid a single pair's failure (b986471)
- tile configuration comparison tool can save results to a .tsv file (fbb69c8)
- write ground truth to a different file (e776118)
- run ground truth tests with just the default set of parameters (14defcf)
- reduce number of tiles in 3D ground truth test (b1e41dd)
- add a concept check to make sure we are not instantiated with bool (87499d7)
- updating CI configuration based on current ModuleTemplate (019c1bd)
- build examples as part of CI testing (8b62c9e)
Documentation Updates
- number of steps clarified (5a29130)
Platform Fixes
- change ordinary setter into enum setter (46c409f)
- apply recent refactoring to examples (b7c1626)
- use built-in ReadImage and WriteImage convenience functions (bb9055a)
Bug Fixes
- iteration over peak methods was not working properly (a488145)
- requesting to try all peak methods works around the issue (0b4fbca)
Style Changes
Miscellaneous Changes
- trying to force enum values to be sequential in Release mode (bad9687)
- using master branch until v5.2.0 is released (652d0fb)
Hans Johnson (2):
Style Changes
- Force semi-colon at end of macros (846f00f)
- 2nd attempt to force semi-colon at end of macros (b8d4942)
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Fix variable shadowing and unused variable warnings (70c206a)
Mathew Seng (7):
Enhancements
- Bump ITK version to 5.1.1 and ITK Python version to 5.1.1.post1 (5793b4b)
- Update supported Python versions for package builds The minimum version has been bumped from 3.5 to 3.6. The maximum has been bumped from 3.8 to 3.9. Lastly, itk-core, itk-filtering, and itk-io versions in setup.py have been bumped to 5.1.1. (bbb08da)
- Update python package version for modules This will bump the package version in setup.py from 0.6.0 to 0.7.0 (74e6f69)
Bug Fixes
- Remove already deprecated appveyor ci This module has appveyor testing disabled, but the script appveyor.yml has not been removed. (eca1207)
- ITK runtime directory in PATH for Windows not specified (ac9fce4)
Style Changes
- Fix clang format (8f05ef2)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (d8a8921)
Matt McCormick (31):
Enhancements
- Add GitHub Actions Build, Test, Package action (f699c76)
- Bump Azure Pipelines ITK version to v5.1.0 (d757297)
- Update CI for v5.1.0.post3 (843e2af)
- Factor output SamplePeakCorrelationOptimizer (e988f0c)
- Use correlation image for peak interpolation (ee382f6)
- PhaseFrequencyCorrelationOptimizer initial addition (cef7549)
- Move PeakInterpolationMethodEnum to PhaseCorrelationOptimizer (64b0287)
- Add PhaseCorrelationOptimizer (9013900)
- Iterate all supported interpolation methods in PairwiseTestHelper (105d439)
- Add PeakInterpolationMethod (bc4b141)
- PhaseCorrelationOptimizer class consolidation (5056c32)
- Bump Python package version to 0.6.0 (4db6143)
- Improve test output formatting (a0e07a7)
Performance Improvements
- Avoid AdjustedImage memory reallocation (fc75c5e)
Documentation Updates
Platform Fixes
Bug Fixes
- Remove Azure Pipelines configuration (764d352)
- Update Python package dependency versions (f7c42fe)
- Remove patched igenerator.py (e3e2b69)
- Add numpy Python package dependency (29c3e37)
- itkMontageTestHelper peak interpolation method selection (3dc1b39)
- Remove AppVeyor configuration (741130e)
- Update wrapping of itkPhaseCorrelationOptimizer (805e2ce)
Style Changes
- Remove trailing whitespace in test/CMakeLists.txt (374afbc)
- Using static constexpr for ImageDimension (7f9d94e)
- PeakInterpolationMethod -> PeakInterpolationMethodEnum (d89a4f3)
- PaddingMethod -> PaddingMethodEnum (bdd01bf)
- Run clang-format (d30b5e5)
- Run clang-format (21f7113)
MorphologicalContourInterpolation:
Dženan Zukić (1):
Enhancements
- enable remote module RLEImage in ITK's build (63aa88d)
Mathew Seng (1):
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (3e4f655)
Matt McCormick (2):
Enhancements
- Add GitHub Actions CI configuration (0e0d8f9)
Bug Fixes
- Remove old CI configurations (a83850a)
MultipleImageIterator:
Mathew Seng (6):
Enhancements
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. Also, the README was updated. (e771184)
- Configure CTestConfig.cmake to allow cdash submission of ctest results (20ff486)
- Include LICENSE incorporated from ITKModuleTemplate (8a2595b)
- Bump ITK version to 5.1.1 This bumps the ITK version to v5.1.1 from v5.1.0. (f37a531)
Documentation Updates
- Create README.rst for the module (d363669)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (e0c195e)
ParabolicMorphology:
Mathew Seng (3):
Bug Fixes
- Fix test errors resulting from incorrect multi-threading format. The filters were originlly setup to utilize the new Multi-threader format. However, these filters utilize a custom region splitter that requires the classic multi-threader. The changes required changing (78b3384)
- Fix failing KWStyle check. Changed parameter doOpen to DoOpen to fit template (71afc97)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (e9a9c49)
Matt McCormick (8):
Enhancements
- Remove old CI configurations (a4c9fd7)
- Add GitHub Actions Build, Test, Package configuration (83cfec9)
- Add wrapping for MorphologicalSharpeningImageFilter (984a679)
Documentation Updates
- Add Python package installation instructions (ab37877)
- Add an example Jupyter notebook on cthead1 image (f785e21)
Platform Fixes
- Remove deprecated dynamic exception specification (fd619fb)
- Replace ITK_EXPORT with ITK_TEMPLATE_EXPORT (d3c11aa)
Bug Fixes
- Update Python package builds for itk 5.1.0.post2 (0d38c60)
Richard Beare (1):
Platform Fixes
- Include version tags in python setup.py (5552148)
PerformanceBenchmarking:
Hans Johnson (1):
Enhancements
- Update jsonxx package to remove compiler warnings (95698a3)
Mathew Seng (6):
Enhancements
- Configure new GitHub Actions ci testing These changes required implementing GitHub Actions copied from the ITKModuleTemplate. In addition, this required updating the README.rst (f9e2feb)
- Remove azure-pipelines.yml and update README for new GitHub Actions (455b36e)
- Bump ITK version to 5.1.1 This bumps the ITK version in GitHub Actions from 5.1.0 to 5.1.1 (26c9c9f)
Bug Fixes
- C++11 deprecation warning fix by changing to new std (ac6baa2)
- ITK runtime directory in PATH for Windows not specified (39b4c0c)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (c56106e)
PhaseSymmetry:
Mathew Seng (3):
Enhancements
- Bump ITK Python Package to 5.1.1 in setup.py (a732a86)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (6e28a8a)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (e156479)
Matt McCormick (2):
Enhancements
- Bump Python package version to 1.0.4 (df6240d)
Documentation Updates
- Remove old CI badge (c324d9d)
PolarTransform:
Mathew Seng (5):
Enhancements
- Bump itk-core to 5.1.1 in setup.py (0f27262)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (afde9bb)
- Bump ITK version to 5.1.2 This will bump all versions of ITK in setup.py and the GitHub Actions to 5.1.2 (d66d676)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor, Azure, and Travis CI. (f2fa772)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (0f9fa99)
Matt McCormick (2):
Enhancements
- Bump Python package to 1.1.2 (061ff94)
Documentation Updates
- Remove old CI badges (db526b3)
PrincipalComponentsAnalysis:
Mathew Seng (4):
Enhancements
- Bump ITK Python Package version to 5.1.1 in setup.py (8f2c71c)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (8b42ce6)
Style Changes
- Adjust several scripts to adhere to clang format (550af55)
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (ae01070)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges, Python package installation (f19cbd4)
RLEImage:
Mathew Seng (2):
Bug Fixes
- Fix 'test not run' error thrown when built as ITK remote. When ITK builds ITKRLEImage as an interal remote module, and BUILD_SHARED_LIBS = OFF, a 'test not run' error is thrown. Changing the names of tests and adding them to the TestDriver allows them to run with BUILD_SHARED_LIB = OFF and not throw any sort of error. (c8941e6)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (66ef01f)
RTK:
Antoine Robert (5):
Enhancements
- Compute the backprojection of ones only once in OSEM (68e11211)
- Improve center of volume computation (2cca14c1)
Bug Fixes
- Fix attenuation correction in zengBackProjectionImageFilter (887ebab8)
- Take into account the direction of the projections (07c14734)
Miscellaneous Changes
- Rename InputSpaceDimension to InputImageDimension (c40cd024)
Aurélien Coussat (2):
Enhancements
Julien Finet (7):
Enhancements
- Configure out pixel value in FieldOfViewImageFilter (b8f28d39)
Documentation Updates
- fix typo (a41c6b2c)
Platform Fixes
- Support multiple find_package(Gengetopt) (fcd012aa)
- Fix CMake module include typo (f3c15f2e)
- Declare lpsolve55 as an IMPORTED library in ITKTargets.cmake (214b1375)
- Prevent RTK from overwriting CMAKE_MODULE_PATH (1ce1a4f5)
- Support if(... IN_LIST...) with CMake old projects (c8aca0e8)
Lucas Gandel (4):
Enhancements
- Update pre-commit hook to force run style checks (60223ad6)
- Include PyBuffer.i at a submodule level (5aef6eeb)
- Use ITK PyBuffer swig files (e81224f0)
Platform Fixes
- Fix Multiple KWStyle and ClangFormat downloads (13045f18)
MrTzschr (1):
Documentation Updates
- Fixed typo in rtkDaubechiesWaveletsConvolutionImageFilter (d0262808)
Sebastien Brousmiche (1):
Bug Fixes
- Fixed detector offset initialization (40822608)
Simon Rit (36):
Enhancements
- update Azure pipeline images (5b35c46e)
- upgrade ITK minimal version to v5.1 (28d2d7e8)
- add Azure package for linux and Python 3.8 (29e79c02)
- wrap rtk (78d7b39b)
- add Build-Test-Package github action (0524d9c2)
- upgrade CI for python packages to 5.1.2 (2ffafe0e)
Documentation Updates
- fix homepage badge for workflow Build, Test, Package (9641ad9b)
Platform Fixes
- add missing verbose flag for RTK_PROBE_EACH_FILTER (96212492)
- add missing include of itkProgressReporter.h (170ac8ac)
- split Windows python package per python version on Azure (86f25837)
- remove wrapping of Cuda double images, incompatible with Cuda code (0babff4d)
- keep only Azure for the CI, remove CircleCI and TravisCI (ef18f74b)
- fix warnings triggered by unused variables (f046c337)
- fix one more warning triggered by unused variable (96c49e75)
- only keep compute capabilities 3.0 for Cuda 9 and 10 (4fc1222e)
- add missing include (33a4b199)
- disable loading of external libraries (51973d42)
- Use CMake 3.18.3 (91dc70e0)
- Install specific XCode version for Python packages (f54bf5ad)
- missing definition of ITK_LIBRARY_BUILD_TYPE for external build (ddced642)
Bug Fixes
- correct itkTypeMacro parameters where needed (1c204a4d)
- process projections one by one in convolution instead of doing 3D FFT (a719d891)
- pre-commit and bash scripts must be executable (37f40637)
- projection filtering should also be allowed for 4D and 5D images (84d20145)
- fix iteration reporting for 4D conjugate gradient (5292bde7)
- fix backprojection computation of requested region in projections (840b18a3)
- fix projections convolution for 4D projections (fcb53079)
- inconsistencies between CPU and GPU in Parker weighting (b5c41fb7)
- fix rtk (a82c1343)
- add ITK runtime path to Windows CI for RTK tests (23dd65af)
- progress event attached to wrong ramp filter with cuda (6be65bc4)
Style Changes
- remove backward compatibility with ITK v5.0.1 (1e2bccbd)
- fix KWStyle issues (ba811801)
- Call ITK_DISALLOW_COPY_AND_MOVE, not ITK_DISALLOW_COPY_AND_ASSIGN (8ac7f0b2)
- keep only github-actions CI (f6c22c24)
- Macros should respect an end-of line ; (772bf18b)
SCIFIO:
Mathew Seng (5):
Enhancements
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. Also, the README was updated. (52a19d0)
- Bump ITK version from 5.1.0 to 5.1.1. (22d3cd6)
- Disable azure-pipelines.yml for new GitHub Actions This also updates the README.md (250dbde)
Bug Fixes
- ITK runtime directory in PATH for Windows not specified (b2194bf)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (2c35556)
SimpleITKFilters:
Bradley Lowekamp (12):
Enhancements
Documentation Updates
- tweak NPaste documentation (4415840)
Platform Fixes
- fix compilation error with SetDesiredCoordinateOrientation (e383bad)
Bug Fixes
- Safely return INVALID in GetAsString (c0cc6e4)
Miscellaneous Changes
- c8c4243 (c8c4243)
- 88f6dd2 (88f6dd2)
- 92d9bd4 (92d9bd4)
- cfce1fd (cfce1fd)
- 444ddb9 (444ddb9)
- 9a5cfa0 (9a5cfa0)
- 930289f (930289f)
Hans Johnson (2):
Enhancements
- Adding missing macro end of line semi-colon (49bb41d)
Style Changes
- Match clang-format style for ITK (7dadf89)
Mathew Seng (3):
Enhancements
- Update ITK Python Package to 5.1.0.post2 in setup.py (e3dbeea)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (6a17aa5)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (7f969cb)
Matt McCormick (1):
Bug Fixes
- Remove old Azure Pipelines configuration (a7a7f66)
SkullStrip:
Mathew Seng (6):
Enhancements
- Bump ITK Python Package to 5.1.1 in setup.py (033d3bf)
- Incorporate GitHub Actions from ITKModuleTemplate This requires the incorporation of 2 yml scripts that will test the module under various configurations for Windows, Linux and MacOS. These scripts were copied from the ITKModuleTemplate. (e222631)
- Bump ITK version to 5.1.2 This will bump all versions of ITK in setup.py and the GitHub Actions to 5.1.2 (d934bb9)
Platform Fixes
- Rename ITK macros to up-to-date name conventions This includes changing TRY_EXPECT_NO_EXCEPTION to ITK_TRY_EXPECT_NO_EXCEPTION. Also it changes EXERCISE_BASIC_OBJECT_METHODS to ITK_EXERCISE_BASIC_OBJECT_METHODS. (9f7c907)
Bug Fixes
- Remove deprecated CI As the GitHub Actions have been integrated, there is no need for the previous CI for this module. This specifically removes CircleCI, Appveyor and Travis CI. (632ded2)
Style Changes
- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. (f879274)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges (8dfed42)
Assets
8
ITK 5.1.2 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.1.2!
Python Packages
Install ITK Python packages with:
pip install --upgrade itk
or:
conda install -c conda-forge itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
ITK 5.1.2 is a patch release that makes improvements to issues found in the 5.1.1 release. For more details on ITK 5.1, see the ITK 5.1.0 Release Notes.
This release addresses various issues such as HDF5 install paths and MRC and TIFF pixel type support -- details can be found in the change log below. Cross-platform Python packages are available for Python 3.6, 3.7, 3.8, and 3.9. Packages for Python 3.5 are no longer provided following CPython's deprecation schedule.
What's Next
Join us in the creation of advanced, open source scientific image analysis tools. Take part in the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
The first release candidate for ITK 5.2, which provides many new features and updates for Project MONAI, is anticipated over the next two weeks.
Enjoy ITK!
Changes from 5.1.1 to 5.1.2
Bradley Lowekamp (4):
Platform Fixes
- Updating ITKSimpleITKFilters remote module (e3ba060fe5)
Bug Fixes
- Address divide by zero error in SignedMaurerDistance (4fb2831d62)
- Support MRC2014 mode 0 as signed 8-bit integer (f7d72576bf)
Style Changes
- Improve function types used in SignedMaurerDistanceMap (b706cf64c7)
Hans Johnson (1):
Bug Fixes
- itkhdf5 installed paths were incorrect with recent hdf5 versions (fd4a438042)
Lee Newberg (1):
Bug Fixes
- MinPriorityQueueElementWrapper constructor needs default constructor (b027780259)
Matt McCormick (3):
Enhancements
- Update ITK CMake version for 5.1.2 (39d9b1712f)
- Add int.tiff.md5 content link for 5.1.2 release (a0125aa894)
Bug Fixes
- Add TIFFImageIO support for unsigned int and int pixel types (241953dd23)
Niels Dekker (1):
Bug Fixes
- Fix MatrixOffsetTransformBase SetFixedParameters if too few params (33e9e6bdba)
Assets
8
ITK 5.1.1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.1.1!
Python Packages
Install ITK Python packages with:
pip install itk
or:
conda -c conda-forge install itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
ITK 5.1.1 is a patch release that makes improvements to issues found in the 5.1.0 release. For more details on ITK 5.1, see the ITK 5.1.0 Release Notes.
This release improves support for ITK's use in the Dask distributed library for Python-based distributed computation, adds support for the GCC 9 and 10 compilers, improves CUDA FFT support, and numerous other fixes described in the changelog below. Thank you to everyone who contributed to the release.
What's Next
Join us in the creation of advanced, open source scientific image analysis tools. Take part in the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Another patch release is planned before the next feature release.
Enjoy ITK!
Changes from 5.1.0 to 5.1.1
Antoine Robert (1):
Enhancements
- Use Numpy bridge with array of dimension 1 (caae21695f)
Bradley Lowekamp (14):
Enhancements
- Update GDCM to latest on the release-2.8 branch (90e6da1ff6)
Platform Fixes
- Add missing const qualifier (8c4d3da09d)
- Address missing brace initializer warning (14a8919dfd)
Bug Fixes
- Disable dynamic threading in noise filter. (af780e8a03)
- Add StatisticsImageFilter (43a8972077)
- Fix segfault with empty CompositeTransforms (0300b63ddf)
- Fix additional segmentation faults with empty Composite (7212dc719f)
- Address memory leak in CastSpatialOpbjectTest (a243e9d9af)
- Patch missing const qualifier to GDCM dircos_comp comparison (90ad651db4)
- Address bug with small size in output of SliceImageFilter (7aac4a6748)
- Update CI scripts from current ITK master (3213404416)
- update CircleCI configuration with selections from master (08dc0116fe)
- Don't use InsertElement which modifies MTime (63d148715e)
- Address buffer overflow with deprecated GDCM1 interface (5df152b4c3)
Bryn Lloyd (1):
Platform Fixes
- Fix warning in PointSetToPointSetMetricv4 (#1820) (567764e1ae)
Davis Vigneault (1):
Bug Fixes
- Fix Segfault in Delaunay Filter (e72fd012a4)
Dženan Zukić (9):
Enhancements
- use double-conversion's CMake targets (3ee6f1e5c9)
- back-porting #1165 to support Visual Studio 2019 (432dd1b9dc)
Documentation Updates
- restore LICENSE accidentally overwritten by a merge commit (ed2a25db2c)
Platform Fixes
- a fix for non-system double-conversion build (a47c974f64)
- update download location for pre-built ICU for Visual Studio (f360092423)
Style Changes
- make column limit more stringent in the examples (0b970d803d)
- apply clang-format (d9e73e9a8b)
- rename libPNG's license to match the original one (5012917fb4)
- remove duplicate item in a list (a8ba7686a5)
GDCM Upstream (1):
Miscellaneous Changes
Hans Johnson (1):
Bug Fixes
- Double scaling introduced in refactoring (355c6cbda3)
Jerome Schmid (1):
Platform Fixes
- VtkGlue module-Provide support for VTK new cmake targets (c2cfd2b6d1)
Jonathan Daniel (2):
Enhancements
- Added .vs to .gitignore (e4f20e2580)
Bug Fixes
- Accept TemplateTypeError with fallback_only (612a769660)
Marco Nolden (1):
Platform Fixes
- added vcl compiler detection for GCC 10.x (e53d1d94f0)
Matt McCormick (20):
Enhancements
- Bump CMakeLists.txt version to 4.13.3 (f7ac08b4c9)
- Add testing data content links for ITK 5.1.1 (866ee013a1)
- Update ITK CMake version for 5.1.1 (3ecf6c87d1)
Platform Fixes
- Duplicate ImageToImageFilter wrapping of ULL (e747b0a946)
- Avoid duplicate itk.PointSetD3 wrapping (bea2a7906e)
- Do not reference FE_DIVBYZERO FE_INVALID with Emscripten (b05b007a63)
- Add VXL support for GCC 9 (9825d546c4)
- Add lxml to macOS CI environment (1919eaa95b)
Bug Fixes
- Specify itk package in SWIG Python modules (98fc085a9d)
- Simplify itk.BlockMatchingImageFilter feature points PointSet mangling (2e2b3332cd)
- Import C module from Python submodule (a6a5140f4d)
- ITKModuleExternal CMAKE_LIBRARY_OUTPUT_DIRECTORY when wrapping (eb97b5aa4a)
- Wrap ExtractImageFilter for UL (972a89c228)
- Support casting unsigned long pixel types in Python (530e61eedf)
- Remove netnlib triangle classes (7f95961fa7)
- Remove License incompatible netlib files from vxl updates (d1066224e3)
- Empty image support in image_from_xarray (3da4926531)
- Add missing enumerate with multi-ndarray-output itk filters (c7595ff794)
- Do not wrap unsigned char for connected component output (f3e328657f)
Style Changes
- ITK_WRAP_PYTHON_PROCCESS to ITK_WRAP_PYTHON_PROCESS (166be4d32b)
Niels Dekker (1):
Bug Fixes
- Fix issue #1950, ImageMaskSpatialObject access outside image buffer (ceb157d634)
Stephen R. Aylward (1):
Bug Fixes
- CUFFTW paths were not being set and unnecessary FFTW files used (449c571897)
Zhiyuan Liu (2):
Documentation Updates
- improve helpers of itk.Filters. (7818607b62)
Bug Fixes
- Register Dask serialization functions for NDArrayITKBase (27fe268d9d)
Assets
8
On behalf of the Insight Toolkit (ITK) Community, we are happy to announce the release of ITK 4.13.3! ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
Release files can be downloaded from
This purpose of this release is to provide updated compiler support as projects continue the transition to ITK 5. Only updated source code and testing data tarballs are provided in this release.
This release includes fixes for GCC 9, 10, Visual Studio 2019 and fixes in GDCM for improved DICOM support. For more details, please see the log below.
This is the last anticipated release in the ITK 4 series. Projects are encourage to migrate to ITK 5 following the migration guide.
Enjoy ITK!
ITK changes from v4.13.2 to v4.13.3:
Bradley Lowekamp (7):
BUG: Patch missing const qualifier to GDCM dircos_comp comparison
BUG: Address bug with small size in output of SliceImageFilter
BUG: Update CI scripts from current ITK master
ENH: Update GDCM to latest on the release-2.8 branch
BUG: update CircleCI configuration with selections from master
BUG: Don't use InsertElement which modifies MTime
BUG: Address buffer overflow with deprecated GDCM1 interface
Dženan Zukić (4):
ENH: use double-conversion's CMake targets
COMP: a fix for non-system double-conversion build
ENH: back-porting #1165 to support Visual Studio 2019
COMP: update download location for pre-built ICU for Visual Studio
GDCM Upstream (1):
GDCM 2019-11-04 (7e3be76f)
Jerome Schmid (1):
COMP: VtkGlue module-Provide support for VTK new cmake targets
Marco Nolden (1):
COMP: added vcl compiler detection for GCC 10.x
Matthew McCormick (3):
COMP: Prevent duplicate wrapping ouput file specification
COMP: Add VXL support for GCC 9
ENH: Bump CMakeLists.txt version to 4.13.3
Assets
6
We are happy to announce the Insight Toolkit (ITK) 5.1.0 release!
ITK 5.1.0 is a feature release that improves and extends the major ITK 5.0 release. ITK 5.1.0 includes a NumPy and Xarray filter interface, clang-format enforced coding style, enhanced modern C++ range support, strongly-typed enum's, and much more.
A number of issues were addressed based on feedback from Release Candidate 3. Filters avoid extra copies when operating on NumPy arrays, and itk.Image is now a NumPy array-like. Remote module CI testing infrastructure has been migrated to GitHub Actions for C++ tests, Python package builds, and automated Python package deployment.
Downloads
Python Packages
Install ITK Python packages with:
pip install --upgrade itk
or:
conda install -c conda-forge itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
Parabolic morphological filtering with the ITKParabolicMorphology remote module. To install the new Python package: pip install itk-parabolicmorphology. Jupyter notebooks are provided as examples. For more information, see the Insight Journal article, Beare R. Morphology with parabolic structuring elements. The Insight Journal. January-June. 2008. http://www.insight-journal.org/browse/publication/228.
GitHub Actions for ITK Remote Module Testing, Packaging, PyPI Deployment
A GitHub Action configuration is available for ITK Remote Module continuous integration (CI) testing and Python packaging on Linux, macOS, and Windows. Continuous deployment (CD) is configured to upload packages to the Python Package Index (PyPI) when the repository is tagged. More information can be found in the ITK Python Package ReadTheDocs documentation.
Pass NumPy Array's or Xarray DataArray's to ITK Image Filters
The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy ndarray's, i.e. numpy.ndarray. If a ndarray is passed as an input, a ndarray is returned as an output.
For example,
smoothed = itk.median_image_filter(array, radius=2)
Previously, explicit conversion to / from an itk.Image was required with itk.array_from_image and itk.image_from_array.
We can now also convert an itk.Image to a numpy.ndarray with the standard np.asarray call.
import numpy as np
import itk
image = itk.imread('/path/to/image.tif')
array = np.asarray(image)
An itk.Image is now more NumPy array-like: shape, ndim, and dtype attributes are available; these correspond to the values when converted to a NumPy ndarray. Basic NumPy functions can be called directly on an itk.Image, i.e.,
min = np.min(image)
max = np.max(image)
mean = np.mean(image)
Similar, experimental support (subject to change) is also available for Xarray DataArray's. If an xarray.DataArray is passed as an input, an xarray.DataArray is returned as an output. Moreover, the operation preserves spatial and dimensional metadata. For example,
import xarray as xr
import itk
image = itk.imread('/path/to/image.tif')
da = itk.xarray_from_image(image)
smoothed = itk.median_image_filter(da, radius=3)
print(smoothed)
results in:
<xarray.DataArray (y: 288, x: 894)>
array([[255. , 255. , 255. , ..., 255. , 255. , 255. ],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
...,
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995]],
dtype=float32)
Coordinates:
* x (x) float64 0.0 1.0 2.0 3.0 4.0 ... 889.0 890.0 891.0 892.0 893.0
* y (y) float64 0.0 1.0 2.0 3.0 4.0 ... 283.0 284.0 285.0 286.0 287.0
Attributes:
direction: [[1. 0.]\n [0. 1.]]
A round trip is possible with itk.image_from_xarray.
Python 3 Only
ITK 5.1 will be the first Python 3-only release. Consistent with most scientific Python packages and CPython's 2020 drop in support, Python 2 support and binaries are no longer available.
Python Package 64-bit Float Support
In addition to the many other pixel types supported, the itk binary Python packages now include support for the double pixel type, i.e. 64-bit IEEE floating-point pixels. This improves compatibility with scikit-image, which uses this pixel type as a default.
clang-format Enforced C++ Coding Style
ITK has adopted a .clang-format coding style configuration file so a consistent coding style can automatically be applied to C++ code with the clang-format binary. A consistent coding style is critical for readability and collaborative development.
clang-format has been applied to the entire codebase. The Whitesmiths style of brace indentation, previously part of the ITK Coding Style Guidelines, is not supported by clang-format, so it has been replaced by a brace style consistent with VTK's current style.
A Git commit hook will automatically apply clang-format to changed C++ code.
Enhanced Modern C++ Range Support
In addition to the ImageBufferRange, ShapedImageNeighborhoodRange, and IndexRange classes introduced in ITK 5.0, ITK 5.1 adds an ImageRegionRange. These range classes conform to the Standard C++ Iterator requirements so they can be used in range-based for loop's and passed to Standard C++ algorithms. Range-based for loops provide an elegant syntax for iteration. Moreover, they are often more performant than other iteration classes available.
For example, to add 42 to every pixel:
ImageBufferRange<ImageType> range{ *image };
for (auto&& pixel : range)
{
pixel = pixel + 42;
}
In ITK 5.1, adoption of the range classes was extended across the toolkit, which demonstrates their use and improves toolkit performance.
Point Set Registration Parallelism
ITK provides a powerful registration framework for point-set registration, offering information-theoretic similarity metrics, labeled point-set metrics, and spatial transformation models that range from affine to b-spline to dense displacement fields. ITK 5.1 features enhanced parallelism in point-set metric computation, leveraging the native thread-pool and Threading Building Blocks (TBB) enhancements in ITK 5.
SpatialObject's and Strongly-Typed enum's
Improvements and refinements were made to the ITK 5 itk::SpatialObject refactoring, and modern C++ interface. In particular, ITK 5.1 transitions enumerations to strongly-typed enumerations, which is flagged by modern compilers due to improved scoping and implicit conversions to int. Enum names now follow a consistent <Description>Enum naming conversion, which results in a Python interface:
<Description>Enum_<EnumValue1>
<Description>Enum_<EnumValue2>
[...]
A guide for updating to the new enum's can be found in the Strongly Typed Enumerations section of the ITK 5 Migration Guide.
DICOM Support
ITK's broadly adopted medical image support is hardened thanks to 20 years of testing and support from major open source DICOM library maintainers. In this release, many members of the community collaborated to further enhance ITK's DICOM support for corner cases related to modality, pixel types, and vendor variations.
Remote Module Updates
New remote module: TubeTK: An open-source toolkit, led by Kitware, Inc., for the segmentation, registration, and analysis of tubes and surfaces in images.
A new remote module grading system was added to help convey the quality compliance level for the 45 remote modules.
Many remote modules were updated: AnalyzeObjectMapIO, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, PhaseSymmetry, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, and TwoProjectionRegistration.
Zenodo Citation
ITK has a Zenodo Citation:
This citation can be used to cite a specific version of the software. If you have contributed 10 or more patches to ITK, please add your ORCID iD to our .zenodo.json file for authorship association.
NumFOCUS Copyright Transfer
ITK's copyright and the copyright of software held by the Insight Software Consortium have been transferred to NumFOCUS. CMake's copyright has been transferred to Kitware.
And More
Many more improvements have been made. For details, see the changelogs for the release candidates and changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of 73 authors since v5.0.0, we would like to specially recognize the new contributors:
Mathew J. Seng, Zahil Shanis, yjcchen0913, PA Rodesch, Aurélien Coussat, yinkaola, Bryce Besler, Pierre Chatelier, Rinat Mukhometzianov, Ramraj Chandradevan, Hina Shah, Gordian Kabelitz, Genevieve Buckley, Aaron Bray, nslay, Antoine Robert, James Butler, Matthew Rocklin, Gina Helfrich, and Neslisah Torosdagli, Brad T. Moore, Niklas Johansson, Flavien Bridault, Pradeep Garigipati, haaput, tabish, and Antoine Robert, Ben Wilson, Adam Rankin, PA Rodesch, Tabish Syed, vlibertiaux, Michael Jackson, Conrad Poelman, and muschellij2.
Enjoy ITK!
ITK Changes Since v5.1rc03
Bradley Lowekamp (3):
Bug Fixes
- Check if calculator is proper type (3e7307744e)
- Use one calculator in ItermodesThresholder (6dc4948017)
- Use GDCM as private dependency in ITKIOGDCM (ca1913cee6)
Conrad Poelman (1):
Platform Fixes
- Remove deprecated/removed std (7b2dfd28d4)
Dženan Zukić (1):
Enhancements
- add the .exe executable extension to clang-format on Windows (343cbf9236)
GDCM Upstream (1):
Miscellaneous Changes
Hans J. Johnson (16):
Enhancements
- Remove use of deprecated, redundant interface (51792db03b)
- Prefer multiplication to division (50b91ab2cc)
- Variable names updated to better indicate their pupopse (5012b7e41f)
- Provide new baseline for ImageRegisration4Test (623bef5c10)
Performance Improvements
- Only compute log(fixedImageMarginalPDFValue once outside loop (e7ef06e39a)
- Avoid processing entire rows based on mathematical certainties (82730afa5c)
Documentation Updates
- Improve diagnostic message for exception (bebe1d6f4a)
- Fix missing \ingroup ITKIODCMTK (d7f8c463dc)
- Fix typo in comment User -> Uses (d87449620f)
Platform Fixes
- Suppress compiler warning about value trucation (9e137468bc)
- Unused variable warning (c40a494c79)
Bug Fixes
- TBB build requires consistent exception options (c4caa4cdbe)
- Pointer to temporary variable needs resetting to null. (b29dc9182e)
Style Changes
- Reorder commands for locallity of reference (8626163a48)
- Make alias variables to assist with clear documentation (56922b8d80)
- totalMassOfPDF == this->m_JointPDFSum by definition (982cfaec51)
Jean-Christophe Fillion-Robin (1):
Platform Fixes
- Fix -Wstrict-overflow warning in itkImageRegionConstIteratorWithIndex (93be179376)
Jon Haitz Legarreta Gorroño (5):
Enhancements
- Improve Thresholding module filters' coverage. (e4507807e5)
- Change ivar name in `itk (e864411be3)
- Avoid duplicated code in `itk (4217cc08a3)
- Make the histogram generator set up method private (8f8b7ca7a4)
Bug Fixes
- Fix threshold variable type/value in histogram threshold calc classes (5c114fec35)
Matt McCormick (25):
Enhancements
- Wrap unsigned long long for image reading writing (4febe70198)
- Improve is_vector identification in image_from_xarray (69b90001ed)
- Update CI testing virtual machine images (8463020847)
- Set Visual Studio toolset version in Python CI builds (8cd2bd66c7)
- ndim, shape, and dtype attributes for itk.Image (a1763524ff)
- Update testing data content links for 5.1.0 (d3286c9cc0)
Performance Improvements
- PyBuffer importImageFilterWillOwnTheBuffer is constexpr (a306f50eff)
Documentation Updates
- Update ITKBibliography.bib link (e401d14d76)
- Release process updates for v5.1rc03 (e4e08332db)
- Document how to handle operator<< link errors from enum libraries (bced49ef65)
- Update .zenodo (1865c357d9)
Platform Fixes
- Update CastXML binary for Visual Studio 2019 (ce5cf91651)
- Remove unused calls in itkHashTableTest (fc88c718ed)
- Silence discarding return value in GE5ImageIO (da78c29634)
- UnboundLocalError in _GetImageFromArray (97f281198c)
- Condition HDF5 HDopen on _MSC_VER definition (47a85f15a1)
Bug Fixes
- Correct image_view_from_array alias (26560ebc08)
- Reset m_Dimension in VideoFileWriter (136b8e462a)
- Return type for PyBuffer _GetImageViewFromArray with VectorImage (cd62423ed5)
- Keep a reference to the NumPy array passed to itk.image_view_from_array (60afb52f5b)
- Use linspace for coords in xarray_from_image (67ddcde911)
- Provide initial input_type value in itkTemplate (1cf6dd01b5)
- Keep itk.Image reference in NumPy array views (87bc23f723)
- Filters avoid extra copies when operating on NumPy arrays (8a8dfe5907)
- itk.CType to numpy.dtype types for Windows (7cd5889b1f)
Simon Rit (2):
Enhancements
- update remote module RTK (319799698c)
Bug Fixes
- remove warning when writing 1D, 4D, 5D and 6D images read from disk (8932e7ccb7)
Stephen R. Aylward (2):
Enhancements
- Upgrade version of TubeTK (3de18fcf2e)
- Added jacobian computation to ComposeScaleSkewVersorTransform (#1755) (2f38debfe3)
VXL Maintainers (1):
Miscellaneous Changes
muschellij2 (2):
Platform Fixes
- Add CMAKE_SH definition for Eigen ExternalProject (b21c5f6001)
- Fix HDF5 HDopen definition for MinGW (d997cb288f)
ITK Examples Changes Since v5.1rc03
Dženan Zukić (1):
Documentation Updates
- update usage for ResampleAnImage (433c158a)
Mathew Seng (6):
Enhancements
- Add python testing and I/O moved to Girder Python testing is now configured for this module. (dbe29b80)
Bug Fixes
- Test expects failure, removing EXIT_FAILURE allows test to continue (fbe2eaaf)
- Change python enums to new v5 enum structure (de6e33be)
- Add exception for invalid keys that cannot be processed at runtime. (a2fc2fbe)
- Invalid vtk image being processed. Changed to use mushroom.vtk taken ITK test. (779409a4)
Style Changes
- Prefer making deleted functions public Deleting a function affects fundamental aspects of the client interface of a class, and hiding them in private as if they were implementation details is unhelpful. (881346ff)
Matt McCormick (10):
Enhancements
- Bump ITK External Project version to v5.1.0 (df2a71e2)
Documentation Updates
- Update Sphinx date, copyright assignment (d41321f7)
- Update links to Sphinx (7644858a)
- Remove invalid label map article link (fdd95a86)
Platform Fixes
- Update breathe for Sphinx compatibility (2216fcbe)
- Update pyparsing for Python 3 (8032f868)
- Update doxylink for recent Sphinx (1426ac93)
- Update breathelink for recent Sphinx (f8d6c7b0)
Bug Fixes
- Correct ReadAndPrintDICOMTags output (880cee9c)
- Disable AdaptiveHistogramEqualization Python tests (7c0f4999)
ITK Software Guide Changes Since v5.1rc03
Jon Haitz Legarreta Gorroño (3):
Enhancements
- Add missing table borders in
How To Create A Modulechapter (7fd0894) - Add section about tests for Wrapping files (fbb8615)
- Miscellaneous fixes in introduction and installation (a5f9673)
Matt McCormick (5):
Enhancements
- Bump ITK ExternalProject version to v5.1.0 (8d41ce7)
- Add GitHub Action to build and publish Guide PDFs (68e2f9f)
Documentation Updates
Bug Fixes
- Remove CircleCI configuration (5e18abd)
Remote Module Changes Since v5.1rc03
RTK:
Antoine Robert (8):
Enhancements
- wrap image file reader and writer for dimension 1 (0832018a)
- wrap NumpyBridge for dimension 1 (72ed4dfb)
- Add quadratic penalization to OSEM algorithm (b806c7e6)
Platform Fixes
- Fix wrapping when building ITK with dimension 1 (3a02b74f)
Bug Fixes
- Use real image type as input of Hilbert filter (0d135b4d)
- Change member type from float to double in Zeng projectors (adb8061f)
Style Changes
Aurélien Coussat (7):
Enhancements
- ProgressReporter for FDK reconstruction (4b2b1fd8)
- filters check whether their geometry is set (40c0565d)
- default projectors for all iterative filters (2c8ae75f)
- set division threshold for SART (a0e604c7)
Performance Improvements
- reduced size of application tests (40f49ecc)
Bug Fixes
- solve memory leak in rtkcheckimagequality (2a3eb595)
Style Changes
- fixed format in rtkIterationCommands.h (324f0609)
Lucas Gandel (5):
Enhancements
- Add rtkSimulatedGeometry python application (1edbc560)
- Add ITK clang-format linter check (1a888880)
- Apply clang-format to PR with tag action (974eb598)
Platform Fixes
- Set latest available itk version in setup.py (a6437840)
Style Changes
- Exclude gengetopt and lpsolve folders from clang formatting (590cf8f5)
Simon Rit (14):
Enhancements
Documentation Updates
- change CMake variable name for RTK git tag (eeac6312)
Platform Fixes
- remove MacOS and Windows self-hosted Cuda python packages (df54c6f7)
- fix wrong header guard for rtkProgressCommands.h (e7e4c8d1)
- fix missing ITKGDCM dependency (957d049e)
- remove warnings due to unhandled enum value (69b08d8e)
Bug Fixes
- minimize disk space in Linux Azure pipelines to avoid saturation (fed8944a)
- wrong target libraries in FirstReconstruction examples (cf776249)
- fix wrappings for 1D and double (b36a0442)
Style Changes
- remove unused kernel parameter in Cuda forward projection (dcb015ee)
- fix ITK clang-format to a few RTK source files (bbcc5802)
- fix ITK clang-format (84a0611c)
Miscellaneous Changes
- remove unused examples/CMakeLists.txt (a90d7738)
TubeTK:
Stephen R. Aylward (5):
Enhancements
- Remove SVM and RandomForest methods and add ObjectDocuments Tests (4190dcba)
Bug Fixes
- Make find_package(ITK) dependent (NOT ITK_SOURCE) (#4) (892a43bc)
- Make find_package(ITK) dependent (NOT ITK_SOURCE) (#5) (30a909d2)
Miscellaneous Changes
- 077e4a93 (077e4a93)
Assets
18
We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 3 is available for testing!
ITK 5.1 is a feature release that improves and extends the major ITK 5.0 release. ITK 5.1 includes a NumPy and Xarray filter interface, clang-format enforced coding style, enhanced modern C++ range support, strongly-typed enum's, and much more.
Release Candidate 3 adds a remote module rating quality grading system, a new remote module, TubeTK, and improvements based on experience with Release Candidate 2.
Downloads
Python Packages
Install ITK pre-release binary Python packages with:
pip install --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
Brain vessels segmented with the new TubeTK remote module. To install experimental Python packages: pip install itk-tubetk. Jupyter notebooks are provided as examples.
Pass NumPy Array's or Xarray DataArray's to ITK Image Filters
The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy ndarray's, i.e. numpy.ndarray. If a ndarray is passed as an input, a ndarray is returned as an output.
For example,
smoothed = itk.median_image_filter(array, radius=2)
Previously, explicit conversion to / from an itk.Image was required with itk.array_from_image and itk.image_from_array.
We can now also convert an itk.Image to a numpy.ndarray with the standard np.asarray call.
import numpy as np
import itk
image = itk.imread('/path/to/image.tif')
array = np.asarray(image)
Similar, experimental support (subject to change) is also available for Xarray DataArray's. If an xarray.DataArray is passed as an input, an xarray.DataArray is returned as an output. Moreover, the operation preserves spatial and dimensional metadata. For example,
import xarray as xr
import itk
image = itk.imread('/path/to/image.tif')
da = itk.xarray_from_image(image)
smoothed = itk.median_image_filter(da, radius=3)
print(smoothed)
results in:
<xarray.DataArray (y: 288, x: 894)>
array([[255. , 255. , 255. , ..., 255. , 255. , 255. ],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
...,
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995]],
dtype=float32)
Coordinates:
* x (x) float64 0.0 1.0 2.0 3.0 4.0 ... 889.0 890.0 891.0 892.0 893.0
* y (y) float64 0.0 1.0 2.0 3.0 4.0 ... 283.0 284.0 285.0 286.0 287.0
Attributes:
direction: [[1. 0.]\n [0. 1.]]
A round trip is possible with itk.image_from_xarray.
Python 3 Only
ITK 5.1 will be the first Python 3-only release. Consistent with most scientific Python packages and CPython's 2020 drop in support, Python 2 support and binaries are no longer be available.
Python Package 64-bit Float Support
In addition to the many other pixel types supported, the itk binary Python packages now include support for the double pixel type, i.e. 64-bit IEEE floating-point pixels. This improves compatibility with scikit-image, which uses this pixel type as a default.
clang-format Enforced C++ Coding Style
ITK has adopted a .clang-format coding style configuration file so a consistent coding style can automatically be applied to C++ code with the clang-format binary. A consistent coding style is critical for readability and collaborative development.
clang-format has been applied to the entire codebase. The Whitesmiths style of brace indentation, previously part of the ITK Coding Style Guidelines, is not supported by clang-format, so it has been replaced by a brace style consistent with VTK's current style.
A Git commit hook will automatically apply clang-format to changed C++ code.
Enhanced Modern C++ Range Support
In addition to the ImageBufferRange, ShapedImageNeighborhoodRange, and IndexRange classes introduced in ITK 5.0, ITK 5.1 adds an ImageRegionRange. These range classes conform to the Standard C++ Iterator requirements so they can be used in range-based for loop's and passed to Standard C++ algorithms. Range-based for loops provide an elegant syntax for iteration. Moreover, they are often more performant than other iteration classes available.
For example, to add 42 to every pixel:
ImageBufferRange<ImageType> range{ *image };
for (auto&& pixel : range)
{
pixel = pixel + 42;
}
In ITK 5.1, adoption of the range classes was extended across the toolkit, which demonstrates their use and improves toolkit performance.
Point Set Registration Parallelism
ITK provides a powerful registration framework for point-set registration, offering information-theoretic similarity metrics, labeled point-set metrics, and spatial transformation models that range from affine to b-spline to dense displacement fields. ITK 5.1 features enhanced parallelism in point-set metric computation, leveraging the native thread-pool and Threading Building Blocks (TBB) enhancements in ITK 5.
SpatialObject's and Strongly-Typed enum's
Improvements and refinements were made to the ITK 5 itk::SpatialObject refactoring, and modern C++ interface. In particular, ITK 5.1 transitions enumerations to strongly-typed enumerations, which is flagged by modern compilers due to improved scoping and implicit conversions to int. Enum names now follow a consistent <Description>Enum naming conversion, which results in a Python interface:
<Description>Enum_<EnumValue1>
<Description>Enum_<EnumValue2>
[...]
A guide for updating to the new enum's can be found in the Strongly Typed Enumerations section of the ITK 5 Migration Guide.
DICOM Support
ITK's broadly adopted medical image support is hardened thanks to 20 years of testing and support from major open source DICOM library maintainers. In this release, many members of the community collaborated to further enhance ITK's DICOM support for corner cases related to modality, pixel types, and vendor variations.
Remote Module Updates
New remote module: TubeTK: An open-source toolkit, led by Kitware, Inc., for the segmentation, registration, and analysis of tubes and surfaces in images.
A new remote module grading system was added to help convey the quality compliance level for the 45 remote modules.
Many remote modules were updated: AnalyzeObjectMapIO, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, PhaseSymmetry, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, and TwoProjectionRegistration. Their updates are included in the detailed changelog below.
Zenodo Citation
ITK has a Zenodo Citation:
This citation can be used to cite a specific version of the software. If you have contributed 10 or more patches to ITK, please add your ORCID iD to our .zenodo.json file for authorship association.
NumFOCUS Copyright Transfer
ITK's copyright and the copyright of software held by the Insight Software Consortium have been transferred to NumFOCUS. CMake's copyright has been transferred to Kitware.
And More
Many more improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 26 authors who contributed since v5.1rc02 and 71 authors since v5.0.0, we would like to specially recognize the new contributors:
Mathew J. Seng, Zahil Shanis, yjcchen0913, PA Rodesch, Aurélien Coussat, yinkaola, Bryce Besler, Pierre Chatelier, Rinat Mukhometzianov, Ramraj Chandradevan, Hina Shah, Gordian Kabelitz, Genevieve Buckley, Aaron Bray, nslay, Antoine Robert, James Butler, Matthew Rocklin, Gina Helfrich, and Neslisah Torosdagli, Brad T. Moore, Niklas Johansson, Flavien Bridault, Pradeep Garigipati, haaput, tabish, and Antoine Robert.
And the new contributors since v5.1rc02: Ben Wilson, Adam Rankin, PA Rodesch, Tabish Syed, vlibertiaux, and Michael Jackson.
What's Next
As we work towards the ITK 5.1.0 release, the library will be improved based based on experiences with this final release candidate. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
ITK Changes Since v5.1rc02
Adam Rankin (1):
Platform Fixes
- Fixing compilation of ITK/OpenCV video bridge (26e9227e9e)
Bradley Lowekamp (14):
Enhancements
- Add a modular and unified interface for multi-threaded progress (c8787b8ed8)
- Update TBBMultiThreader to use ProgressReporters (6c69b28a34)
- Restore progress reporting to many filters (13fdc58236)
- Update SimpleITKFilters remote module (f7f05fd6a0)
- Add name mangling for libpng update (b644f1a381)
- When REMOTE_GIT_TAG_{name} is empty do not update remote (9131f9a9cd)
- Rename REMOTE_GIT_TAG_${name} to Module${_name}_GIT_TAG (d67ae984a7)
- Update SimpleITKFilters remote module (98634806f6)
Documentation Updates
- Add brief description to image filters (8a0deec5d5)
Platform Fixes
- fix Doxygen Illegal command in title section (6613c7ad9e)
- Fix typo with Doxygen sphinx macro (c618d2f435)
Bug Fixes
- Explicitly check abort flag in TBB multi-threader (45441808c4)
- PoolMultiThreader catch and re-throw exceptions from progress (32259bbaf6)
- Use function call to change access of superclass methods (3baf8d85fb)
Davis Vigneault (1):
Documentation Updates
- Add ORCID for Davis Vigneault (451665b133)
Dženan Zukić (7):
Enhancements
- update remote modules (cf1a71785d)
- updating TubeTK and SphinxExamples remote modules (1f2b2c7d0b)
Documentation Updates
- Update pull request template (01813ac197)
- update compliance worksheet for 6 remote modules (37a9976c74)
Platform Fixes
- fix type conversion error in GPUPDEDeformableRegistrationFilter (13a6b07705)
Bug Fixes
- fix crash with multiple update in LabelStatisticsImageFilter (83f63950c9)
- restoring libPNG branch name for UpdateFromUpstream.sh (ff7b621d5d)
GDCM Upstream (1):
Miscellaneous Changes
Hans J. Johnson (20):
Enhancements
- Provide rating scale for ITK Remote modules (b6ad2853de)
- Default ITK_MINIMUM_COMPLIANCE_LEVEL=3 (3c04cbd71e)
- Update hook-max-size for large GDCM files. (4a3c1b4907)
- Fix anonymous exception passing for intel (e273f5ade6)
- Add compliance criteria worksheet (83b4555d1e)
Documentation Updates
- Fix copyright notice for NumFOCUS. (33f808950c)
Platform Fixes
- Named exception not passed along to next exception (58f86afd7e)
- Conditional python3 package finding (0b3ce6383f)
- Fix extra semi-colon compiler warning (72a45394b2)
- Improve logic of hiding low grade modules (e5998a3a68)
- non-C-compatible type given name for linkage (68bc9ea13d)
Bug Fixes
- Module COMPLIANCE level processing improved (6ba9614ecf)
- Wrapping the GPUImageOps in python (13937d82ed)
Style Changes
- Capture stderr/stdout for eigen3 config (bc228ea2cb)
- Hide options for unused wrapping features (0321aa0362)
- Hide options for unused remote modules. (84aef6f3d8)
- ITK_MINIMUM_COMPLIANCE_LEVEL is an advanced feature (bc6deb1e30)
- ITK_NIFTI_IO_ANALYZE_FLAVOR is an advanced feature (875f30de8c)
- CLANGFORMAT_EXECUTABLE is an advanced feature (f237f36dcf)
- Rename AnalyzeObjectLabelMap to match conventions. (8daf5a66fa)
Hastings Greer (1):
Documentation Updates
- Document python snakecase filters' kwargs (b470f1f96b)
Jon Haitz Legarreta Gorroño (1):
Documentation Updates
- Fix typos in progress reporter classes (31e89ce883)
KWSys Upstream (1):
Miscellaneous Changes
LIBPNG Upstream (1):
Miscellaneous Changes
Mathew Seng (1):
Style Changes
- Prefer making deleted functions public (0a4e48a446)
Matt McCormick (15):
Enhancements
- StopConditionRegularStepGradientDescentBaseOptimizer -> StopCondition (d70b92162a)
- Wrap ExhaustiveOptimizerv4 (2a02738405)
- Format the release changelog in Markdown (7d931ea700)
Documentation Updates
- Add Lydia Ng's ORCID iD and affiliation (d90efa5915)
- Windows Python package builds now require CMake 3.16 (a7b6f27a0f)
- Remove FindPython3 robust remark (9d17181534)
- Update .zenodo (77d5167d37)
Platform Fixes
- Unused exception object in SmapsFileParser (bdeb5186bb)
- Add ITK patches for DCMTK (530f6548a7)
- Do not add -mcorei7 with Emscripten (eae6840303)
- Update CastXML binary for Visual Studio 2019 (ce5cf91651)
Bug Fixes
- Wrap TriangleMeshToBinaryImageFilter for float types (0676d81d92)
- Add Python3 CMake module workarounds to ITKModuleExternal (07705bd0eb)
- Exclude Modules/Remote/CMakeLists.txt from remote module changes (1f95a37998)
- Implement eq for sequence objects, e.g. itk.Size (4a40b80ebe)
MetaIO Maintainers (1):
Miscellaneous Changes
Niels Dekker (1):
Platform Fixes
- Use nullptr rather than 0 in IOFactoryRegisterRegisterList (3x) (c575c710ad)
Pablo Hernandez-Cerdan (2):
Platform Fixes
- Update remote module (2302f3ca5f)
Bug Fixes
- Pass CMAKE__COMPILER to Eigen configuration (f1acd929e3)
Sean McBride (1):
Platform Fixes
- fixed -Wfloat-conversion warning in public header (256476b86f)
Simon Rit (4):
Enhancements
- update RTK and set MODULE_COMPLIANCE_LEVEL to 3 (7d68a35f16)
Documentation Updates
- add affiliation and orcid for Simon Rit (5983574fc7)
Platform Fixes
- remove Eigen3 shadow warnings with GCC 4.8.5 (6a2f32867d)
Bug Fixes
- fix manual definition of git tag for remote modules (c285a902fd)
Stephen R. Aylward (5):
Enhancements
- Update TubeSpatialObjects I/O methods for recent MetaIO changes. (dbd9ac3749)
- Add TubeTK as a remote module for ITK (0c24f86518)
- Bump TubeTK to support internal and extern remote module (90a52111e9)
- Update TubeTK to github/InsightSoftwareConsortium/ITKTubeTK (ca77265380)
Bug Fixes
- Bump TubeTK to fix use of ArrayFire and installation command (566604a937)
Tabish Syed (1):
Enhancements
- Allow Transform with different Input and Output Dimensions. (6ec7f10b88)
Vladimir S. FONOV (2):
Bug Fixes
- reduced number of warnings for non-uniform sampling (da24c78dc5)
- accessing array out of bounds in ImageSeriesReader (7a8dca6080)
Ziv Yaniv (1):
Documentation Updates
- Adding ORCID for Ziv Yaniv. (af7b704a46)
ITK Examples Changes Since v5.1rc02
Ben Wilson (2):
Enhancements
- Add AdditiveGaussianNoiseImageFilter example (c33ac8ba)
Miscellaneous Changes
- be1ec477 (be1ec477)
Hans Johnson (20):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (1ff7ec66)
- Make type sign match for comparison (b05bb000)
- Now require ITK 5.1 for examples. (339ad191)
- Increase minimum viable ITK version (bce41b30)
- Use same mailmap naming as ITK. (d6038f12)
- Suppress false warnings for CI (a04e6998)
- Prefer https vs http for ctest submission. (468ce747)
- Update for ITK 5.1rc02 (47337988)
Documentation Updates
- Update copyright assignment to NumFOCUS (993e910d)
- Indicate that CI for ITKExamples is different. (b6468841)
Platform Fixes
- Fix build failure of deprecated example (d44d59ae)
- Fix referenced ITK version to v5.1rc02 (fb41171b)
- Prefer ZeroValue() for RGB pixel types (fa7aa084)
Bug Fixes
- Incorrect function signature for override (abe96a4d)
Style Changes
- Remove redundant void argument lists (34ac8717)
- Make prototype match definition names (225db636)
- Prefer c++11 'using' to 'typedef' (6f1a8dae)
- Remove redundant void argument lists (4981c210)
- Prefer raw-string-literal over escapes (11a8f2de)
- Use auto for variable type matches the type of the initializer expression (4700ca1a)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (e544261f)
Matt McCormick (1):
Bug Fixes
- Do not install pre-release Python packages in Superbuild (37f9df72)
Remote Module Changes Since v5.1rc02
AnalyzeObjectLabelMap:
Hans Johnson (15):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (d807af8)
Documentation Updates
- Update copyright assignment to NumFOCUS (082dbaf)
- Remove old LICENSE and follow ITK license model (a2a1bd4)
Platform Fixes
- Update module build to support azure CI. (d68b2e5)
- Disable wrapping enable examples. (09bbfe6)
- Remove unused variable warning. (c88693b)
- Use one definition rule for constants. (b88892a)
Bug Fixes
- Function name misspelling. (d7e27e8)
Style Changes
- Remove redundant void argument lists (146c698)
- Replace integer literals which are cast to bool. (5bc249f)
- Prefer = delete to explicitly trivial implementations (839eda0)
- Prefer = default to explicitly trivial implementations (36f0154)
- Remove redundant void argument lists (17f7516)
- Use default member initialization (e348e66)
- Use names matching conventions of other modules (0660667)
Mathew Seng (3):
Enhancements
- Update enums from recent enum changes in ITK (3dbdaaf)
Bug Fixes
- Fixed failing test due to missing ingroup (11e4622)
Style Changes
- Prefer making deleted functions public Deleting a function affects fundamental aspects of the client interface of a class, and hiding them in private as if they were implementation details is unhelpful. (9ab8ca5)
AnisotropicDiffusionLBR:
Hans Johnson (5):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (3fd46e9)
- Update ITK tag for CI build. (08b2b06)
- Make similar to module template (19012bd)
Documentation Updates
- Update copyright assignment to NumFOCUS (c127ee0)
Style Changes
- Use default member initialization (1558c94)
Mathew Seng (2):
Enhancements
- Update enums from recent enum changes in ITK (90d8774)
Bug Fixes
- Fixes header mismatch test fail (a7b0561)
BSplineGradient:
Hans Johnson (8):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (5c6857d)
- Set ITKGitTag to v5.1rc02 for azure CI (8bf8342)
- Prefer https vs http for ctest submission. (336bf1e)
Documentation Updates
- Update copyright assignment to NumFOCUS (8d60bb0)
Platform Fixes
- Use nullptr instead of 0 or NULL (004fe21)
Style Changes
- Use override statements for C++11 (5b49a26)
- Prefer = default to explicitly trivial implementations (b561ca9)
- Use auto for variable type matches the type of the initializer expression (43a93a5)
BioCell:
Hans Johnson (8):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (8b78848)
- Prefer https vs http for ctest submission. (abc81c3)
Documentation Updates
- Update copyright assignment to NumFOCUS (2f4bb42)
Style Changes
- Remove redundant void argument lists (91a8243)
- Make prototype match definition names (33689ef)
- Prefer = default to explicitly trivial implementations (b2cf06f)
- Remove redundant void argument lists (a5dbede)
- Use default member initialization (e5d96eb)
Mathew Seng (1):
Enhancements
- Fix new enum changes from ITK and failing KWStyle tests (c0ce968)
BoneEnhancement:
Hans Johnson (11):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (2f707b9)
- Fix unsigned/signed comparison warning. (993630a)
- Set ITKGitTag to v5.1rc02 for azure CI (5573c76)
- Prefer https vs http for ctest submission. (b29ba80)
Documentation Updates
- Update copyright assignment to NumFOCUS (34f3f04)
Style Changes
- Use auto for variable type matches the type of the initializer expression (19e7161)
- Use override statements for C++11 (91f0c7e)
- Prefer = default to explicitly trivial implementations (6566401)
- Remove redundant void argument lists (3573388)
- Use default member initialization (7a87b28)
- Use auto for variable type matches the type of the initializer expression (3cdcada)
Mathew Seng (2):
Enhancements
BoneMorphometry:
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (8b9e734)
- Set ITKGitTag to v5.1rc02 for azure CI (6c5dc67)
- Prefer https vs http for ctest submission. (6232f2c)
Documentation Updates
- Update copyright assignment to NumFOCUS (325481d)
Style Changes
- Use override statements for C++11 (eb7dde2)
- Use auto for variable type matches the type of the initializer expression (15bf32d)
Cuberille:
Hans Johnson (12):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (4b01c47)
- Set ITKGitTag to v5.1rc02 for azure CI (bd8a7eb)
- Prefer https vs http for ctest submission. (61eeb31)
- Make similar to template from ITKModuleTemplate (105d147)
Documentation Updates
- Update copyright assignment to NumFOCUS (f74d5c2)
Platform Fixes
- Make circle ci consistent with other remote modules. (e58c0a4)
- Use raw.githubusercontent.com across remote modules (51f1b5b)
- Remove redundant CI environments. (752f1f4)
Style Changes
- Convert CMake-language commands to lower case (039359c)
- Prefer = default to explicitly trivial implementations (f4ea1c8)
- Use default member initialization (d59d1a9)
- Prefer = default to explicitly trivial implementations (3b381a2)
Mathew Seng (1):
Bug Fixes
- Fix failing kwstyle test. Header mismatch. (ca933fe)
NeuralNetworks:
FixedPointInverseDisplacementField:
Hans Johnson (5):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (8a5f85f)
- Prefer https vs http for ctest submission. (fcc5f90)
Documentation Updates
- Update copyright assignment to NumFOCUS (ec311e6)
Style Changes
- Prefer = default to explicitly trivial implementations (7fcded4)
- Use default member initialization (743c5f3)
GenericLabelInterpolator:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (a672191)
- Prefer https vs http for ctest submission. (705676c)
- Make similar to template (b95fe46)
Documentation Updates
- Update copyright assignment to NumFOCUS (2a5fb66)
Style Changes
- Use override statements for C++11 (2bff89d)
- Prefer = default to explicitly trivial implementations (8695aa3)
- Use auto for variable type matches the type of the initializer expression (0e756a6)
HigherOrderAccurateGradient:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (29fe691)
- Set ITKGitTag to v5.1rc02 for azure CI (3c64fcb)
- Prefer https vs http for ctest submission. (d3d2050)
Documentation Updates
- Update copyright assignment to NumFOCUS (adcc833)
Style Changes
- Prefer = default to explicitly trivial implementations (4a9700b)
- Use default member initialization (a3f54fa)
- Prefer = default to explicitly trivial implementations (d84f540)
IOFDF:
Hans Johnson (8):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (f3ac97d)
- Prefer https vs http for ctest submission. (e2f4629)
Performance Improvements
- readability container size empty (4f9ed82)
Documentation Updates
- Update copyright assignment to NumFOCUS (a269609)
Style Changes
- Remove redundant void argument lists (05b6bfa)
- Replace integer literals which are cast to bool. (696adbb)
- Prefer = default to explicitly trivial implementations (1ee4d00)
- Remove redundant void argument lists (15f21d0)
Mathew Seng (1):
Enhancements
- Update enums from recent enum changes in ITK (ef30910)
IOMeshSTL:
Hans Johnson (8):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (2caccf4)
- Set ITKGitTag for azure (e5ef162)
- Prefer https vs http for ctest submission. (f4d21b6)
Documentation Updates
- Update copyright assignment to NumFOCUS (6d57718)
Platform Fixes
- Enumeration type to store as unsigned int (1c90544)
Style Changes
- Make prototype match definition names (f53de39)
- Replace integer literals which are cast to bool. (dff4c68)
- Pefer = default to explicitly trivial implementations (f3d79ea)
Mathew Seng (1):
Enhancements
- Update enums from recent enum changes in ITK (d181406)
IOOpenSlide:
Hans Johnson (2):
Enhancements
- Prefer https vs http for ctest submission. (c0c2cf3)
Documentation Updates
- Update copyright assignment to NumFOCUS (be7fdcc)
IOScanco:
Hans Johnson (12):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (b403b1e)
- Prefer https vs http for ctest submission. (3b07a92)
Performance Improvements
- readability container size empty (a8a1f3a)
Documentation Updates
- Update copyright assignment to NumFOCUS (86963c6)
Platform Fixes
- Use nullptr instead of 0 or NULL (54ce509)
Style Changes
- Remove redundant void argument lists (aabebdb)
- Make prototype match definition names (cd0809a)
- Use auto for variable type matches the type of the initializer expression (e839891)
- Replace integer literals which are cast to bool. (83573ed)
- Use override statements for C++11 (6780a2e)
- Use default member initialization (9a4c819)
- Use range-based loops from C++11 (b224c2e)
Mathew Seng (1):
Enhancements
- Update enums from recent enum changes in ITK (5316880)
Matt McCormick (1):
Enhancements
- Update CI to build against ITK 5.1 RC 2 (27dd8d7)
IOTransformDCMTK:
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (e94cc55)
Documentation Updates
- Update copyright assignment to NumFOCUS (e92b0ea)
Style Changes
- Remove redundant void argument lists (11398a4)
- Use auto for variable type matches the type of the initializer expression (bc6bb8d)
- Replace integer literals which are cast to bool. (eb4fa45)
- Prefer = default to explicitly trivial implementations (ae62142)
IsotropicWavelets:
Hans Johnson (10):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (5b945b7)
- Set ITKGitTag for azure (8f28a16)
Documentation Updates
- Update copyright assignment to NumFOCUS (8cb9556)
Platform Fixes
- Fix ambiguous type conversion for vnl_matrix (cdeaa47)
Style Changes
- Fixed compiler warnings and logical bugs. (abf7e91)
- Prefer = default to explicitly trivial implementations (02ec639)
- Remove redundant void argument lists (ba71ec7)
- Use default member initialization (53d9957)
- Use default member initialization (8869fb2)
- Prefer = default to explicitly trivial implementations (7fdbd15)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (171b9c7)
LabelErodeDilate:
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (f5e7c38)
- Prefer https vs http for ctest submission. (f99a566)
Documentation Updates
- Update copyright assignment to NumFOCUS (cb21e18)
Style Changes
- Convert CMake-language commands to lower case (2782d18)
- Prefer = default to explicitly trivial implementations (8929307)
- Remove redundant void argument lists (76e2fde)
Mathew Seng (1):
Enhancements
- Update enums from recent enum changes in ITK (6320c2a)
LesionSizingToolkit:
Hans Johnson (16):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (0f16f22)
- Prefer https vs http for ctest submission. (9be8ae5)
- Adding azure pipeline processing yml (79f9562)
Performance Improvements
- readability container size empty (054da90)
Documentation Updates
- Update copyright assignment to NumFOCUS (5333ff9)
- Update copyright assignment to NumFOCUS (14eb11d)
- Update copyright assignment to NumFOCUS (f73be20)
Platform Fixes
Bug Fixes
- Wrapping bugs prevented building (6365d71)
Style Changes
- Convert CMake-language commands to lower case (b003898)
- Prefer = delete to explicitly trivial implementations (af83289)
- Prefer = default to explicitly trivial implementations (60f06cb)
- Remove redundant void argument lists (e79d19a)
- Use default member initialization (6148b45)
- Use range-based loops from C++11 (0813bae)
MGHIO:
Hans Johnson (9):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (3827829)
- Make similar to template (56eae3a)
Performance Improvements
- readability container size empty (c74fda7)
Documentation Updates
- Update copyright assignment to NumFOCUS (68d996a)
Style Changes
- Remove redundant void argument lists (ed12a49)
- Make prototype match definition names (746464b)
- Replace integer literals which are cast to bool. (220afc7)
- Prefer = default to explicitly trivial implementations (1fbec35)
- Remove redundant void argument lists (46340ff)
Mathew Seng (1):
Enhancements
- Fix new enum changes from ITK and failed KWStyle test. (0c2aafe)
MeshNoise:
Hans Johnson (4):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (37c7b87)
Documentation Updates
- Update copyright assignment to NumFOCUS (9bb48f4)
Style Changes
- Prefer = default to explicitly trivial implementations (4a248a3)
- Remove redundant void argument lists (1abad68)
MinimalPathExtraction:
Hans Johnson (12):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (4ef47f1)
- Set ITKGitTag to v5.1rc02 for azure CI (98df8b6)
- Prefer https vs http for ctest submission. (28394bc)
Performance Improvements
- readability container size empty (0ea874c)
Documentation Updates
Platform Fixes
Style Changes
- Remove redundant void argument lists (f843db8)
- Prefer = default to explicitly trivial implementations (a15bc10)
- Remove redundant void argument lists (fab4d37)
- Use auto for variable type matches the type of the initializer expression (3b40d22)
Montage:
Dženan Zukić (2):
Platform Fixes
- fix type conversion error (5d2fa6b)
Bug Fixes
- correctly handle tiles with non-zero starting indices (3573100)
Hans Johnson (15):
Enhancements
Performance Improvements
- emplace_back method results in potentially more efficient code (99d4dfa)
Documentation Updates
- Update copyright assignment to NumFOCUS (700bdbc)
Platform Fixes
- Avoid name collision with Modules/Remote/SphinxExamples (048ecb2)
- Use nullptr instead of 0 or NULL (8577cdf)
Style Changes
- Enforce clang-format rules. (e81b494)
- Remove CMake-language block-end command arguments (49c9aa8)
- Convert CMake-language commands to lower case (8671845)
- Remove redundant void argument lists (4ca52a9)
- Prefer raw-string-literal over escapes (5bcba46)
- Use override statements for C++11 (e7d54eb)
- Prefer = default to explicitly trivial implementations (2262e64)
- Use range-based loops from C++11 (ccff674)
- Use auto for variable type matches the type of the initializer expression (464f3c5)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (6a8ceda)
Matt McCormick (22):
Enhancements
- Bump Python package version to 0.5.0 (a7c9525)
- Remove CircleCI configuration (1771da2)
- Add .gitattributes (3d4ddbd)
- Add clang-format GitHub Actions (b90a166)
- Restrict Python package dependencies (5cab516)
- Remove CircleCI configuration (a240939)
- Add .gitattributes (010b364)
- Add clang-format GitHub Actions (d0158ba)
- Restrict Python package dependencies (025f69c)
- Wrap PhaseCorrelationImageRegistrationMethod for all scalar pixel types (7985d7c)
- Wrap MaxPhaseCorrelationOptimizer (00860e6)
- Add wrapping for NMinimaMaximaImageCalculator (5a2cd37)
- Wrap Tile, TileConfiguration (142eaa1)
- Add TileMontage wrapping (c65afee)
- Add TileMergeImageFilter wrapping (e7da790)
Documentation Updates
Platform Fixes
- Patch igenerator.py for enum wrapping (824bf34)
- NMinimaMaximaImageCalculator initialization (3a6e3b9)
- Make TileMergeImageFilter (44c7868)
Style Changes
Michael Jackson (1):
Miscellaneous Changes
- c0a1e48 (c0a1e48)
MorphologicalContourInterpolation:
Dženan Zukić (2):
Enhancements
- update enums to match recent changes in ITK (1b2f96e)
Platform Fixes
- use STL's unordered map instead of KWSYS's hash map (f40da34)
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (08d1f76)
Performance Improvements
- readability container size empty (b83a08f)
Documentation Updates
- Update copyright assignment to NumFOCUS (c3c830a)
Style Changes
- Prefer = default to explicitly trivial implementations (499ffb6)
- Use default member initialization (693c8ce)
- Use auto for variable type matches the type of the initializer expression (b72ef47)
MultipleImageIterator:
Hans Johnson (2):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (705f384)
Documentation Updates
- Update copyright assignment to NumFOCUS (3b71d6e)
ParabolicMorphology:
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (a5696b2)
- Prefer https vs http for ctest submission. (2637ba9)
Documentation Updates
- Update copyright assignment to NumFOCUS (655dd40)
Style Changes
- Convert CMake-language commands to lower case (851e219)
- Prefer = default to explicitly trivial implementations (11e5928)
- Remove redundant void argument lists (d3cd3ef)
PerformanceBenchmarking:
Hans Johnson (10):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (7e092c1)
- Set ITKGitTag for azure (d4b68fa)
- Prefer https vs http for ctest submission. (288d57c)
Documentation Updates
- Update copyright assignment to NumFOCUS (8efcfa5)
Style Changes
- Use override statements for C++11 (1661594)
- Use auto for variable type matches the type of the initializer expression (0ee8392)
- Prefer = default to explicitly trivial implementations (bd085a5)
- Prefer raw-string-literal over escapes (ba00ac4)
- Use default member initialization (9447fe0)
- Use auto for variable type matches the type of the initializer expression (e869d3b)
Mathew Seng (2):
Enhancements
- Update enums from changes in ITK (b2a668c)
Platform Fixes
- Remove unused variable warning Removes variable ParametersValueType (3f39a08)
Matt McCormick (1):
Bug Fixes
- Remove CircleCI Config (006cb36)
PhaseSymmetry:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (5df90ac)
- Prefer https vs http for ctest submission. (fb5df77)
Documentation Updates
- Update copyright assignment to NumFOCUS (4d2b01e)
Style Changes
- Use override statements for C++11 (8fad234)
- Prefer = default to explicitly trivial implementations (4ef573f)
- Use default member initialization (2f6d50f)
- Prefer = default to explicitly trivial implementations (2285273)
Mathew Seng (1):
Platform Fixes
- Remove of compiler warning Originally compared int i to unsigned int InputImageDimension. Changed i to unsigned int. (2810eb5)
Matt McCormick (2):
Enhancements
PolarTransform:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (7697c4a)
- Prefer https vs http for ctest submission. (9dbc9a2)
- Add azure CI pipeline. (7976e4f)
Documentation Updates
- Update copyright assignment to NumFOCUS (5ba4bcc)
Platform Fixes
Style Changes
- Prefer = default to explicitly trivial implementations (5f5af5f)
Roman Grothausmann (3):
Enhancements
- option to use arc increment instead of constant angular increment (5110762)
- option to return NaN in case alpha is outside [-pi,pi] (0f6b273)
- option for angular offset (14dd8bd)
PrincipalComponentsAnalysis:
Hans Johnson (9):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (9e63374)
- Prefer https vs http for ctest submission. (c0ec46f)
Performance Improvements
- Allow compiler to choose best way to construct a copy (6167882)
- emplace_back method results in potentially more efficient code (af35150)
Documentation Updates
- Update copyright assignment to NumFOCUS (a6913ba)
Style Changes
- Convert CMake-language commands to lower case (ac68ca8)
- Prefer = default to explicitly trivial implementations (0e9bd9f)
- Remove redundant void argument lists (846df73)
- Use default member initialization (3af16bf)
Jon Haitz Legarreta Gorroño (1):
Style Changes
- Add ITK prefix to testing macros (4a9000f)
RLEImage:
Dženan Zukić (1):
Enhancements
- update enums to match recent changes in ITK (2c28295)
Hans Johnson (6):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (db4f797)
- Add .gitattributes to allow running ITK clang-formatting scripts (35f1248)
Documentation Updates
- Update copyright assignment to NumFOCUS (1884c9c)
Style Changes
- Prefer = delete to explicitly trivial implementations (fc7cb30)
- Prefer = default to explicitly trivial implementations (cc004a5)
- Use default member initialization (1f11a87)
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Use and move ITK_DISALLOW_COPY_AND_ASSIGN call to public section (32e4ee6)
RTK:
Aurélien Coussat (1):
Enhancements
- First simple test for iteration reporting (b441fc7b)
Hans Johnson (20):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (9b1db19a)
- Prefer https vs http for ctest submission. (1958ee03)
Performance Improvements
- Allow compiler to choose best way to construct a copy (5f767716)
- emplace_back method results in potentially more efficient code (77d85258)
Documentation Updates
- Update copyright assignment to NumFOCUS (c489c2af)
Platform Fixes
- Use nullptr instead of 0 or NULL (3b0750d1)
- Prefer const member functions (2096c1b9)
- Use attributtes to avoid clobbering external tools (f8781f9c)
Style Changes
- Remove redundant void argument lists (971b5adc)
- Make prototype match definition names (bd10544b)
- Prefer c++11 'using' to 'typedef' (11026984)
- Use override statements for C++11 (76c11c42)
- Assign initial values to variables (133a63c2)
- Prefer = delete to explicitly trivial implementations (17541d4d)
- Prefer = default to explicitly trivial implementations (38666461)
- Use range-based loops from C++11 (7a2eea96)
- Use auto for variable type matches the type of the initializer expression (c809382b)
- Replace integer literals which are cast to bool. (bb80f235)
- Remove redundant void argument lists (3f66f7f0)
- Prefer = delete to explicitly trivial implementations (4e6df1ab)
PA Rodesch (1):
Enhancements
- add projections weights in one step reconstruction (c2f2188c)
Simon Rit (11):
Enhancements
- added Hnc image IO (another Varian file format) with test (f2848b9b)
Documentation Updates
- Update README with Azure badges (e57db103)
Platform Fixes
- test presence of -std= flag before passing it to nvcc (0965dfe6)
- ensure creation of itkPyBufferRTK.wrap (2a82b055)
- fix ITK enum types (8b903d37)
- remove warnings introduced by Hnc IO (#268) (456346cc)
Bug Fixes
- removed .circleci which is not up-to-date with ITK master branch (7b03c700)
- add ITKBridgeNumPy dependency to load all templates (0922c84e)
- fixed applications tests (c8d0de28)
Style Changes
- apply ITK clang-format to all RTK source files (3f89b8b9)
- backward compatibility with latest ITK release and master only (9ec2d879)
vlibertiaux (1):
Bug Fixes
- direction was filled instead of origin (dbe00e4b)
SCIFIO:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (6c5d3c9)
- Set ITKGitTag to v5.1rc02 for azure CI (018d505)
- Prefer https vs http for ctest submission. (ecadb63)
- Update project command for cmake 3.10.2 (9b8711d)
- Updates azure pipeline and sync with template (8bd6a73)
Documentation Updates
- Update copyright assignment to NumFOCUS (2d11853)
Style Changes
- Convert CMake-language commands to lower case (7a67881)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (67a4a9e)
Matt McCormick (2):
Bug Fixes
SimpleITKFilters:
Bradley Lowekamp (18):
Enhancements
- Update ctest submitting method to https (222abb1)
- Add test demonstrating behavior of INVALID enum on execution (2fd3893)
- Refactor enums into DICOMOrientation class (a0b9eca)
- Throw exception when desired orientation is invalid. (3344aa9)
Documentation Updates
- Update copyright assignment to NumFOCUS (495ee7d)
Style Changes
- Apply clang format styling (d8fac5c)
Miscellaneous Changes
- d67058d (d67058d)
- 61d6ee1 (61d6ee1)
- e7bc846 (e7bc846)
- 243bcab (243bcab)
- 94b56ec (94b56ec)
- ef6dcac (ef6dcac)
- a3216d6 (a3216d6)
- 9a74379 (9a74379)
- 455c241 (455c241)
- 24bc712 (24bc712)
- 6d6c7a9 (6d6c7a9)
- 9240a0f (9240a0f)
SkullStrip:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (778080f)
- Remove failing unnecessary function in travis (286440c)
Documentation Updates
- Update copyright assignment to NumFOCUS (b3d057a)
Platform Fixes
- Use nullptr instead of 0 or NULL (e53d779)
Style Changes
- Use override statements for C++11 (1ab6310)
- Replace integer literals which are cast to bool. (6958fe4)
- Prefer = default to explicitly trivial implementations (d22d11f)
SplitComponents:
Hans Johnson (2):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (34847ee)
Documentation Updates
- Update copyright assignment to NumFOCUS (e78f0ee)
Strain:
Hans Johnson (3):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (30da2a1)
Documentation Updates
- Update copyright assignment to NumFOCUS (d455b5b)
Style Changes
- Prefer = default to explicitly trivial implementations (bc32c0d)
SubdivisionQuadEdgeMeshFilter:
Hans Johnson (5):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (5f63a18)
- Prefer https vs http for ctest submission. (a6b3020)
Documentation Updates
- Update copyright assignment to NumFOCUS (b5a9a5d)
Platform Fixes
- Improve template formatting. (407179c)
Style Changes
- Prefer = default to explicitly trivial implementations (46a1b46)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (2510117)
TextureFeatures:
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (67f7ea3)
- Prefer https vs http for ctest submission. (5d41291)
- This code no longer supports ITK 4.13 (2b831c4)
Documentation Updates
- Update copyright assignment to NumFOCUS (926b6cb)
Platform Fixes
- Enhance azure pipeline CI environment. (38faf6e)
Style Changes
- Prefer = default to explicitly trivial implementations (5a46ecd)
- Use default member initialization (130559d)
Thickness3D:
Dženan Zukić (2):
Documentation Updates
- correct link to this module (1867507)
Platform Fixes
- use ITK prefix for testing macros (23d3e48)
Hans Johnson (7):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (b6adc1e)
- Set ITKGitTag to v5.1rc02 for azure CI (051f185)
- Prefer https vs http for ctest submission. (c39a6c7)
Documentation Updates
- Update copyright assignment to NumFOCUS (d24f809)
Platform Fixes
- Prefer const pointer when value does not change (044a334)
Style Changes
TotalVariation:
Hans Johnson (3):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (79d6e5d)
Documentation Updates
- Update copyright assignment to NumFOCUS (b911323)
Style Changes
- Remove CMake-language block-end command arguments (b5f6def)
Jean-Christophe Fillion-Robin (1):
Platform Fixes
- Ensure proxTV dependencies are found when building against ITK build tree (aee8abe)
Pablo Hernandez-Cerdan (5):
Documentation Updates
Platform Fixes
- CMake (19a4b84)
Bug Fixes
- Use ITKInternalEigen3_DIR to find Eigen (b034feb)
Miscellaneous Changes
- Ensure proxTV dependencies are found when building against ITK build tree" (8cb0204)
TubeTK:
Stephen Aylward (5):
Enhancements
- Update paths and CMakeLists.txt for compilation as a remote module (f68d6f0c)
- Remove install target that wasn't used (1c33d196)
- Support remote and external building (ac4b205a)
- Include top level binary dir, it contains config.h (6aaa6148)
- Move intall-target specification for TubeTKLib into TubeTKLib (719d12e9)
Stephen R. Aylward (4):
Bug Fixes
- Re-enable arrayfire support. (6c7746f2)
- CastSpatialObject filter moved to ITK, so remove install cmd (745e5a23)
Miscellaneous Changes
TwoProjectionRegistration:
Hans Johnson (11):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (b51f827)
- Set ITKGitTag to v5.1rc02 for azure CI (daca3b9)
- Fix circleci pathing failure. (bb7e8f9)
- Prefer https vs http for ctest submission. (32f1012)
- Allow building shared library. (6fcdbe6)
Documentation Updates
- Update copyright assignment to NumFOCUS (4a478b9)
Platform Fixes
- Synchronize with template builder scripts. (4023255)
Bug Fixes
- Incorrect test library variable used. (df2d0c2)
Style Changes
- Replace integer literals which are cast to bool. (72a7eac)
- Prefer = default to explicitly trivial implementations (e65f85d)
- Remove redundant void argument lists (5ed0a68)
VariationalRegistration:
Hans Johnson (10):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (5eb525b)
- Adding azure pipeline script. (4e78db8)
- Prefer https vs http for ctest submission. (52658c1)
Documentation Updates
- Update copyright assignment to NumFOCUS (c01f28b)
Platform Fixes
- No compiled libraries, only executables (707e773)
Bug Fixes
- Fix incorrect wrapping syntax for object types (8b7f40d)
Style Changes
Assets
8
ITK 5.1 Release Candidate 2
We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 2 is available for testing!
ITK 5.1 is a feature release that improves and extends the major ITK 5.0 release. ITK 5.1 includes a NumPy and Xarray filter interface, clang-format enforced coding style, enhanced modern C++ range support, strongly-typed enum's, and much more.
Downloads
Python Packages
Install ITK pre-release binary Python packages with:
pip install --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
An itk.Image converted to an xarray.DataArray. Xarray enables processing while preserving metadata, distributed computing with Dask, and machine learning with the scikit-learn API.
Pass NumPy Array's or Xarray DataArray's to ITK Image Filters
The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy ndarray's, i.e. numpy.ndarray. If a ndarray is passed as an input, a ndarray is returned as an output.
For example,
smoothed = itk.median_image_filter(array, radius=2)
Previously, explicit conversion to / from an itk.Image was required with itk.array_from_image and itk.image_from_array.
We can now also convert an itk.Image to a numpy.ndarray with the standard np.asarray call.
import numpy as np
import itk
image = itk.imread('/path/to/image.tif')
array = np.asarray(image)
Similar, experimental support (subject to change) is also available for Xarray DataArray's. If an xarray.DataArray is passed as an input, an xarray.DataArray is returned as an output. Moreover, the operation preserves spatial and dimensional metadata. For example,
import xarray as xr
import itk
image = itk.imread('/path/to/image.tif')
da = itk.xarray_from_image(image)
smoothed = itk.median_image_filter(da, radius=3)
print(smoothed)
results in:
<xarray.DataArray (y: 288, x: 894)>
array([[255. , 255. , 255. , ..., 255. , 255. , 255. ],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
...,
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995],
[ 11.9995, 11.9995, 11.9995, ..., 11.9995, 11.9995, 11.9995]],
dtype=float32)
Coordinates:
* x (x) float64 0.0 1.0 2.0 3.0 4.0 ... 889.0 890.0 891.0 892.0 893.0
* y (y) float64 0.0 1.0 2.0 3.0 4.0 ... 283.0 284.0 285.0 286.0 287.0
Attributes:
direction: [[1. 0.]\n [0. 1.]]
A round trip is possible with itk.image_from_xarray.
Python 3 Only
ITK 5.1 will be the first Python 3-only release. Consistent with most scientific Python packages and CPython's 2020 drop in support, Python 2 support and binaries are no longer be available.
Python Package 64-bit Float Support
In addition to the many other pixel types supported, the itk binary Python packages now include support for the double pixel type, i.e. 64-bit IEEE floating-point pixels. This improves compatibility with scikit-image, which uses this pixel type as a default.
clang-format Enforced C++ Coding Style
ITK has adopted a .clang-format coding style configuration file so a consistent coding style can automatically be applied to C++ code with the clang-format binary. A consistent coding style is critical for readability and collaborative development.
clang-format has been applied to the entire codebase. The Whitesmiths style of brace indentation, previously part of the ITK Coding Style Guidelines, is not supported by clang-format, so it has been replaced by a brace style consistent with VTK's current style.
A Git commit hook will automatically apply clang-format to changed C++ code.
Enhanced Modern C++ Range Support
In addition to the ImageBufferRange, ShapedImageNeighborhoodRange, and IndexRange classes introduced in ITK 5.0, ITK 5.1 adds an ImageRegionRange. These range classes conform to the Standard C++ Iterator requirements so they can be used in range-based for loop's and passed to Standard C++ algorithms. Range-based for loops provide an elegant syntax for iteration. Moreover, they are often more performant than other iteration classes available.
For example, to add 42 to every pixel:
ImageBufferRange<ImageType> range{ *image };
for (auto&& pixel : range)
{
pixel = pixel + 42;
}
In ITK 5.1, adoption of the range classes was extended across the toolkit, which demonstrates their use and improves toolkit performance.
Point Set Registration Parallelism
ITK provides a powerful registration framework for point-set registration, offering information-theoretic similarity metrics, labeled point-set metrics, and spatial transformation models that range from affine to b-spline to dense displacement fields. ITK 5.1 features enhanced parallelism in point-set metric computation, leveraging the native thread-pool and Threading Building Blocks (TBB) enhancements in ITK 5.
SpatialObject's and Strongly-Typed enum's
Improvements and refinements were made to the ITK 5 itk::SpatialObject refactoring, and modern C++ interface. In particular, ITK 5.1 transitions enumerations to strongly-typed enumerations, which is flagged by modern compilers due to improved scoping and implicit conversions to int. Enum names now follow a consistent <Description>Enum naming conversion, which results in a Python interface:
<Description>Enum_<EnumValue1>
<Description>Enum_<EnumValue2>
[...]
A guide for updating to the new enum's can be found in the Strongly Typed Enumerations section of the ITK 5 Migration Guide.
DICOM Support
ITK's broadly adopted medical image support is hardened thanks to 20 years of testing and support from major open source DICOM library maintainers. In this release, many members of the community collaborated to further enhance ITK's DICOM support for corner cases related to modality, pixel types, and vendor variations.
Remote Module Updates
Many remote modules were updated: AnalyzeObjectMapIO, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, FixedPointInverseDisplacementField, GenericLabelInterpolator, HigherOrderAccurateGradient, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, PhaseSymmetry, RLEImage, RTK, SCIFIO, SimpleITKFilters, SkullStrip, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, and TwoProjectionRegistration. Their updates are included in the detailed changelog below.
Zenodo Citation
ITK has a Zenodo Citation:
This citation can be used to cite a specific version of the software. If you have contributed 10 or more patches to ITK, please add your ORCID iD to our .zenodo.json file for authorship association.
NumFOCUS Copyright Transfer
ITK's copyright and the copyright of software held by the Insight Software Consortium have been transferred to NumFOCUS. CMake's copyright has been transferred to Kitware.
And More
Many more improvements have been made. For details, see the changelog below.
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 30 authors who contributed since v5.1rc01 and 65 authors since v5.0.0, we would like to specially recognize the new contributors:
Mathew J. Seng, Zahil Shanis, yjcchen0913, PA Rodesch, Aurélien Coussat, yinkaola, Bryce Besler, Pierre Chatelier, Rinat Mukhometzianov, Ramraj Chandradevan, Hina Shah, Gordian Kabelitz, Genevieve Buckley, Aaron Bray, nslay, Antoine Robert, James Butler, Matthew Rocklin, Gina Helfrich, and Neslisah Torosdagli.
And the new contributors since v5.1rc01: Brad T. Moore, Niklas Johansson, Flavien Bridault, Pradeep Garigipati, haaput, tabish, and Antoine Robert.
What's Next
As we work towards the next release candidate, the new strongly typed enum's will undergo testing. ITK remote modules will update their copyright attribution to NumFOCUS. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
ITK Changes Since v5.1rc01
Antoine Robert (1):
Enhancements
- Add boundary condition getters and setters (a48512e7bd)
Brad King (1):
Bug Fixes
- Update URL for GitSetup hooks checkout (db254e1308)
Brad T. Moore (1):
Enhancements
- Added explicit test of VectorImage with ExpandImageFilter (6135513ade)
Bradley Lowekamp (18):
Enhancements
- Update to latest GoogleTest release tag (a2d2b515de)
- Enable CircleCI to retrieve ccache on pull requests (4f3f5c70e9)
- Add VectorImage support to MeanImageFilter (61bda3f5c4)
- Add test for sorting and size in RelabelComponentImageFilter (484b49d938)
- ignore GDCM whitespace issues (a3b7dadcc4)
Performance Improvements
- Refactor RelabelComponentImageFilter (234bbf3843)
Platform Fixes
- Remove unused region parameter in default copy constructor (b0ad27fa88)
- Disable GTest using threads (ed712c296a)
- Fix DCMTK unused CMake variable warning (1de82a792a)
- Fix suggested brace around initialization warnings (8bae0c9ad2)
Bug Fixes
- Use unique_ptr (99cba442d6)
- Set ConnectedComponentImageFilter's initial background value to zero. (1e76197da7)
- Prevent integer underflow in CropImageFilter (09e4a7994e)
- Fix RelabelComponentImageFilter with sorting off, size on (1621016a6f)
- Restore enum typedef name Convolution and Deconvolution filters (14851ac81c)
- set BinaryNot operator to const method (d921281245)
Style Changes
- Move constructor to hxx, use inline initialization for ivars (cc182cc883)
Miscellaneous Changes
- SetScale() and SetSkew() did not recompute offset (3715675314)
Davis Vigneault (5):
Enhancements
- Bump Cuberille Commit Hash (82b1072aca)
Bug Fixes
- Bump Cuberille Git Hash (18e2846986)
- Delaunay Cell Data (0d1aaefef9)
- Handle CellData in Decimation Filter (f23c5cf0f6)
- Bump Cuberille Commit Hash (305fc77397)
Dženan Zukić (15):
Enhancements
- updating remote modules (c871d92fbf)
- Deprecate TreeContainer group of classes (48c2ff830e)
- adding JPEG2000 ICT and RCT encoding compliance tests (7a6f90ce62)
- update example to support non-overlapping images (0aba9318fb)
Documentation Updates
- Update SupportedCompilers.md (8b6383f634)
- update example links in ImageToVTKImageFilter (53dde77fd3)
- updating zenodo authors' ORCIDs and affiliations (90b0d8fdb6)
Platform Fixes
- expose TransformCategoryType under LEGACY (0775d4a616)
Bug Fixes
- fix null pointer dereference in itkInOrderTreeIterator.h (d5158e04f0)
- Baseline and test image order was reversed in GDCM tests (eca0ae1998)
- incorrect neighbor determination in scan-line derived filters (c32a7846cb)
- remove assertion which frequently fails (102c3ed361)
Style Changes
- ivar initialization into the header file in GDCMSeriesFileNames (af6109466f)
- cleaning up excessive white space in example (da7fecc016)
Miscellaneous Changes
Eigen Upstream (2):
Miscellaneous Changes
Flavien Bridault (1):
Platform Fixes
- Fix compiling an app with Clang when ITK is built with GCC (eb8ce3c619)
GDCM Upstream (2):
Miscellaneous Changes
GoogleTest Upstream (1):
Miscellaneous Changes
Hans Johnson (37):
Enhancements
- Update RTK for future proofing. (aec69e2c1d)
- Update DCMTK to master branch of upstream DCMTK (4e1a27d616)
- Update FFTW to latest release (b4a67f5ce9)
- Add all commit authors for ITK (9e2cb14b35)
- When using cmake > 3.12 use FindPython3 module (58d001656c)
- Consistently use strongly typed enums (0dd31a62f8)
Performance Improvements
- emplace_back method results in potentially more efficient code (797ef760f7)
- Allow compiler to choose best way to construct a copy (76f27145c0)
- readability container size empty (3f0cc19b72)
Platform Fixes
- Exceptions should be caught by constant reference (0cf2baf077)
- Need to explicitly define std (d5cda2e4a1)
- Implicit conversion warnings (a1ccba81be)
- Use separate build path for fftw versions (9c7f55665a)
- Fix fftw library ordering (9198e89509)
- VXL > 2.0.2 is the default (45a66347d3)
- Prefer const member functions (abefef1773)
- Remove searching for python interpreter (e5cbf1e9f3)
- Allow building basic ITK on computer without python3.5 (764737d09e)
Bug Fixes
- Second argument to stream
operator<<as const (5a0c06a761) - Print function should be const (5b4eaa27d2)
- Add missing const 'GetDataObject' function signature (c7fd5bd08a)
- Set 'GetDataObject' function signature to const (42bfdd5a4c)
- operator() can not be const (3f232f7719)
- Missing backward compatible enumeration name (4d0871aa80)
- Incorrect type specified for enumeration (401e0ea471)
Style Changes
- clang-format style updates. (eb66250269)
- Move deprecated remote modules into subdirectory. (1ba0d0b34c)
- Remove redundant void argument lists (e6d859ecae)
- Use override statements for C++11 (8e763c5f53)
- Replace integer literals which are cast to bool. (d81d218c89)
- Prefer c++11 'using' to 'typedef' (32f6f1e6ca)
- Use default member initialization (18d43c85cf)
- Prefer = default to explicitly trivial implementations (240751ac15)
- Prefer = delete to explicitly trivial implementations (c0f987e073)
- Use range-based loops from C++11 (7f2c44cf53)
- Use auto for variable type matches the type of the initializer expression (0992eb8776)
- Fix style conformance with include file (8237e6fa6f)
Jared Vicory (1):
Enhancements
- Wrap ComposeImageFilter for complex types (4a7c34e6ca)
Matt McCormick (56):
Enhancements
- Update SCIFIO remote module to 2019-12-11 Git master (56de114eba)
- Update stale-bot comment about issue closure (6c8378bfe0)
- Update content links (7e2adb6523)
- Use curl instead of wget in SourceTarball script (d7a1867674)
- Add script to identify release authors (bf08f71bdb)
- Use a script to generate the release changelog (c5245f4aef)
- clang-format.bash detects clang-format-8 executable (f7044be737)
- Add clang-format linter GitHub Action (0b91401420)
- Apply clang-format to PR with action (2308142928)
- Also run clang-format linter on PRs (3d17890175)
- Bump macOS Azure CI images to 10.14 (5620a36fab)
- Add itk.xarray_from_image and itk.image_from_xarray (3943bc142b)
- Add script to update .zenodo.json (5b625daf53)
- Require 10 or more commits for .zenodo.json (85e6c1465d)
- Support xarray.DataArray's in Pythonic filters (b7b6638b7a)
- New testing data content links for ITK 5.1RC2 (30131b722a)
Documentation Updates
- Document how to re-run tests with a PR comment (453e477a65)
- Update ExternalData kitware rsync command (ab048f5c2d)
- Update .mailmap to consolidate author identification (291ae03f7a)
- Set lang attribute for Doxygen docs (b711d61356)
- Add Stephen R. Aylward to .mailmap (4af9a483e2)
- Add version-specific Doxygen links to the download page (281a5c202f)
- .mailmap entry for Hans J. Johnson (e20be863ef)
- Update README links (10954f4cf9)
- Update clang-format.bash path (beda0186da)
- Add clang-format check docs in CONTRIBUTING.md (8d3961ed9a)
- Add Zenodo DOI badge (e0f89c703f)
- Remove CONTRIBUTING note about ApplyClangFormat action (da7e365463)
- CONTRIBUTING.md link to ITK Software Guide Development Guidelines (5270f2d2d4)
- Add Citation section to README (d362bc036e)
- Request updates ITKBibliography.bib (f93f025304)
- Update copyright assignment to NumFOCUS (344e9bc58e)
- Add welcome message to CONTRIBUTING.md (f0dde80570)
- Update NOTICE and README.md copyright remarks (8577221dbe)
- .mailmap entry for ntustison@wustl.edu (d9e47489b7)
- Add .zenodo.json for author association (822d7e4af9)
- Suggest adding ORCID iD in CONTRIBUTING.md (22e42ba6b1)
Platform Fixes
- PYTHON_LIBRARY is missing for Windows configuration (539a4078c9)
- Quote Python3_LIBRARY argument (9cda7da8a2)
- Get Input const in CastSpatialObjectFilter (79cd3473ee)
- Exclude inconsistently failing Linux Python CI tests (76d1ca4c89)
- Add missing brackets to RelabelComponentsImageFilterGTest (808cd8ba30)
Bug Fixes
- Workaround Python3 CMake module bugs (9b4d33a97f)
- Address CastSpatialObjectFilter argument to itkTypeMacro (82c7474d16)
- Call itk.down_cast on ProcessObject outputs in functional call (cb2bec611f)
- Remove duplicate wrapping of itk.MeshEnums (8e02210d10)
- Remove Python 2 code from igenerator.py (2d2d4da0f4)
- Re-enable NumPy bridge tests in PythonExtrasTest (9600bf5b58)
- Use Python3_EXECUTABLE when specified (44e44acea0)
- Set Python3_EXECUTABLE on Windows (8fa1900cc2)
- Specify CMAKE_GENERATOR for Eigen external project build (b2d575c4ec)
- Add Python3 CMake module workarounds to ITKModuleExternal (07705bd0eb)
- Exclude Modules/Remote/CMakeLists.txt from remote module changes (5acb608c27)
Style Changes
- Updates for ImageIORegionGTest, DiscreteGaussianImageFilter (4634cb0490)
- Do not use id as variable in igenerator.py (8d9d0d9a72)
- Remove Python 2 compatibility code in site-packages detection (9899fe6edc)
Niels Dekker (3):
Style Changes
- Make RecursiveSeparableImageFilter MathEMAMAMAM/SMAMAMAM static (0e2569e422)
- Make RecursiveSeparableImageFilter (32d514b495)
- Locally use unique_ptr within RecursiveSeparableImageFilter (cb2c89d3a4)
Niklas Johansson (1):
Style Changes
- Remove unused import inspect (50eedeb822)
Pablo Hernandez-Cerdan (3):
Documentation Updates
- Update .zenodo.json (98cafa21ad)
Platform Fixes
- Use always find_package for Eigen3 (ae222e570b)
- Eigen (e3e53a510b)
Pradeep Garigipati (1):
Bug Fixes
- Remove debug console prints from GPU kernels (8561ca0e25)
Roman Grothausmann (1):
Enhancements
- updating remote module PolarTransform (1c9e9d31e1)
Sean McBride (2):
Platform Fixes
- reformulate a self-assignment to fix -Wself-assign-overloaded warning (271e37f5e1)
Bug Fixes
- fixed off-by-one error found by ASan (2a30b921ea)
Simon Rit (1):
Enhancements
- latest version of remote module RTK (81035432e3)
Stephen R. Aylward (5):
Enhancements
- Adding function to SOToImageFilter simplify output definition (#1531) (d6e79e8cf3)
- Adding ComposeScaleSkewVersor 3D Transform (#1539) (534c2719d0)
- Adding filter and wrapping for casting within SO hierarchy (#1576) (b8b70a2f6f)
Bug Fixes
- SetScale() and SetSkew() did not recompute offset (00609c2b88)
- itkMetaImageIO.cxx supports more MetaDataDictionary field types (9e76e340ac)
Taylor Braun-Jones (1):
Platform Fixes
- Fix unit tests for OpenCV 4 (5d1ba7f841)
VXL Maintainers (2):
Miscellaneous Changes
Vladimir S. FONOV (6):
Enhancements
- Updated script for Eigen third party update (06d395f4bb)
- Simplification of the ImageSeriesReader nonuniform sampling detection (8c5d9e9394)
- Changed NIFTI IO to support different flavors of Analyze readers (1b21b23987)
Documentation Updates
- updated ITK5MigrationGuide on Analyze format support (94769e0457)
Platform Fixes
- Fixes error "error (0452904517)
Bug Fixes
- fixes issue# 1498 (148ed133bc)
Ziv Yaniv (1):
Bug Fixes
- SetLabelForUndecidedPixels value ignored. (3d5698b310)
ITK Examples Changes Since v5.1rc01
Hans Johnson (20):
Enhancements
- Add .gitattributes to allow running ITK clang-formatting scripts (1ff7ec66)
- Make type sign match for comparison (b05bb000)
- Now require ITK 5.1 for examples. (339ad191)
- Increase minimum viable ITK version (bce41b30)
- Use same mailmap naming as ITK. (d6038f12)
- Suppress false warnings for CI (a04e6998)
- Prefer https vs http for ctest submission. (468ce747)
- Update for ITK 5.1rc02 (47337988)
Documentation Updates
- Update copyright assignment to NumFOCUS (993e910d)
- Indicate that CI for ITKExamples is different. (b6468841)
Platform Fixes
- Fix build failure of deprecated example (d44d59ae)
- Fix referenced ITK version to v5.1rc02 (fb41171b)
- Prefer ZeroValue() for RGB pixel types (fa7aa084)
Bug Fixes
- Incorrect function signature for override (abe96a4d)
Style Changes
- Remove redundant void argument lists (34ac8717)
- Make prototype match definition names (225db636)
- Prefer c++11 'using' to 'typedef' (6f1a8dae)
- Remove redundant void argument lists (4981c210)
- Prefer raw-string-literal over escapes (11a8f2de)
- Use auto for variable type matches the type of the initializer expression (4700ca1a)
Mathew Seng (1):
Enhancements
- Update enums from changes in ITK (e544261f)
Matt McCormick (2):
Enhancements
- Point GitSetup to ITK repository (baa4fbf1)
Bug Fixes
- Do not install pre-release Python packages in Superbuild (37f9df72)
ITK Software Guide Changes Since v5.1rc01
Hans Johnson (2):
Documentation Updates
- Add commentary about the coding style used. (9eeab2d)
Platform Fixes
- Exceptions should be caught by constant reference (86782f9)
Matt McCormick (3):
Enhancements
Documentation Updates
- Update history to ITK 5 (a2ab3e5)
Remote Module Changes Since v5.1rc01
Cuberille:
Davis Marc Vigneault (5):
Enhancements
- Save Adjacent Pixel Value as Cell Data (938e664)
Bug Fixes
- Use Direction When Computing Offsets (e6bb029)
- Prevent Non-Manifold Geometry (33f0598)
- Regenerate Hardcoded Array with CC Bugfix (026840c)
Style Changes
- Prefer std (a2af740)
Matt McCormick (1):
Enhancements
- Bump Python package version to 2.1.1 (71704e5)
IOScanco:
Matt McCormick (2):
Enhancements
Montage:
Dženan Zukić (7):
Enhancements
- update ITK version in CI testing infrastructure (fdaa88b)
- add a fake input data file to make the configurations valid (cb48757)
- do not force full parallelism (5896493)
Platform Fixes
- follow rename of ImageIOFactory FileModeType into FileModeEnum (952c6ce)
Bug Fixes
- ITK_USE_FFTW definitions were not propagated in external builds (06939f6)
- position of tile 0 was not subtracted for origin adjustment (bfe68e9)
Style Changes
- better formatting (c8e68a8)
haaput (1):
Bug Fixes
- fix AxisSize when final dimension is 1 (9e545f0)
tabish (1):
Enhancements
- add single-layer 3D test which currently crashes (d4420e5)
MorphologicalContourInterpolation:
Dženan Zukić (1):
Platform Fixes
- follow rename of ImageIOFactory FileModeType into FileModeEnum (a06e470)
PolarTransform:
Roman Grothausmann (1):
Platform Fixes
- replace itkExceptionObject.h with itkMacro.h (144d270)
RLEImage:
Dženan Zukić (3):
Enhancements
- run the big tests only if the test machine has 16GB or more (c3178a4)
Platform Fixes
- follow rename of ImageIOFactory FileModeType into FileModeEnum (1964f86)
Style Changes
- remove void keyword used instead of formal parameters (a7ed915)
RTK:
Antoine Robert (3):
Enhancements
- changed GenerateInputRequestedRegion method in Joseph attenuated to avoid code repetition (33aa7493)
- Add Zeng forward and back projectors to perform PSF correction (393228de)
- Wrapped Zeng projectors type (a1784552)
Aurélien Coussat (2):
Enhancements
- Iteration reporting for all iterative filters (1d7c42bb)
Platform Fixes
- Fixed unused variable 'caller' (7e292d94)
Hans Johnson (1):
Platform Fixes
- Future proof enumeration to integer implicit conversion (6208aad7)
Lucas Gandel (3):
Enhancements
- Wrap VECTOR_COMPONENTS 2;3;4;5 (529aea11)
- Wrap NumPy bridge for vector components 2;3;4;5 (751335ae)
- Azure pipelines script refactoring (090d8f18)
Matt McCormick (1):
Style Changes
- Remove semi-colons from Python example (50e614a1)
Simon Rit (10):
Enhancements
Documentation Updates
- mirrored ITK's doxygen configuration (f02de5c6)
Platform Fixes
- backward incompatible ITK change renaming FileModeType (8d213dfd)
- fix constness following 42bfdd5 (b5a199ca)
Bug Fixes
- fix wrapping for ITK_WRAP_double and unwrap itk (3bfd8400)
- number of buffered projections wrongly hard-coded (3fc00efa)
- option ITK_USE_CUDA cannot be tested, it is not defined (dfc063ec)
- remove unused code from ITKCudaCommon (45af4dd4)
- add clip planes before adding convex shape to Forbild phantom (ec79377b)
SCIFIO:
Matt McCormick (6):
Enhancements
- Add Azure Pipelines configuration (380fcb8)
- Update bundled JRE to Java 11 (bf08094)
- Bump bio-formats version to 6.3.0 (be3d99d)
Documentation Updates
- Add Azure Pipeline CI badge to README (f94866a)
Platform Fixes
- Avoid getenv with Visual Studio (983ba41)
Bug Fixes
- Remove Python packages from the testing configuration (4e1bd53)
TotalVariation:
Jean-Christophe Fillion-Robin (1):
Documentation Updates
- Fix maintainer list formatting in README (73f7f97)


