We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 3 is available for testing! ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.1 is a feature release that improves and extends the major ITK 5.0 release. ITK 5.1 includes a NumPy 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
- 2e2858b298 (2e2858b298)
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
- 451bb79a02 (451bb79a02)
LIBPNG Upstream (1):
Miscellaneous Changes
- 122d835224 (122d835224)
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
- 7e6f1ba1fb (7e6f1ba1fb)
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)