Recent Releases of itk
itk - ITK 5.4.4
We are pleased to announce the release of ITK 5.4.4, a maintenance update delivering critical improvements while maintaining API stability. This is latest maintenance update for this cross-platform, open-source toolkit supporting N-dimensional scientific image analysis with spatially-aware algorithms. 🎉 🍻 🥳
🔦 Highlights
- Bug Fixes:
- Fixed GDCM JPEG2000 structure cleanup to prevent crashes on malformed files
- Corrected TIFFImageIO reuse behavior
- Documentation:
- Updated documentation on Doxygen shared groups
- Spelling corrections in the ITK Software Guide
- Platform Support:
- Added GraalPy compatibility
- Improved NumPy dtype handling for Python interoperability
- Following CPython's deprecation schedule, ITK now provides packages for Python 3.9 or later.
- Remote Modules:
- Updated
Montage,MorphologicalContourInterpolationandWebAssemblyInterfacemodules
- Updated
💾 Download
Python Packages
Install ITK Python packages with:
bash
pip install itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
🙏 Acknowledgments
Thank you to contributors Albert, Ariouz, Bradley Lowekamp, Dženan Zukić, Hans Johnson, Jakub Klinkovský, Matthew McCormick, Mihail Isakov, Tom Birdsong, and the ITK community for their code, testing, and documentation efforts.
🗣️ What's Next
ITK 6.0 Beta 1 Preparation The community is finalizing ITK 6.0 Beta 1, featuring:
- Architectural upgrades for contemporary C++ development
- Enhanced template metaprogramming capabilities
- Code modernization for improved readability and maintainability
5.4 Maintenance Commitment
We remain dedicated to supporting current users through:
- Regular security and regression patches
- Critical bug resolution
- Platform compatibility updates
Enjoy ITK!
ITK Changes Since v5.4.3
Ariouz (1):
Enhancements
- Add Graalpy Support (2aaa346313)
Bradley Lowekamp (3):
Enhancements
- Add test for bug related reusing TIFFImageIO (f18535d50d)
Bug Fixes
- GDCM destroy JPEG2000 structures on error (95a64b8890)
- Fix reusing TIFFImageIO (231163bc50)
Dženan Zukić (2):
Enhancements
- Update Montage remote module mostly to fix warnings (6511d8f615)
- Update MorphologicalContourInterpolation module to fix warnings (8abb11e885)
Hans Johnson (2):
Platform Fixes
- Improve path management for python package install (bd779399a1)
Bug Fixes
- Python version mis-match during build and test (d1867dd78f)
Jakub Klinkovský (1):
Platform Fixes
- Include needed cstdint header (9c87ac96d1)
Matthew McCormick (7):
Enhancements
- Update WebAssemblyInterface remote to 2025-05-28 (37202e7ad9)
- Bump ITK version to 5.4.4 (f98d5fac5e)
Documentation Updates
- Add ITK 5.4.3 release notes (03256a58a0)
- Update download page links for ITK 5.4.3 (b366d5e1d9)
Platform Fixes
- Update Linux CI images to ubuntu-22.04 (89ed425e0f)
- Update Azure CI ExternalDataVersion to 5.4.3 (31085ff8cb)
- Identify numpy bool attr as bool instead of bool8 (55a3a6f18f)
Mihail Isakov (1):
Bug Fixes
- fix GDCM crash due to malformed file (1a241567d8)
Tom Birdsong (1):
Bug Fixes
- Use NumPy dtypes for type mapping (bfe0e80d98)
ITK Software Guide Changes Since v5.4.3
Matthew McCormick (1):
Enhancements
- Bump ITK to v5.4.4 (4a1b625)
albert-github (2):
Documentation Updates
- Spelling corrections (5849c78)
- Grouping shared documentation (5ea45e3)
- Fix PDF file properties in Book 2 (b46a83f)
Remote Module Changes Since v5.4.3
Montage:
Dženan Zukić (4):
Enhancements
- Support nearest neighbor interpolator for montaging label maps (d71031e)
Platform Fixes
- Get ITKUSEFLOATSPACEPRECISION=ON to compile again (3f92cee)
- Fix MacOS Python packages (9da9118)
- Use correct and consistent version numbers for all ITK components (df0acae)
Hans Johnson (7):
Enhancements
- Update to support the clang-format-linter CI (dffbbf5)
- Use latest actions, do not pin to latest version (2bcebff)
- Use tag v5.4.2 for the build packages tags (07ff68f)
- Update pyproject.toml for ITK 5.4.2 (1a079c4)
Style Changes
- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (4d35307)
- CoordRepType -> CoordinateType code readability (b81b523)
- Update to match clang-format-19 from ITK (38ffd5a)
Matt McCormick (1):
Enhancements
- Upgrade CI for ITK 5.4.0 (9027e04)
MorphologicalContourInterpolation:
Hans Johnson (4):
Enhancements
- Update to support the clang-format-linter CI (41e2c99)
Platform Fixes
- Use modern macro for name of class (eb91db4)
Style Changes
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Remove unused variable and commented code block (e0267a9)
- Add
RLEImageas an ITK module dependency to GHA workflow file (40774af)
Matt McCormick (7):
Enhancements
Documentation Updates
- Fix README links for repository name change (a0af585)
- Remove README.rst (b4b9dbb)
- Remove Android from pyproject.toml (5611abe)
- Add Matt McCormick to Python package authors (093cf40)
Style Changes
- Update to latest ITK clang-format style (cf52e78)
Matthew McCormick (1):
Platform Fixes
- Wasm updates for ITK 5.4.2 (60c3d35)
WebAssemblyInterface:
Hans Johnson (7):
Enhancements
- Use tag v5.4.2 for the build packages tags (bfabf216)
Miscellaneous Changes
- style(itk-wasm): Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (626feddf)
- style(itk-wasm): Rename ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE (24670844)
- style(itk-wasm): CoordRepType -> CoordinateType code readability (65e76231)
- style(itk-wasm): Update to match clang-format-19 from ITK (d29e3b10)
- ci(itk-wasm): Update workflow package dependancy versions. (e2de545b)
- feat: Update pyproject.toml for ITK 5.4.2 (0aae9ba0)
Ken Goettler (1):
Miscellaneous Changes
- fix(include): avoid segfault when calculating totalSize (7fe1b185)
Kurt McKee (1):
Miscellaneous Changes
- ci: Add a Dependabot config to auto-update GitHub action versions (34417bb3)
Laurent Chauvin (1):
Miscellaneous Changes
- fix(image-io): use 'mnc' for minc extension (31a5ff48)
Matt McCormick (725):
Enhancements
- Add OpenSSF Scorecard action (03c912e5)
- build: bump to dockcross 20240418-88c04a4 (157a496d)
- feat(itk-wasm-cli): Update default Docker image for 20240501-4d931706 (b9189928)
- chore(downsample): bump js_package.py (eb8251f9)
- ci: remove tool-cache for documentation build (6c70e2b5)
- chore: update downsample demo-app index.html (70cdb194)
- build(compare-meshes): update @itk-wasm/app dep (4c74266c)
- build(pnpm): bump to version 9.1.0 (bf8f65e6)
- ci(pnpm): bump action-setup to v4 (1a0118be)
- build(commitlint): run from package.json (d3bc1163)
- build(wasi): remove cmakeminimumrequired from wasi toolchain file (7e0d0a99)
- feat: bump ITK to 2024-05-05 master (305a053e)
- build(docker): avoid git clones (cca6c553)
- test(dicom): disable apply-presentation-state-to-image for color images (972515d1)
- docs(dicom): update python wasi testing instructions (2b4a1eb2)
- build: update wasi and js_package.py artifacts (2ed2dfe1)
- feat(itk-wasm-cli): Update default Docker image for 20240516-1a13e4ae (8add6829)
- test(compare-images): update total, mean difference expected (d21f43c0)
- refactor(emscripten): update ascii module APIs to UTF8 versions (32a1ffd9)
- feat(itk-wasm-cli): Update default Docker image for 20240517-32a1ffd9 (c5e36acc)
- docs: update logo (8a3050e8)
- ci(dicom): avoid macos-14 dicom chrome python wasm flake (a6026789)
- fix(bindgen): remove packageManager version from template.package.json (da400e3d)
- chore: bump itk-wasm version to 1.0.0-b.174 (0e11d581)
- chore: bump itk-wasm version.ts for 1.0.0-b.174 (332db54c)
- chore(mesh-io): bump version to 1.2.0 (c865b4e1)
- chore(image-io): bump version to 1.2.0 (d660f566)
- chore(compare-images): bump version to 5.1.1 (1bf034b9)
- chore(compare-meshes): bump version to 0.3.0 (cb0118d9)
- fix(demo-app): vendor shoelace assets (f74280d8)
- chore(compress-stringify): bump version to 3.2.0 (fd8a8745)
- chore(dicom): bump version to 7.0.0 (3c52104e)
- chore(downsample): bump version to 1.3.0 (cca89ddc)
- style(itk-wasm): update version.ts (2e01e302)
- build(demo-app): provide build:tsc stub (8cadb0aa)
- ci(itk-wasm): build demo-app for browser tests (d4267fcc)
- build(pnpm): bump version to 9.1.1 (65710714)
- feat(python): support ITKWASMCACHEDIR for cache directory (f05fe5db)
- feat(python): add Image bufferedRegion (ea18da82)
- style(python): run black on itkwasm (e9672a84)
- chore(python): bump itkwasm version to 1.0b175 (dc4b8a78)
- build(pnpm): bump version to 9.1.2 (c94d500f)
- ci(python): skip flaky macos-14 chrome testing (cc55528c)
- test(pyodide): bump version to 0.25.1 (49990a3d)
- build(docker): bump ITK to v5.4.0 (17db8b0b)
- feat(itk-wasm-cli): Update default Docker image for 20240521-17db8b0b (ef9924bf)
- chore(create-itk-wasm): bump itk-wasm version to 1.0.0-b.175 (e0fd3e6f)
- style(create-itk-wasm): obtainedReponse -> obtainedResponse (5b64e4ca)
- fix(create-itk-wasm): input project description must not be empty (dbb30c31)
- fix(create-itk-wasm): support dispatch on parameters (44fc029f)
- chore(create-itk-wasm): bump version to 1.1.0 (e2c91963)
- chore(python): update native package for ITK 5.4.0 (f37d3218)
- chore: bump pnpm to 9.1.4 (a762797e)
- docs: add LinkML Model to Myst toctree (1971a4fb)
- ci(python): test Python 3.12 (04779d51)
- docs(typescript): fix interface types module link (64d8b8e2)
- fix(run-pipeline-node): update args with mounted path on Windows (fbb937e9)
- style(run-pipeline-node): apply prettier (8931ce94)
- chore(itk-wasm): bump version to 1.0.0-b.176 (7302aaf7)
- chore(mesh-io): bump version to 1.2.1 (1a21d301)
- chore(image-io): bump version to 1.2.1 (6bcefb34)
- chore(dicom): bump version to 7.0.1 (8c0d7e56)
- feat(cxx): bump C++ standard to 20 (2f631377)
- feat(cxx): fetch glaze (bf27fa7e)
- chore: bump artifacts for C++20 standard (0b9f7a99)
- build(CMake): reduce required version to 3.24.2 (3926bf46)
- build(cmake): add glaze to FetchContent_MakeAvailable (0b83f08b)
- feat(itk-wasm-cli): Update default Docker image for 20240605-0b83f08b (63e3588f)
- chore(wasi): update package binaries (4edc2d9c)
- chore(pnpm): bump version to 9.2.0 (a8b12b8d)
- chore: bump cypress, ava, start-server-and-test to latest (e62c6246)
- docs: naming consistency itk-wasm -> ITK-Wasm (39abccc1)
- chore: bump pnpm to 9.4.0 (b8a5f944)
- ci: avoid duplicate builds on push, pull_request (fbed11e5)
- ci: use unique matrix-based name for cypress screenshots, videos (d34b996b)
- feat(itk-wasm-cli): Update default Docker image for 20240624-b89bcb6c (86b16877)
- docs: add TransformList, Transform LinkML model (9c20e491)
- refactor: remove old module IO CMake code (3469000f)
- feat: add itk::WasmTransformIOFactory (fdcef100)
- feat: itk::WasmTransformIO initial addition (cdd70edc)
- feat(WasmTransformIO): support Composite transforms (7c608e5e)
- ci: Do not build macos-12 in CI (a4f6b49a)
- feat(TransformJSON): specify initializers (e3b37ef9)
- fix: use initialization with braces in itkTransformJSONTest (0c940294)
- feat: bump glaze to 2.9.3 (e18ac542)
- build: use XCode 15.3 for std::hashstd::filesystem::path (81f3a7dd)
- build: add itkFloatTypesJSON.h to KWStyle namespace disable (f9c4441d)
- build: do not build manylinux2014 native binary wheels (0e819119)
- build(glaze): add flags required for MSVC (757c0256)
- build: check the result of glz::write in itkWasmTransformIO (58a0303f)
- ci: disable native python build workflow (3005861d)
- chore: bump cli11 to v2.4.2 (e98b4453)
- build: bump rang cmakeminimumrequired to 3.16.3 (41b5a62b)
- ci: bump ITK native build version to release-5.4 HEAD (695b24d5)
- feat: wasm transform interface classes (03b5cd61)
- feat: add itk::wasm::InputTransform (c7d66764)
- feat: add itk::wasm::OutputTransform (669928ac)
- refactor(WasmMeshToMeshFilter): use glaze (d81379d7)
- refactor(mesh): rapidjson to glaze (e0cf293f)
- refactor(polydata): rapidjson to glaze (079acfef)
- refactor(SupportInputMeshTypes): rapidjson to glaze (4fd25144)
- refactor(SupportInputPolyDataTypes): rapidjson to glaze (df7e98da)
- refactor(Image): rapidjson to glaze (bf694dd6)
- refactor(Pipeline): rapidjson to glaze (3fc591cf)
- refactor(SupportInputImageTypes): rapidjson to glaze (ebf267a7)
- refactor(WasmStringStream): rapidjson to glaze (7b4f2455)
- fix(InterfaceTypes): consistent default name (17bca176)
- ci: update docs basePath for ITK-Wasm repo rename (88ef85b3)
- build: use upstream glaze (0109e809)
- feat(itk-wasm-cli): Update default Docker image for 20240708-0109e809 (56778b64)
- build: bump zstd to v1.5.6 (bd6dedaf)
- style(WasmMeshIO): remove duplicate header include (520a4ddb)
- build(WebAssemblyInterace): suppress std::wstring_convert deprecation warning (525f9b5a)
- refactor(WasmZstdMeshIO): use WasmIOCommon openFileForReading (7af7f33a)
- style: prettify run-pipeline-emscripten.ts, run-pipeline-node-test.ts (ea01a58a)
- fix(run-pipeline-emscripten): do not stringify metadata twice (a6e6956c)
- build(apply-presentation-state-to-image): backport rapidjson getArrayJson (c82bfba5)
- feat(itk-wasm-cli): Update default Docker image for 20240709-c82bfba5 (2a6bd85c)
- build(cmake): target compile option call (33f05c46)
- fix(jsonFromIOComponentEnum): default to uint8 for unknown (ebf7fa3a)
- fix(WasmImageIO): do not read file in SetJSON (15204ac3)
- feat(itk-wasm-cli): Update default Docker image for 20240712-15204ac3 (b48477e4)
- fix(ImageToWasmImageFilter): remove debug code (daa6deea)
- feat(itk-wasm-cli): Update default Docker image for 20240712-daa6deea (3215f037)
- test(readwritemesh): update expected component type (e25592f3)
- docs: update ITKContourInterpolation links for new repo name (0e65448b)
- fix(jsonFromIOComponentEnum): add missing LONG and ULONG entries (c8dabc4b)
- feat(itk-wasm-cli): Update default Docker image for 20240714-c8dabc4b (052e0d6d)
- docs: update packages links for GitHub Org rename (baa269db)
- style(run-pipeline-node-test): prettier (bef24c01)
- chore(itk-wasm): bump typescript package to 1.0.0-b.177 (ae06b8d4)
- fix(OutputImage): dataSize needs components per pixel (6891d4df)
- feat(itk-wasm-cli): Update default Docker image for 20240717-6891d4df (4feee162)
- style: Specify ReadTheDocs custom domain name (05cc8286)
- feat(Mesh,PolyData): add metadata member in C++ (a8fdda06)
- feat(cxx): add bufferedRegion to ImageJSON (46551e76)
- feat(PointSet): initial C++ addition (65ad0832)
- chore: bump pnpm to 9.6.0 (d062945c)
- feat(transform-io): package C++ addition (6cc25768)
- refactor: move IOBase classes to io packages (c0452f97)
- feat(itk-wasm-cli): Update default Docker image for 20240802-222f4fea (19324540)
- build: address libminc wasi undefined symbols (2cb7a687)
- feat(itk-wasm-cli): Update default Docker image for 20240803-2cb7a687 (486f7cab)
- fix(read-transform): do not set required until after pre-parse (922d0005)
- feat(transform): add metadata and sort transform parameterizations (4a476e47)
- feat(transform): define interface type to typescript, python mapping (d47a921c)
- feat(python): add Transform interface type (29445beb)
- chore(python): bump package version to 1.0b177 (d91abe65)
- chore(transform-io): add build directories to .gitignore (3f461e68)
- feat(itk-wasm-cli): Update default Docker image for 20240807-3f461e68 (f8dcb3ec)
- feat(InterfaceTypes): add Transform (98208aaa)
- build(transform-io): use workspace packages in package.json (cd9a4bb4)
- chore(transform-io): add typescript sources (3de893c6)
- feat(transform): add type to typescript inputs, outputs (c19b0f8d)
- test(transform): disable typescript exit 1 for now (97a29808)
- feat(itk-wasm-cli): Update default Docker image for 20240808-97f8da68 (133ac2a8)
- fix(WasmImageToImageFilter): correct totalSize computation (00d714cf)
- feat(itk-wasm-cli): Update default Docker image for 20240808-00d714cf (d2dd7d11)
- fix(WasmImageToImageFilter): set default bufferedRegion (4e9a4bf0)
- feat(itk-wasm-cli): Update default Docker image for 20240810-4e9a4bf0 (40764f70)
- fix(Python): add missing metadata members to Mesh, PointSet (a74f506d)
- chore(Python): bump itkwasm version to 1.0b178 (e5d17e29)
- build(index-worker-embedded): specify pipelineWorker type (27191947)
- chore(itk-wasm): bump package version to 1.0.0-b.178 (e2295f98)
- chore: update build artifacts (f6fe5384)
- docs(compare-images): update GitHub pages for ITK-Wasm repo name change (c83699e4)
- chore(compare-images): bump version to 5.2.0 (dff207a1)
- chore(compare-meshes): bump version to 0.4.0 (6b31a5d6)
- docs(compress-stringify): update GitHub pages for ITK-Wasm repo name change (12f42c0e)
- chore(compress-stringify): bump version to 3.3.0 (eb07cdf9)
- feat(create-itk-wasm): bump itk-wasm to 1.0.0-b.178 (d03dfa8b)
- chore(create-itk-wasm): bump version to 1.2.0 (c823a6b3)
- docs(dicom): update GitHub pages for ITK-Wasm repo name change (00fc12d2)
- chore(dicom): bump version to 7.1.0 (abd35f8c)
- docs(downsample): update GitHub pages for ITK-Wasm repo name change (75cd4b10)
- chore(downsample): bump version to 1.4.0 (4823608b)
- docs(image-io): update GitHub pages for ITK-Wasm repo name change (bdc61bd8)
- chore(image-io): bump version to 1.3.0 (7a97f791)
- docs(mesh-io): update GitHub pages for ITK-Wasm repo name change (5e57a3f4)
- chore(mesh-io): bump version to 1.3.0 (2e0cda67)
- docs(image-io): correct new names for deprecated functions (afc54708)
- docs(mesh-io): correct new names for deprecated functions (b37fae6c)
- build(pixi): native ITK build configuration (2c15b2c1)
- build(pixi): native ITK-Wasm config (cd7c4a7f)
- build(pixi): dicom configuration (8e3d5b4d)
- build(pixi): add mesh-io native configuration (48b40439)
- docs(native): describe how to build and test with pixi (81609472)
- build(pixi): extend supported platforms (50a8c8e8)
- feat(itk-wasm-cli): Update default Docker image for 20240822-c390b350 (cc510036)
- test(mesh-io): update expected pointPixelComponentType (26845931)
- fix(dicom): add missing index-node-only module contents (8368092c)
- test(dicom): add back read-image-dicom-file-series to demo app (432f780e)
- test(dicom): disable flakey writeSegmentation assertion (a14197e2)
- test(dicom): disable WASI CLI tests (4317d21e)
- chore(dicom): bump package version to 7.2.0 (eac11ce5)
- ci(python-wasm): disable dicom tests (3f8c02e5)
- chore(native): bump ITK, DCMTK to match Docker (d845fa15)
- build(native): add patch to fix ITKTotalVariation build on Linux (859414a1)
- build: re-use ITK, DCMTK source locations in native, docker builds (90b6e672)
- ci(toolchains): pixi run export-itk-wasm-env-vars (6d25c4a9)
- build(native): update MSVC flags (f81d1deb)
- build(docker): generate the new tag in itkwasmenv.bash (47208cc4)
- build(debugging-example): use latest docker images (51204e45)
- test(core): use latest docker images (3feead66)
- build(transform-io): fix docker image sppecification (e57d1535)
- build(pnpm-script): fetch docker image from config for bindgen scripts (81ca381d)
- build(examples): use latest docker images (9f97bbb4)
- test(core): use latest docker images (3e13f8ba)
- build(ITKWebAssemblyInterface.cmake): disable find_package OpenMP (1a89d0e6)
- feat(itk-wasm-cli): Update default Docker image for 20240825-1a89d0e6 (45426c1e)
- chore(dicom): update js_package.py (8cfcbd65)
- docs(docker): update release images build steps (ca5c12dc)
- ci: disable firefox tests (14413be0)
- fix(dicom): fix handling of input images in readimagedicomfileseries (b9ace107)
- build(dicom): using QIICR dcmqi 2024-08-28 master (6cc06ace)
- docs(dicom): add acknowledgments to package documentation (5e7ed78c)
- chore(dicom): update wasi segmentation modules (8c608c30)
- chore(dicom): bump version to 7.2.1 (9c7a6cfd)
- docs(downsample): fix live API demo link (d619fe8e)
- chore(demo-app): bump dependency versions (a3bd7f58)
- fix(downsample): load sample input image into viewer in demo app (87076071)
- chore(downsample): bump version to 1.4.1 (56cd8230)
- chore(downsample): bump package version to 1.4.2 (397cb7b8)
- chore(dicom): bump version to 7.2.2 (a88b3a08)
- docs: add Acknowledgments to Python online docs (29ecddd3)
- docs: update email to matt@mmmccormick.com (f1159034)
- build(compare-images): add native pixi build-test configuration (e520a0de)
- feat(typescript): add PointSet interface type support (2c00366a)
- ci(native): add CI configuration (0269821a)
- build(compare-meshes): add native pixi build-test configuration (918713eb)
- build(compress-stringify): add native pixi build-test configuration (a2681ec3)
- feat: improve mesh-io order (9c75e010)
- feat(mesh-io): add read-point-set write-point-set pipelines (bfbc2616)
- feat(typescript): add PointSet pipeline input output support (5fdb454c)
- test(mesh-io): add obj-point-set-test (462f263f)
- docs(docker): RELEASE tweak (b705fd46)
- feat(itk-wasm-cli): Update default Docker image for 20240923-b705fd46 (713b5330)
- build(downsample): add native pixi build-test configuration (787c8e04)
- ci(native): add ref to setup-pixi (b4e312c8)
- ci(native): add checkout step (be650a09)
- docs(itk-python): example of file format conversion via wasm io packages (c1bff618)
- ci(python-wasm): fix pyodide install-browser version (0161812e)
- chore: update generated ts files for refactoring (9d53f733)
- feat(itk-wasm-cli): Update default Docker image for 20240930-9d53f733 (dec93cd3)
- fix(OutputPointSetIO): use WasmPointSetIOBase (36d38bfd)
- feat(itk-wasm-cli): Update default Docker image for 20241001-36d38bfd (462c1aba)
- test(mesh-io): exercise node write-point-set (4cd157a9)
- test(mesh-io): add read-point-set-node-test (4bdae4d7)
- test(mesh-io): add write-point-set-node-test (b786dfdb)
- test(mesh-io): browser readPointSet writePointSet (06b188ee)
- docs(mesh-io): add point set functions to typescript docs (04c79b00)
- test(mesh-io): python read and write point set wasi tests (fd4d5feb)
- chore(typescript): bump itk-wasm package version to 1.0.0-b.179 (69261bc1)
- test(python): add pyodide-py to hatch test environment deps (06d95050)
- chore(python): bumpy itkwasm pyodide test version to 0.26.2 (e6985795)
- chore(python): bump Python package version to 1.0b179 (f74e35ef)
- chore(mesh-io): bump TypeScript package to 1.4.0 (04c5c5dd)
- chore(mesh-io): bump Python packages to 1.4.0 (4061f50c)
- test(mesh-io): add testreadwritepointset_async (1e02d531)
- chore(mesh-io): bump version to 1.4.1 (c41eea9f)
- build(compress-stringify): use pixi for python wasm (5b225876)
- build(compress-stringify): test python with pixi (3d6df1e4)
- ci(python-wasm): add setup-pixi step (3639b4b4)
- chore(pnpm): update lockfile (7cd34c5f)
- build(pnpm-script): run without existing environment.yml (38426274)
- build(compress-stringify): build:gen:python without micromamba (4e30ba3f)
- build(compress-stringify): no build:python:wasi required with pixi (4043ef5a)
- build(compress-stringify): add pnpm to pixi (4bc57341)
- build(compress-stringify): extend supported pixi platforms (8e72187a)
- build(compare-images): add python pixi configuration (29e54983)
- chore(compare-images): bump version to 5.2.1 (dd47b676)
- build(compare-images): add pixi publish tasks (fe45467c)
- build(compare-images): remove invalid python publish scripts (51982f26)
- chore(compra-images): bump version to 5.2.2 (1c45d5a5)
- build(compare-images): download test data before python tests (935cb9da)
- fix(pnpm-script): always build typescript for build:gen:typescript (c51cce22)
- chore(compare-images): bump version in 5.2.3 (d63da801)
- build(compress-stringify): add version-sync and publish scripts (ee3fcafe)
- chore(compress-stringify): bump version to 3.3.1 (cc26adb7)
- build(compress-stringify): add .npmrc (4e7bcc26)
- build(compare-meshes): add pixi python configuration (649ef6b3)
- chore(compare-meshes): bump version to 0.4.1 (dfcd4cad)
- build(dicom): add pixi python configuration (5b2332f7)
- chore(dicom): bump version to 7.2.3 (3752ab79)
- build(downsample): add pixi configuration (eb454254)
- chore(downsample): bump version to 1.4.3 (6b196b50)
- build(image-io): add pixi configuration (2d2a5b88)
- chore(image-io): bump version to 1.3.1 (516760cf)
- build(mesh-io): add pixi configuration (37068a17)
- chore(mesh-io): bump version to 1.4.2 (580ec0bd)
- build(transform-io): add pixi configuration (ea082074)
- chore(transform-io): bump version to 0.1.1 (d45381bb)
- ci(javascript): build @itk-wasm/demo-app prior to build:gen:typescript (6062f750)
- ci(cypress): build @itk-wasm/demo-app for testing itk-wasm (899f5eed)
- build(downsample): add missing @itk-wasm/image-io-build dep (70807ed3)
- ci(node.json): build deps in build:gen:typescript step (0a137a04)
- build(dicom): add missing compare-images-build dev dep (d094a34a)
- docs(development): note pixi requirement (b1aa4507)
- build(downsample): add missing compare-images-build dev dep (542cbeef)
- build(javascript): remove packageManager specification (390c65ff)
- build(python): remove hatch env specifications (0285dcc7)
- feat(itk-wasm-cli): Update default Docker image for 20241030-6c93a1be (f62fdfd8)
- chore(pixi): bump lock files for new python dep packages (4d52a102)
- test(compare-meshes): add missing cow.iwm.cbor input file (49551511)
- build: add pixi build and test targets (8a13f20b)
- chore(compress-stringify): bump js_package.py (7fc138ff)
- build(transform-io): add pixi native build and test config (a16e5fb4)
- chore(transform-io): update pixi.lock (d47d1e08)
- chore(transform-io): add generated python (397634d5)
- fix(OutputTransformIO): must call Read() with memory-io (4d5b0e97)
- test(core): add transform-read-write-pipeline (4466da60)
- test(core): add transform-type-test.js (809fade1)
- test(core): add node transform-test.js (d23613da)
- test(transform-io): add node tests (b6810af1)
- chore(transform-io): update generated bindings (53b18ede)
- feat(itk-wasm-cli): Update default Docker image for 20241107-53b18ede (a9c32d0e)
- fix(OutputTransformIO): assign TransformListJSON for later retrieval (02a3e579)
- test(transform-io): additional node tests (7a80dc86)
- ci(node): test transform-io package (c02cd856)
- feat(transform-io): add read-transform-node (ded6ed8b)
- test(transform-io): add read-transform-node-test (9dc2cdea)
- test(node): add format write tests (c5438d5c)
- feat(transform-io): add writeTransformNode (d4fcf16c)
- feat(itk-wasm-cli): Update default Docker image for 20241111-d4fcf16c (27c236e3)
- test(compare-meshes): add missing cow.iwm.cbor test input (633724de)
- feat(transform-io): add readTransform, writeTransform (bd85af50)
- ci(cypress): test transform-io (b211f1e8)
- chore(bindgen): bump @itk-wasm/image-io, @itk-wasm/mesh-io (b4d6bc49)
- feat(bindgen): add @itk-wasm/transform-io dep (e75fff5c)
- test(itk-wasm): add transform-io for test pipelines (9fa29247)
- feat(itkwasm): add Python pixi configuration (2fb81e03)
- feat(itkwasm): add Python TransformList type (817aac5e)
- chore(itkwasm): bump version to 1.0b180 (f5e526ba)
- build(itkwasm): clear dist/ before publish (118b3b33)
- build(itkwasm): add more pixi platforms (32fff017)
- build(transform-io): update itkwasm dep to 1.0b180 (6200c8ee)
- feat(create-itk-wasm): add generate pixi.toml (581b1465)
- chore(typescript): bump itk-wasm package version to 1.0.0-b.180 (65c231ea)
- build(pnpm-script): only call build:micromamba if env file exists (a0873b00)
- feat(create-itk-wasm): from environment.yml to pixi.toml (753f760b)
- fix(itkwasm): dask is only a testing dependency (d630f1ce)
- chore(itkwasm): bump version to 1.0b183 (db91709f)
- feat(itkwasm): pyodide support for Transform (4d20cc8f)
- chore(itkwasm): bump version to 1.0b185 (b2ad9225)
- feat(transform-io): emscripten readtransformasync, writetransformasync (395beb72)
- feat(transform-io): dispatch read and write functions (0d7641c4)
- ci(python-wasm): add transform-io (f9be4008)
- build(transform-io): update pyproject.toml from license to license-expression (cbe3dc07)
- build(transform-io): add dist/ folders to .gitignore (e72fc662)
- chore(create-itk-wasm): bump itkwasm dep to 1.0b185 (9857f85a)
- chore(create-itk-wasm): bump version to 2.0.0 (04e9f8de)
- build(create-itk-wasm): add native/ to .gitignore (56a8689e)
- build(pyproject.toml): replace license with license-expression (b5f09f14)
- docs(hacking-itk-wasm): run pull.sh script in quickstart (23b0c54b)
- build(docker): use fully qualified images for monorepo package builds (2bf07695)
- build(pixi): fix transform-io test data reference path (00b24ef0)
- ci(cypress): pull development docker containers (4767f6f7)
- ci(cxx-python): fix commit reference (a3638d71)
- feat(bindgen): support string choices (d1e44267)
- chore(itk-wasm): bump version to 1.0.0-b.183 (ce5fa5d4)
- chore(bindgen): bump itk-wasm to 1.0.0-b.183 (1aff94ee)
- fix(bindgen): ident level for wasi string choice param check (92d15c7d)
- chore: bump itk-wasm to 1.0.0-b.184 (d2e739f6)
- ci(python-wasm): bump pyodide-actions/install-browser to latest (d6d78c3f)
- ci(python-wasm): test pyodide with python > 3.11 (de8f11bf)
- ci(python-wasm): only test pyodide on ubuntu-22.04 (81090e0f)
- feat(pull.sh): tag images as localhost after pulling (53b191ee)
- ci(examples): bump node-version to 22 (1d78755e)
- ci(examples): pull docker images (a5f6e6ab)
- build(docker): use quay.io as repository name (40d6095a)
- ci(python-wasm): bump pyodide-version to 0.26.3 (edf1efd0)
- ci(python-wasm): bump node-version to 22 (a85fd772)
- feat(mesh-filters): geogram conversion test pipeline (1e274d79)
- feat(WasmMeshToMeshFilter): add QuadEdgeMesh specialization (11db76c5)
- feat(MeshToWasmMeshFilter): add QuadEdgeMesh specialization (04c33be0)
- feat(mesh-filters): start meshtoGeogramMesh (855a6ea5)
- feat(meshToGeogramMesh): transfer point data, cell data (b734fa89)
- feat(mesh-filters): geogramMeshToMesh (40b286fb)
- feat(mesh-filters): add repair pipeline (09227284)
- feat(mesh-filters): add smooth-remesh (47e1ca5f)
- fix(WasmMeshToMeshFilter): add PolyLine cell support (f5a2063e)
- feat(mesh-filters): add slice-mesh pipeline (6c1da13e)
- feat(mesh-filters): add keep-largest-component (20ee7ecf)
- test(mesh-filters): update test data (910a0d94)
- docs(options-module): indicate unexpected parameter type error source (8b1a4b74)
- fix(pnpm-script): quote packageDescription (dcf1f0fb)
- build(mesh-filters): contrain geogram build (4ecff1bf)
- build(mesh-filters): fix wasi OFF module dependency (15ca8ca1)
- fix(mesh-filters): update geogram-conversion pipeline name (e1473679)
- build(mesh-filters): wasi patches for pmp, geogram (5ece2ed5)
- fix(mesh-filters): use add_flag in repair for boolean option (46d84891)
- WIP: test(mesh-filters): add node tests (a1c7e49c)
- test(mesh-filters): add node tests (80d13dde)
- feat(compare-meshes): support more pixel types (93abe226)
- chore(compare-meshes): bump version to 0.5.0 (645a1ea7)
- chore(compare-meshes): update pixi.lock (a010c8d5)
- feat(mesh-filters): support more pixel types (5eae02f0)
- test(mesh-filters): update test data (163a1f91)
- chore(mesh-filters): bump version to 0.2.0 (53eb1933)
- build(docker): enable the IOMeshMZ3 remote module (94c52207)
- feat(itk-wasm-cli): Update default Docker image for 20241203-bb28d61f (2c4e3f93)
- feat(mesh-io): Add C++ MZ3 IO and tests (b5c57616)
- chore(mesh-io): add mz3 typescript generated bindings (f40f11e1)
- feat(mesh-io): node MZ3 support (11fcdf82)
- feat(mesh-io): mz3 browser support (968322e2)
- feat(mesh-io): python wasi mz3 support (a4d3866d)
- chore(mesh-io): bump package version to 1.5.0 (47e00524)
- feat(mesh-io): python mz3 emscripten support (53dd7fa2)
- feat(mesh-io): python dispatch mz3 support (19db749e)
- chore(mesh-io): add generated python tests (1207acf5)
- docs(mesh-io): update supported python versions (cc9b25c1)
- chore(mesh-io): add generated python emscripten tests (1e5e9f46)
- docs(mesh-io): fix publish task description (e8114221)
- docs(python): upgrade package development status from Alpha to Beta (73af34c4)
- feat(itk-wasm-cli): Update default Docker image (2d90f494)
- test(mesh-io): add input .mz3 test datasets (a8246ab1)
- ci(python-wasm): build python wasi for all packages (a7958f39)
- build(dicom): ensure dcmqi finds pixi's Python (533ec463)
- test(mesh-io): add baseline mz3 meshes (e257991f)
- fix(bindgen): fix indentation for wasi choice check (41c7775c)
- build(docker): bump dockcross to 20241227-d0e5a43 (7eff9fbd)
- feat(itk-wasm-cli): Update default Docker image for 20241227-7eff9fbd (33cfa7ee)
- chore: update build artifacts (8c1164cf)
- test(image-io): add generated python tests (b1792fbf)
- chore(pixi): bump pnpm version (986ed91a)
- chore: add python tests/ generated dirs to .gitignore (3176de7e)
- build(docker): pre-touch symbol_lists.lock (3e17f46c)
- build(docker): support native host multi-arch builds (e70e05da)
- feat(itk-wasm-cli): Update default Docker image for 20241230-e70e05da (80c0d1b0)
- build(docker): fix emscripten detection (52997e55)
- docs(docker): push with --push-manifest (0a6d4584)
- build(docker): remove images of the same name before creating manifests (76748372)
- feat(itk-wasm-cli): Update default Docker image for 20250102-76748372 (640fe3be)
- build(docker): fix manifest generation (64aed84f)
- ci(wasi): build sequencially (e0dd0f1d)
- ci(wasi): bump node version to 22 (3214b49a)
- ci(wasi): bump runner to ubuntu-24.04 (dc82fa29)
- ci(wasi): do not explicitly pull docker images (709ec1dd)
- build(docker): use manifest-tool with docker (5540a61d)
- feat(itk-wasm-cli): Update default Docker image for 20250102-709ec1dd (0d5dc250)
- feat(itk-wasm-cli): Update default Docker image for 20250102-0d5dc250 (cb036a64)
- chore(wasi): update package modules (dac1dc86)
- chore(itk-wasm): bump version to 1.0.0-b.185 (27835139)
- chore(create-itk-wasm): bump itk-wasm version to 1.0.0-b.185 (cab05145)
- chore(create-itk-wasm): bump version to 2.1.0 (c3fea2a4)
- chore(compare-images): bump version to 5.3.0 (663f9ff0)
- chore(compare-images): bump version to 5.3.1 (c63b859f)
- chore(compress-stringify): bump version to 3.4.0 (7f6923f8)
- chore(io-packages): bump versions (d26e2bc2)
- chore(dicom): bump version to 7.3.0 (09107405)
- chore(downsample): bump version to 1.5.0 (a4d1dd0c)
- chore(hello-pipeline-example): bump itk-wasm to 1.0.0-b.185 (6d93443e)
- chore(different-input-types-example): bump itk-wasm to 1.0.0-b.185 (1039a24b)
- fix(examples): fix itk-wasm run argument passing (f0791e6f)
- ci(wasi): remove custom run shell (e859e67e)
- ci(wasi): do not use debug builds (17e850e8)
- ci(wasi): remove --sequential from build and test steps (9652f6ac)
- build(native): install make (d5c2fbef)
- build(native): move cmake and cxx-compiler to the default environment (77e1ab37)
- test(pixi): exclude create-itk-wasm from top level (d0f42fed)
- test(cypress): bump to 13.17.0 to address firefox connection issues (f8740714)
- docs(hacking-itk-wasm): update getting started requirements (612dfb4c)
- build(docker): use dockcross/web-wasi-threads as base for itkwasm/wasi (d8f4fb0b)
- feat(itk-wasm-cli): Update default Docker image for 20250107-d8f4fb0b (4269a3ba)
- chore(mesh-io): bump version to 1.6.1 (1621a8c6)
- build(bindgen): specify env for wasi (22168c03)
- build(wasi): add pthreadatfork, pthreadattr_setscope shims (5631c7f6)
- feat(itk-wasm-cli): Update default Docker image for 20250107-5631c7f6 (86b95fa4)
- build(different-input-types-example): use fully qualified wasi image (ceebded3)
- fix(docker): posixShim.c -> pthreadShim.c (e5ebcad9)
- feat(itk-wasm-cli): Update default Docker image for 20250108-e5ebcad9 (4dd73c77)
- build(docker): copy *.c into the ITKWebAssemblyInterface dir (171dcd01)
- feat(itk-wasm-cli): Update default Docker image for 20250108-171dcd01 (7484b79d)
- build(wasi): compile pthreadShim in cxx (5a978ee5)
- feat(itk-wasm-cli): Update default Docker image for 20250108-5a978ee5 (4ccb4c90)
- chore(hello-world-example): bump itk-wasm, use full image identifier (cc3b208f)
- feat(itk-wasm-cli): Update default Docker image for 20250108-cc3b208f (6b19476f)
- build(pthreadShim): return values (e1e50d38)
- build(wasi): specify initial, max memory (b6c6122e)
- chore(itkwasm): bump wasmtime dep to 28.0.0 (e4058d74)
- feat(itk-wasm-cli): Update default Docker image for 20250109-e4058d74 (31d33fb3)
- feat(interface-json-node-wasi): support modules that use threads (1085b92f)
- feat(itk-wasm): cli run with wasmtime supports threads (3f48cb9c)
- test(itk-wasm): add pthreads and cxx-threads test pipelines (1f6a9784)
- build(wasi): add _cxainitprimaryexception shim (abc26740)
- test(itkwasm): add test wasi threads pipeline modules (c890071a)
- build(docker): use emulated pthreads (ff70bd3b)
- feat(itk-wasm-cli): Update default Docker image for 20250123-ff70bd3b (22285a5e)
- build(dicom): flags for wasi-emulated-threads (d0332e25)
- chore(pnpm): bump to 9.15.3 (629d0384)
- docs: add SciPy article citation (0cd94b6e)
- chore(mesh-io): bump version to 1.6.2 (2e1048e6)
- test(image-io): add native configure-build-test configuration (d7a1ee3e)
- feat(image-io): read and write the metadata dictionary (1992b6cb)
- feat(itk-wasm-cli): Update default Docker image for 20250120-1992b6cb (473523f1)
- test(image-io): add gdcm-test.js (a6e18027)
- fix(itkwasm): convert metadata dict to json array (15d32900)
- chore(itkwasm): bump version to 1.0b186 (a15043ad)
- test(image-io): add python test for DICOM metadata (ccf3d51e)
- build(MetaDataDictionaryCBOR): address MSVC build errors (f6cc4c62)
- feat(itk-wasm-cli): Update default Docker image for 20250121-f6cc4c62 (edade886)
- chore(image-io): bump version from image-io (e0d7b11e)
- feat(itk-wasm-cli): Update default Docker image for 20250124-b579b6d4 (bd526ab8)
- build(wasi): compile itkObjectFactoryBase.cxx with -fno-lto (c6588545)
- build(wasi): add -fno-lto for _cxainitprimaryexception (363b6f4b)
- feat(itk-wasm-cli): Update default Docker image for 20250125-363b6f4b (7ec81a28)
- build(wasi): change _cxainitprimaryexception shim return (c7560245)
- build(dcmtk): update for dcmjpeg support (7881ebc0)
- build(wasi): return value for _cxainitprimaryexception shim (6af1dbec)
- feat(itk-wasm-cli): Update default Docker image for 20250126-6af1dbec (b9ae96ba)
- feat(itk-wasm-cli): Update default Docker image for 20250126-b9ae96ba (4b631241)
- build(ITKWebAssemblyInterface): set all required flags (cb6510fe)
- feat(itk-wasm-cli): Update default Docker image for 20250127-cb6510fe (aae9550e)
- build(ITKWebAssemblyInterface): do not pass emscripten flags with wasi (ed899a98)
- feat(itk-wasm-cli): Update default Docker image for 20250127-ed899a98 (874ed371)
- build(different-input-types): use workspace itk-wasm (fc7c3ca6)
- ci: temporarily disable hello-world cypress test (b96cb717)
- ci(different-input-types): use pnpm (2e469d7c)
- ci(wasi): download test data (e46c0f7f)
- build(hello-world): use pnpm workspace. (d75b942c)
- feat(itk-wasm-cli): Update default Docker image for 20250128-80554789 (ba25b2e8)
- docs(docker): update docker image update process (3236bdec)
- build(mesh-filters): bypass geogram-related warnings (aac71be9)
- build(MeshToPolyData): pass toolchain flags (c0f467b8)
- build(glaze): bypass static_assert warnings (ad7e8041)
- docs(hacking): fix ITK-Wasm capitalization (6ed75e4e)
- docs(packages): point to create-itk-wasm (a7b83082)
- build(itk-wasm): generate index-wasm-worker-embedded.js (2f6b68b5)
- ci(examples): use pnpm for hello-world (89bf9e1c)
- feat(itk-wasm-cli): Update default Docker image for 20250128-660258ac (74c373d6)
- build(mesh-filters): bump geogram to latest (e081756f)
- build(mesh-filters): address wasi build (ee3adcb7)
- build(mesh-filters): add pixi configuration (8170a0c0)
- chore(mesh-filters): add typescript generated files (91e3eb90)
- chore(mesh-filters): add pixi.lock (7d55516a)
- test(mesh-filters): define test_repair.py (60f054a6)
- test(mesh-filters): keeplargestcomponent wasi test (285d9707)
- test(mesh-filters): define testsmoothremesh (aa820ea4)
- test(mesh-filters): add testslicemesh.py (32419778)
- chore(mesh-filters): add test data to .gitignore (bd466184)
- chore(mesh-filters): bump version to 1.6.0 (109eb0a0)
- test(image-io): exclude wasi gdcm write tests (06e63d40)
- build(mesh-filters): add wasi emulated process clocks flags (9b2765f6)
- build(mesh-filters): add -msimd128, -flto (aed93481)
- build(docker): ensure WASI CMake variable is set (c2821335)
- build(mesh-filters): add geogram WASI flags via VORPALINE_PLATFORM (c78034a5)
- build(docker): overwrite dockcross wasi CMake toolchain file with our flags (1cafe9f3)
- build(docker): pass CMAKETOOLCHAINFILE in web-build (11f6cb11)
- feat(itk-wasm-cli): Update default Docker image for 20250130-11f6cb11 (5b470fe4)
- test(mesh-filters): use off for slice-mesh outputs (d9af7c19)
- chore(dicom): python module content updates (1a879bdd)
- WIP: COMP: Build plastimatch (5925d0c1)
- WIP: RT-study (21b738ab)
- feat(dicom): basic write-rt-struct pipeline (94ffb4d0)
- feat(write-rt-struct): remove reference series input (a68ce19a)
- build(dicom): use ITK-Wasm's ITK (b50700ea)
- build(dicom): work-around plastimatch wasm CheckTypeSize (d38d8879)
- build(dicom): address plastimatch emscripten build (ef32a19f)
- test(dicom): exclude plastimatch tests with wasi (71d39c62)
- feat(itk-wasm-cli): Update default Docker image for 20250130 (1ba076a7)
- feat(dicom): use custom itkwasmrt_study in write-rt-struct (1e0d400a)
- docs(dicom): acknowledge Plastimatch in typescript README (67ccfb1a)
- fix(dicom): do not output to stdout with write-rt-struct (362bb136)
- test(dicom): typescript test write-rt-struct with custom metadata (1d1e0aab)
- test(dicom): add writertstruct dicom tests (66f5c2f1)
- docs(dicom): add Plastimatch to python package acknowledgements (76308a0b)
- style(dicom): explictly use quiet with rtstudy.savertss (7064b512)
- test(dicom): update testing data hash (58430c69)
- chore(dicom): bump version to 7.4.0 (558e212f)
- fix(dicom): improve write-rt-struct uid initialization (9ca8a8d8)
- feat(dicom): specify StructureSetLabel, Name, SoftwareVersion in write-rt-struct (d3df13e2)
- chore(dicom): bump version to 7.5.0 (ce851e8e)
- chore(dicom): bump package version to 7.5.1 (6b3f1453)
- chore(dicom): update wasi modules (3043fb97)
- chore(dicom): update pyodide to 0.27.2 (2e24856f)
- feat(load-emscripten-module-node): load zstd compressed wasm (31f6f47f)
- refactor(typescript-bindings): only copy compressed wasm binary (88ed98e1)
- chore(itk-wasm): bump version to 1.0.0-b.186 (e3610a43)
- chore(dicom): bump version to 7.5.2 (893d5ce1)
- test(dicom): use copyfilesto_pyodide (93ee4f70)
- test(dicom): update testing data (bca39dcd)
- fix(load-emscripten-module-main-thread): load compressed wasm (9e815d80)
- ci(examples): retry docker pulls (00d9fa9e)
- test(compare-images): use copyfilesto_pyodide (22371024)
- perf(wasi): strip debug content with wasm-tools (df693e08)
- feat(itk-wasm-cli): Update default Docker image for 20250214-df693e08 (48136937)
- chore(compare-images): update wasi modules (863926a4)
- chore(compress-stringify): update wasi modules (1978fb92)
- chore(dicom): update wasi modules (c2c58b62)
- chore(transform-io): update wasi-modules (bee019c2)
- docs(gh-pages): build and upload mesh-filters and transform-io (4351fc15)
- chore(deps): bump cypress to 14.0.3 (780f21d4)
- chore(deps): bump pnpm to 10.4.0 (1ee7fcce)
- style(itk-wasm): linter fixes (8de1f88d)
- ci(browser-tests): bump to ubuntu-24.04 (d8a87c68)
- ci(cypress): re-order node install for cypress binary availability (4147e8bc)
- build(itk-wasm): use bundled worker for creating bundle (02fb8cd4)
- chore(itk-wasm): bump version to 1.0.0-b.187 (a2d00ea5)
- docs(hello-world-example): use itk::wasm::Pipeline (5cde5777)
- fix(hello-world-example): update browser use for 1.0.0-b.187 (3a1eb238)
- ci(examples): pull debug images for debug example (0742394e)
- build(docker): bump ITK to release-5.4 branch HEAD (ec5e3e5e)
- feat(itk-wasm-cli): Update default Docker image for 20250221-ec5e3e5e (d114ddf9)
- chore(itk-wasm): bump version to 1.0.0-b.188 (3ff71c54)
- chore(compare-images): bump version to 5.4.0 (c8d200b5)
- chore(compare-meshes): bump version to 0.6.0 (360e800d)
- chore(compress-stringify): bump version to 3.5.0 (9169837c)
- chore(dicom): bump package version to 7.6.0 (f249ed9b)
- build(dicom): add tests/data/ to .gitignore (b9723e88)
- build: add tests/data/ to packages .gitignore (e14346bc)
- chore(downsample): bump version to 1.6.0 (50b67295)
- chore(image-io): bump version to 1.6.0 (adf7c915)
- chore(mesh-filters): bump version to 1.7.0 (80461ade)
- chore(mesh-io): bump version to 1.7.0 (f4d10ab4)
- chore(transform-io): bump version to 1.1.0 (71cc6f37)
- docs(mesh-io): fix app link (7967e814)
- docs(mesh-filters): add typescript app, docs link (fb4d2007)
- docs(itk-wasm): add mesh-filters to packages page (9ebce350)
- docs(compare-meshes): add README demo, docs links (1db4a12c)
- docs(transform-io): add README demo, docs links (b1d55549)
- build(docker): enable corepack for pnpm availability (5e4b1568)
- feat(itk-wasm-cli): Update default Docker image for 20250225-5e4b1568 (0e458243)
- feat(itk-wasm-cli): Update default Docker image for 20250227-0e458243 (3921519a)
- ci(python-wasm): bump to ubuntu-24.04 (46ae64c9)
- ci(toolchains): bump to ubuntu-24.04 and use docker pull retry (133da36a)
- build: bump pnpm to 10.5.2 (0fb6c942)
- chore(deps): bump cypress to 14.1.0 (2f74b517)
- ci(python-wasm): pull docker images with retry (17c64467)
- perf(itkwasm): additional wasmtime config options (2d8e64da)
- fix(polydata): add missing metadata in python dataclass (288bd965)
- build(compress-stringify): remove -build ts build dep (33285853)
- docs(dicom): note RT Struct support (07cc0fbd)
- docs(docker): fix commit message template capitalization (12938442)
- fix(itk-wasm): add metadata to PolyData typescript interface (0fe1496b)
- docs(transform): document Typescript interface types, supported file formats (b0c154f3)
- chore(deps): bump cypress to 14.2.0 (0b10d3ac)
- docs(parts): grammar fixes (e80168cf)
- feat(itk-wasm): add pthreadSupportAvailable (195553e9)
- test(itk-wasm): pthreadSupportAvailable browser test (5462d6bd)
- test(itk-wasm): enable cross origin isolation in browser tests (e286c86e)
- docs: move Interface Type Model toc location and set title (33ea0a0c)
- build(model): add pixi model-docs target (80134116)
- docs(model): add generated transform docs (cc1a8ab7)
- docs(typescript): link to model (ebe279b2)
- docs(typescript): remove old function API docs (f1b0919e)
- chore(deps): bump cypress to 14.3.0 (cec4e4b7)
- chore(deps): bump pnpm 10.8.0 (2a594d58)
- docs(typescript): improve intro grammar (c342a81d)
- docs(index): add GitHub Star badge (2afbafea)
- feat: esm example (154846d0)
- docs: add esm module documentation (a52d632f)
- feat: add itk::wasm::SupportInputTransformTypes (346b7f5e)
- chore: update vite example (ba7b2d3b)
- ci: migrate vite example to playwright (319a45af)
- docs: remove umd example (f2900c77)
- docs: add vite.webm example video (c9772eba)
- test: use http instead of http-get with start-server-and-test (73058701)
- test(vite-example): us start and port 8085 (3b452bfd)
- test(vite-example): add missing test dataset (e88e3196)
- feat(create-itk-wasm): generate itk-wasm-env.bash (87bbb4c6)
- docs(create-itk-wasm): document driving with pixi (6dd8fe8a)
- feat(bindgen): emscripten python test output dir -> "tests" (e1a7cece)
- feat(bindgen): generate dispatch package test scaffold (545966bc)
- chore(itk-wasm): bump version to 1.0.0-b.181 (9fe97a95)
- feat(create-itk-wasm): bump itk-wasm version to 1.0.0-b.181 (783df44b)
- fix(itk-wasm): underscore to identify emscripten wheel (06aa0d97)
- feat(create-itk-wasm): bump itk-wasm version to 1.0.0-b.182 (2dbc2ce6)
- ci(cxx-python): update to latest for libtiff symbol Windows build issues (e020a4b0)
- build(cxx): add missing mesh dependency includes (f3e224e2)
- fix(itkwasm): interface type is TransformList instead of Transform (dcf4098f)
- chore(itkwasm): bump version to 1.0b181 (bdbbc2f0)
- test(transform-io): wasi format tests (4120317b)
- test(itkwasm): bump pyodide to 0.26.4 (78d13955)
- fix(itkwasm): add WasiConfig args for wasmtime 27.0.0 (95f60876)
- chore(itkwasm): bump version to 1.0b182 (94adbbef)
- feat(itkwasm): add pipeline TransformList support (a4516fda)
- build(itkwasm): bump wasmtime dep to 27.0.1 (781430e9)
- chore(itkwasm): bump version to 1.0b184 (5f7da327)
- test(transform-io): wasi format tests (83ca16bd)
- chore(bindgen): bump itkwasm to 1.0.b184, Python to 3.9-3.13 (7ca5ca75)
- feat(transform-io): add wasi readtransform, writetransform (c0d76059)
- test(transform-io): emscripten hdf5 read write tests (2ffc2ca3)
- chore(itkwasm): bump Python package to 1.0b188 (cd5e8718)
- test(itkwasm): use pyodide copyfilesto_pyodide (ce235bd1)
- feat(docker): add emscripten-threads-base image build config (73cae14d)
- build(docker): add emscripten-threads build commands (911fddc5)
- refactor(docker): make threads imaging naming use tag (f83ec6ba)
- build(docker): set .threads.wasm target suffix (d9dacd7c)
- build(docker): fix specification of the threads build (f36e27e1)
- build(docker): add threads tags to push.sh (dc8e64ae)
- build(docker): add threads tag to pull.sh (f4baed59)
- feat(itk-wasm-cli): Update default Docker image for 20250306-f4baed59 (5bee239f)
- chore: bump pnpm to 10.5.2 (c5b80947)
- feat(itk-wasm-cli): Update default Docker image for 20250306-c5b80947 (504834cd)
- build(docker): drop wasi threads workaround patches (f4c27be3)
- feat(itk-wasm-cli): Update default Docker image for 20250311-f4c27be3 (941cf190)
- chore: update wasm artifacts (2dfbcfa7)
- ci(browser): use docker pull retry (5145d43e)
- ci: add clang-format linter Action (69010461)
- ci: relax checkout action version to v4 (73f83d1c)
- ci(clang-format-linter): use ITK master branch (f52907c3)
- ci(cxx-python): update cxx versions (984f7d91)
- style: update clang-format configuration file to ITK 19.1.7 (682b3f34)
- ci: build ITK with C++20 (60b47508)
- style(itkPipeline): tparam Iteratorable to TIterableable (bd538a68)
- docs(parts): update, note TypeScript, Python core tooling (18bf8874)
- docs(parts): add wasmtime-py link (0985ac7b)
- ci(scorecard): update config for sarif upload error (fed3c72b)
- build(itk-wasm): add test:buildTestPipelines:emscriptenThreads target (f0891eb7)
- build(docker): add VERSION build arg for emscripten-threads (f6552026)
- build: bump ITK to v5.4.3 (964fe20b)
- feat(itk-wasm-cli): update default Docker image for 20250319-964fe20b (4552658c)
- docs(debugging): itk-wasm -> ITK-Wasm (76746859)
- ci(cxx): disable macos-13 build (2c34dae9)
- ci(python-wasm): fix retry step os identifier (022d86ee)
- docs(typescript): fix interface-type links (76c1192a)
- chore(deps): bump cypress to 14.2.1 (13a692dd)
- docs: add SciPy 2024 video (2a40da09)
- chore(deps): bump pnpm to 10.7.1 (244f9c9c)
- build: upgrade vite to 6.2.3 and shx to 0.4.0 (ad620e3a)
- style(pthread-support-available): use === operator (0f7079f4)
- ci(wasi): add docker pull retry (1e678920)
- chore: bump cypress to 14.4.0, start-server-and-test to 2.0.12 (e34dc5c5)
- ci: set playwright working directory to examples/esm (d006969d)
- docs: update vite example docs (527f3118)
Michael Onken (1):
Miscellaneous Changes
- build(apply-presentation-to-image): update get iccprofile (4d931706)
Paul Elliott (1):
Miscellaneous Changes
- build(demo-app): bump version so slice view shows thin axis (992419e2)
Shreeraj Jadhav (19):
Miscellaneous Changes
- fix(WebAssemblyInterface): support vector/multi-component images (f9f28057)
- fix(WebAssemblyInterface): update affected binaries (b89bcb6c)
- fix(itkPipeline): parameters parsing crash when no space in line (4e833dd1)
- build(msvc): add cmake flag to enable msvc static runtime debug library (c3c39b7a)
- feat(compare-images): add spatial tolerance (75f2db4f)
- build: add quay prefix to default image containers (43a0fc01)
- fix(runPipelineNode): unmounting overlapping paths (566bff2a)
- fix(OutputImage): computation of buffer size (236a49f7)
- docs: update docs and add scripts for native build (a9b4631a)
- build: fix cmake warning on packages/gdcm for CMP0135 (922238f5)
- build: Add dcmqi as dependency for read/write DICOM seg objects (b24426b4)
- feat(read-seg): add dicom/dcmtk pipeline to read segmentation (372d80e4)
- fix: read/write dicom segmentations fixes (c463b36d)
- test(dcmqi-node-js): add new test file for dcmqi functions (d827f9ac)
- test(dcmqi-python): add python tests (796707d3)
- test(dcmqi-browser): add e2e browser tests (cc6836c2)
- docs(Dockerfile): specify DCMTK branch name in comments (bcce1f59)
- test(write-overlapping-segmentation): soft-disable browser test (c0b7442c)
- test(dicom): Add IDC test data and cases (5cf9780f)
- C++
Published by thewtex 8 months ago
itk - ITK 5.4.3
We are pleased to announce the release of ITK 5.4.3, the latest maintenance update for this cross-platform, open-source toolkit supporting N-dimensional scientific image analysis with spatially-aware algorithms. 🎉 🍻 🥳 This patch release addresses several key issues identified since ITK 5.4.2 while maintaining API stability.
🔦 Highlights
As a maintenance update following 5.4.2, version 5.4.3 incorporates critical improvements including:
- Bug Fixes: Resolved issues affecting the default number of threads, particularly in multi-threaded image processing pipelines where thread limits were not respected, and corrected the b-spline size calculation for closed parametric dimensions, ensuring accurate interpolation in applications such as 3D image registration and deformation modeling.
- License Fixes: Removed unused VNL Netlib rpoly files to ensure compliance with our Apache 2.0 licensing requirements.
- Software Guide Updates: Spelling corrections for the ITK Software Guide.
- Doxygen Documentation: Updated Doxygen documentation to reflect the latest changes and improvements in ITK, including links to the ReadTheDocs site.
- Remote Module Updates: Improvements to the
LabelErodeDilateandMeshToPolyDataremote modules, including bug fixes and enhancements.
A full list of changes can be found in the changelog below.
🔢 Versioning Note
For comprehensive details on ITK 5.4.0, please review the ITK 5.4.0 Release Notes.
💾 Download
Python Packages
Install ITK Python packages with:
bash
pip install itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
🗣️ What's Next
ITK 6 Preparation
The development community is currently focused on delivering ITK 6, a major modernization release featuring:
- Architectural upgrades for contemporary C++ development
- Enhanced template metaprogramming capabilities
- Streamlined build system configurations
Early access builds (alpha/beta releases) will become available during ongoing 5.4.x maintenance, enabling parallel evaluation of new features while maintaining production stability.
5.4 Maintenance Commitment
We remain dedicated to supporting current users through:
- Regular security and regression patches
- Critical bug resolution
- Platform compatibility updates
Enjoy ITK!
ITK Changes Since v5.4.2
Bradley Lowekamp (2):
Enhancements
- Use get_schedaffin to determine number of threads (50ab3e0f6e)
Bug Fixes
- Update LabelErodeDilate remote module (ea1ee3a961)
Dženan Zukić (1):
Documentation Updates
- Remove duplicate new author name (Matthieu LAURENDEAU) (6d82d2bd8f)
Matthew McCormick (10):
Enhancements
- Bump ITK version to 5.4.3 (0913f2a962)
Documentation Updates
- Update maintenance branch for 5.4 series (146bc6de06)
- Point to RTD Doxygen documentation, ITKDoxygen Docker build (8ba1cfc8f2)
- Update Doxygen class links to use ReadTheDocs (d3189c245e)
- Update versioned Doxygen links to point to ReadTheDocs (ce4fa184e8)
- ITK 5.4.0 release notes (f2852f6ee9)
- Add ITK 5.4.2 release notes (f817e2f775)
Platform Fixes
- Bump MeshToPolyData Remote Module to 2024-03-14 main (7366509c1c)
Bug Fixes
- Remove VNL Netlib rpoly files (6894a1715c)
- Clamp GlobalDefault threads with GlobalMaximum with initialization (7e485eac71)
Simon Rit (1):
Bug Fixes
- Remove check on WrapITK.pth existence in itkpythonadd_test (71d5cce482)
Nick Tustison (1):
Bug Fixes
- Incorrect size for closed parametric dimension. (0dd02ac9f1)
ITK Software Guide Changes Since v5.4.2
Matthew McCormick (1):
Enhancements
- Bump ITK to v5.4.3 (0db3df8)
albert-github (1):
Documentation Updates
- Spelling corrections (5849c78)
Remote Module Changes Since v5.4.2
LabelErodeDilate:
Bradley Lowekamp (4):
Bug Fixes
- Addressed memory leak of progress object (05a0a1c)
- Address uninitialized value (921aaab)
- Fix Valgrind defect with uninitialized array in doOneDimensionErode (b9567df)
Miscellaneous Changes
- Update CI infrastructure to use 5.4.2 infrastructure (c9f9037)
Hans Johnson (4):
Enhancements
Style Changes
- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (6a892cd)
- Update to match clang-format-19 from ITK (32e7773)
Jon Haitz Legarreta Gorroño (12):
Enhancements
- Transition project configuration to
pyproject.toml(8197f14) - Initialize all arrays in
LabelSetUtils.hfile (108b0ba)
Platform Fixes
- Bump to minimum CMake 3.16.3 (f247673)
Style Changes
- Conform to ITK style guidelines in local variable naming (61c7a93)
- Do no use
m_to start function parameter names (c347f23) - Use medial capitals for variable naming in C++ code (518fab1)
- Use
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (5f37494) - Make the input argument checking be the first task in tests (1a5febf)
- Conform to ITK style guidelines in test arg check (7f9ffc7)
- Remove unnecessary brackets around
EXIT_FAILURE(02de4bd) - Remove unreachable
breakafterreturnstatement (0fbfa1c) - Remove unnecessary/empty comment statements in tests (276b195)
MeshToPolyData:
Dženan Zukić (1):
Platform Fixes
- ITKDISALLOWCOPYANDASSIGN -> ITKDISALLOWCOPYANDMOVE (b866a68)
Hans Johnson (7):
Enhancements
- Use latest actions, do not pin to latest version (8aed3c7)
- Use tag v5.4.2 for the build packages tags (9c0209b)
Style Changes
- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (c3c0006)
- Replace itkStaticConstMacro with static constexpr (86435bd)
- CoordRepType -> CoordinateType code readability (d90e542)
- Update to match clang-format-19 from ITK (6aa2abf)
- Fix KWStyleError (597c780)
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Bump to minimum CMake 3.16.3 (97c575f)
Matt McCormick (12):
Enhancements
- Bump itk-wasm to 1.0.0-b.173 (08779a7)
- Bump itk-wasm version to 1.0.0-b.175 (254a24d)
- Add VTK C++ conversion example (8153ecc)
- Update ITK to 5.4.0 (4ce9813)
- Bump wasm package version to 1.1.1 (a9d1fd7)
- Bump pnpm to 10.6.2 (bd893e4)
- Update pyproject.toml for 0.11.1 (8941ee1)
Documentation Updates
- Lines to Vertices in method description (ff3cc60)
Platform Fixes
- Provide backwards compatible CoordRepType in itk::PolyData (c9e0aba)
- Update wasm for ITK 5.4.2 (1c2a0b5)
Bug Fixes
- Update Python package version to 0.11.0 (5e8de5d)
- Support Variable-Length-Vector in mesh-to-polydata (e9b30dc)
dependabotbot:
Miscellaneous Changes
- C++
Published by thewtex 11 months ago
itk - ITK 5.4.2
We are pleased to announce the release of ITK 5.4.2, the latest maintenance update for this cross-platform, open-source toolkit supporting N-dimensional scientific image analysis with spatially-aware algorithms. 🎉 🍻 🥳 This patch release addresses several key issues identified since ITK 5.4.0 while maintaining API stability.
🔦 Highlights
As a maintenance update following 5.4.0, version 5.4.2 incorporates critical improvements including:
- Enhanced Label Map Handling: Improved unique label map filter behavior for segmentation workflows
- Modern Library Support: Updated compatibility with recent libtiff versions
- Large Data Optimization: Expanded
VectorImagesupport for high-dimensional datasets - Performance Improvements: Fixed thread-based parallelism in SLIC filter implementations
- Cross-Platform Enhancements: Build system updates and compiler compatibility fixes
A full list of changes can be found in the changelog below.
🔢 Versioning Note
This release follows 5.4.0 directly, as the intermediate 5.4.1 patch was reserved for an urgent hotfix that required immediate distribution prior to full release documentation.
For comprehensive details on ITK 5.4.0, please review the ITK 5.4.0 Release Notes.
💾 Download
Python Packages
Install ITK Python packages with:
bash
pip install itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
🗣️ What's Next
ITK 6 Preparation
The development community is currently focused on delivering ITK 6, a major modernization release featuring:
- Architectural upgrades for contemporary C++ development
- Enhanced template metaprogramming capabilities
- Streamlined build system configurations
Early access builds (alpha/beta releases) will become available during ongoing 5.4.x maintenance, enabling parallel evaluation of new features while maintaining production stability.
5.4 Maintenance Commitment
We remain dedicated to supporting current users through:
- Regular security and regression patches
- Critical bug resolution
- Platform compatibility updates
Enjoy ITK!
ITK Changes Since v5.4.0
Andras Lasso (1):
Enhancements
- Backport libtiff fix of not displaying warning for unknown tags (15e47178d6)
Brad King (1):
Platform Fixes
- itktiff: Suppress C99 inline only on MSVC from VS 2013 and below (6025654de3)
Bradley Lowekamp (11):
Enhancements
- A GTest for LabelUniqueLabelMapFilter (47eec5a2a2)
- Download x86 clangformat on Darwin arm64 (ee6bc26281)
- remove repetitive monochorme1 warning (80a172e8c2)
Documentation Updates
- Correct Documentation for PadImageFilter::SizeGreatestPrimeFactor (276a52a5c0)
Bug Fixes
- Check output of StatisticsUniqueLabelMapFilterTest1 (8f32d71c8a)
- Address bugs in unique label map filters (00bfdb80e7)
- Remove dilation output in test (790af9eba0)
- Address race condition in SLIC filter (bbf9f17a40)
- Enable system TIFF with modern TIFF and cmake (7b83336a7e)
- Remove SpatialObjectProperty's writable string methods from SWIG (efe773f555)
- Fix 32-bit truncation on VectorImage Accessors (ee63f5eba3)
Dženan Zukić (1):
Platform Fixes
- Get ITKUSEFLOATSPACEPRECISION=ON to compile again (e816336468)
Hans Johnson (1):
Platform Fixes
- macOS-11 Azure CI environment EOL (e5de32ad02)
Matt McCormick (25):
Enhancements
- Initial pixi configuration (e2eef2d73d)
- Add Pixi dev environment (5037e7447c)
- Add Pixi GitHub Actions Configuration (bb705e50eb)
- Add Pixi python-exe and python-exe-debug tasks (73841d0a89)
- Python dispatch on the first RequiredInputName (8185e10aab)
- Add Pixi osx-64 configuration (84a8386daa)
- Add Intel Mac to Pixi GitHub Action tests (7d759f2e4e)
- Add Pixi mac ARM configuration (0306e8e654)
- Add ARM Mac to Pixi GitHub Action tests (78a6cb7ca4)
- Bump ITK version to 5.4.2 (898def6451)
Documentation Updates
- Update .zenodo (a890386f7d)
- Improve itkhdf5mangle.h.in instructions (c595d0b26b)
- Document development with Pixi (1b75686e2c)
- Updates for release testing data uploads (9a3a8d2961)
Platform Fixes
- Set CastXML flag based on CMAKECXXSTANDARD (9ebd1d6ff9)
- Remove unused setuptools upgrade in Linux builds (2734a97318)
- Bump ITKTotalVariation remote module (da08898f21)
- Use .clang-format from release-5.4 branch (6d3e550ba6)
Bug Fixes
- Move InputSpaceName, OutputSpaceName from Transform to TransformBase (107e3ad040)
- Update HDF5 name mangled symbols (be7d38694c)
- Fix pixi caching of Python Debug builds (0967a50721)
- GenerateImageSource sets Size from ReferenceImage (c54f1b1a2b)
Style Changes
- clang-format fixes to itkSLICImageFilter.hxx (d8614fa2c4)
- clang-format updates to itkGridImageSourceTest2.cxx (a54a6455e3)
Mihail Isakov (1):
Bug Fixes
- Fix ExposeMetaDatastd::vector<double> im MetaImageIO (087a1c4fb0)
Niels Dekker (3):
Enhancements
- Add nested CoordinateType aliases as alternative to CoordRepType (bdfd0c2207)
- Add ...CoordinateType aliases as alternative to ...CoordRepType (be27beb8cb)
Bug Fixes
QuadEdgeMeshPointshould be properly initialized by{}(ef7521d2bd)
Ziv Yaniv (1):
Bug Fixes
- Missing writing of the nifti descrip field. (9749611e77)
ITK Software Guide Changes Since v5.4.0
Dženan Zukić (2):
Documentation Updates
- Fix a typo in CreateAModule chapter (1d04a60)
- Update supported compiler version information (95b46fe)
Matt McCormick (3):
Enhancements
- Bump ITK version to v5.4.0 (c722c6a)
Documentation Updates
Niels Dekker (3):
Enhancements
- Add section "Initializing variables of fixed size array types" (f10846c)
Documentation Updates
- Describe
ITK_DEFAULT_COPY_AND_MOVE(8430b42)
Platform Fixes
- Replace backticks with
\code{}in Initialization and Assignment (5246e64)
Remote Module Changes Since v5.4.0
TotalVariation:
Jon Haitz Legarreta Gorroño (1):
Enhancements
- Transition project configuration to
pyproject.toml(ad32c14)
Matt McCormick (4):
Enhancements
- Bump CI configuration for ITK 5.4.0 (2e7bcbe)
Platform Fixes
- Change from FetchContentPopulate to FetchContentMakeAvailable (a5484bd)
- Add find_package(OpenMP) to module export code (a8ba12c)
Bug Fixes
- Bump Python package version for re-deploy (9f6654d)
- C++
Published by thewtex about 1 year ago
itk - ITK 5.4.0: ReadTheDocs Documentation
We are happy to announce the Insight Toolkit (ITK) 5.4.0 is available for download! 🎉 🍻 🥳 ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration in a spatially-oriented architecture.
🔦 Highlights
We're excited to announce a transformation of ITK's documentation ecosystem in version 5.4.0. The documentation infrastructure has been modernized to provide a more accessible, maintainable, and user-friendly experience.
New Markdown-Based Documentation
Our documentation has undergone a complete migration from the traditional landing page and wiki to a modern, Markdown-based system hosted on ReadTheDocs. Experience our enhanced documentation at https://docs.itk.org.
ITK's new Markdown-based documentation, editable on GitHub and hosted on ReadTheDocs.
Enhanced API Documentation
The Doxygen documentation has been seamlessly integrated into ReadTheDocs, offering several key advantages: - Global CDN-powered access for fast, responsive performance worldwide - Complete archive of all previous API versions - Improved navigation and usability
ITK's Doxygen documentation, hosted on ReadTheDocs, provides easy access to all previous versions.
Unified Search Experience
Leveraging ReadTheDocs' subprojects architecture, we've implemented a powerful unified search system that:
- Searches across all documentation sources simultaneously
- Delivers fast, relevant results
- Provides advanced search capabilities
- Improves discovery of related content
ITK's unified search across documentation sources, hosted on ReadTheDocs.
These improvements represent our commitment to providing the best possible documentation experience for the ITK community. The new system not only enhances accessibility but also sets the foundation for future documentation innovations.
Elegant, Performance-optimized, Modern C++
This release candidate expands our support for elegant, performant, modern C++. For example, specializations of std::tuple_size and std::tuple_element for itk::ImageRegion in order to support C++17 structured bindings enable compile-time optimized statements to provide a multidimenional region's index and size:
cxx
auto [index, size] = image.GetRequestedRegion();
For more information on ITK 5.4's modern C++ support, see the Release Candidate 1 release notes.
Python 3.11 and Stable ABI Wheels
Moreover, this release candidate extends the toolkit's sustainability and Python support through Stable ABI Python wheels. This is made possible by upgrades to SWIG and scikit-build-core, the modern Python packaging standard evolution of scikit-build classic. Python 3.11 wheels will be recognized by pip and work with Python 3.11, 3.12, 3.13, 3.14, etc. While we also provide cross-platform wheels for Python 3.8-3.10, we can only use the Stable ABI with Python 3.11 because it is required for itk's NumPy support.
Remote Module Enhancements
ITK Remote Modules now also have GitHub Action-driven mac ARM / Apple Silicon Python wheel generation support. While a Remote Module setup.py file is still supported in ITK 5.4, migration to a scikit-build-core pyproject.toml file is encouraged. One important advantage is the generation of Stable ABI wheels for Python 3.11+. To migrate to scikit-build-core, use this pyproject.toml template and remove the setup.py file.
DICOM and Web3 Testing Data
For a summary of changes that continue our sustainability evolution with Web3 testing data, see the 5.4 Release Candidate 2 release notes. For a summary of DICOM improvements, including expanded support for additional modality features and crucial spatial metadata for Secondary Capture images, see the 5.4 Release Candidate 4 release notes.
💾 Download
Python Packages
Install ITK Python packages with:
bash
pip install itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
✨ Features
Python
- Wrapping for
itk.PhasedArray3DSpecialCoordinatesImage - Better support for multi-component images in
image_from_vtk_image itk.imreadsupports aseries_uidkwarg for DICOM series selection- TBB version updated to latest stable version, disabled on Intel macOS
- Python binaries for 3.8-3.11 across platforms
- Python 3.11 uses the Stable ABI -- works with Python 3.11+
- Python 3.7 is no longer supported
- Apple Silicon Remote Module GitHub Action wheels
- Updated to the latest version of scikit-build-core
- Import time improvements with
torch - Add
dict_from_polyline,polyline_from_dict - Add
bufferedRegiontodict_from_imagerepresentation - Support passing a single transform to
transformwrite
C++
- C++17 is now required
- Many style improvements for modern C++ and consistency
- GCC 13 support
- Name mangling prefix for third party libraries is configurable
- Update mangled 3rd-parties to use
MANGLE_PREFIXCMake variable - Many improvements to code coverage
- Enhanced NRRD and Nifti metadata support
- CMake
OPTIONAL_COMPONENTSsupport - Apply cmake-format for a consistent CMake style
get()member function toitk::SmartPointeritk::Size::CalculateProductOfElements(), to compute number of pixelsDeref(T *), to ease dereferencing a pointer safelyitk::ShapedImageNeighborhoodRangesupport C-array of offsets (by C++17)- Add
itk::Copy(const T & original), which simply returns a copy - Make
itk::ImageRegiontrivially copyable, remove inheritance (FUTURE) itk::VTKPolyDataMeshIOsupport for reading VTK 5.1 format- Add
ITK_DEFAULT_COPY_AND_MOVE(TypeName)macro definition - Replace
(const std::string)casts with C++17std::string_view - Replace SetSize/Index calls in tests with
region{ index, size } - Optionally limit an
ImageMaskto a specific pixel value
Performance
- Use index/point transforms without bounds checking
- Improved SSE2 detection
- Many improvements to how locks are handled
- Major
itk::SpatialObjectperformance improvements
Documentation
- New GitHub Action to check spelling
- Doxygen formatting cleanup
- Doxygen spelling fixes
- Doxygen Insight Journal links are consistent
- Many Doxygen improvements to the content
- Software Guide updated for style modernization
- Change the Insight Journal handle links to insight-journal links
- Replace
itkTypeMacrowithitkOverrideGetNameOfClassMacro - Cryptographic signatures are provided for release sources
Remote module updates
New modules:
- FastBilateral - A Fast Approximation to the Bilateral Filter for ITK. Insight Journal article.
Updated modules: - BSplineGradient - BoneMorphometry - Cleaver - Cuberille, - CudaCommon - FPFH - GenericLabelInterpolator - HASI - HigherOrderAccurateGradient - IOMeshSTL - IOMeshSWC - IOScanco - LabelErodeDilate - MeshToPolyData - MinimalPathExtraction - Montage - MorphologicalContourInterpolation - ParabolicMorphology - RANSAC - RLEImage - RTK - Shape - SimpleITKFilters - SplitComponents - Strain - TextureFeatures - Thickness3D - TubeTK - Ultrasound - VkFFTBackend - WebAssemblyInterface
Third party library updates
- dcmtk
- eigen
- gdcm
- googletest
- kwsys
- minc
- meta-io
- nifti
- pygccxml
- vxl
- zlib-ng
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 60 authors who contributed since v5.3.0, we would like to specially recognize the new contributors:
Andrei Sandor, Nicklas Larsson, huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, Andras Lasso, Bernhard Froehler, Thomas BAUDIER, Matthieu LAURENDEAU, Fabian Wenzel, Mikhail Polkovnikov, Pritam Rungta, Florian de Gaulejac, Ramon Emiliani, Martin Hoßbach, Sadhana Ravikumar, and Gabriel Chartrand.
We extend our gratitude to all the ITK community members who have contributed to this release through code submissions, bug reports, and insightful discussions online.
🗣️ What's Next
ITK 5.4.0 represents a transformative milestone in our documentation journey. The finalization of 5.4.0 was delayed due to dependency issues in the example documentation's infrastructure. While these are addressed, we'll continue to refine the 5.4 series through patch releases. We're excited to eventually migrate the examples to a similar robust foundation in future innovations.
Looking ahead, we're thrilled to announce that ITK 6, our next major release, will showcase a substantial array of modernizations. The community has been hard at work implementing significant improvements that will elevate development with and on the toolkit. Watch for upcoming alpha and beta releases of ITK 6, which will run parallel to our 5.4 maintenance efforts.
This dual-track approach ensures both stability for current users and innovation for those ready to explore new features. Stay tuned for announcements about ITK 6's preview releases, which will demonstrate the exciting evolution of the Insight Toolkit.
Enjoy ITK!
ITK Changes Since v5.4rc04
Andrei Sandor (2):
Platform Fixes
- Fixed Cpp Warnings (904c7c5838)
- Remove \brief with nothing after (0fbb3bca2d)
Bradley Lowekamp (4):
Platform Fixes
- Add testing of IsCongruentImageGeometry IsSameImageGeometryAs (7f1c584608)
- Suppress LabelGeometryImageFilter deprecated warning (4f4110a275)
Bug Fixes
- Mark LabelGeometryImageFilter as deprecated (eb8230c46b)
Style Changes
- Improve style of Image.IsXGeometry (f383fe0a95)
Dženan Zukić (4):
Enhancements
- Update Montage remote module (3235b3675c)
- Update remote modules using a script (004fd7c066)
- Update KWStyle GCC 13.2 output buffer size truncation warnings
Documentation Updates
- Add See Also entries for alternatives to LabelGeometryImageFilter (f408b77a57)
GDCM Upstream (1):
Miscellaneous Changes
- GDCM 2024-05-03 (2eaae209) (a6240d348d)
Hans Johnson (13):
Enhancements
- Add tests for known required size constraints (1540fa4ba4)
Performance Improvements
- Prefer initialization to assignment (e64032ae75)
Platform Fixes
- Avoid gcc13.2 compiler out-of-bounds index warnings (a0b816529c)
- Avoid compiler false positive warning when assuming string processing (323e8217e1)
- Fix uninialized variable warning (d9fcaa08e7)
- Fix array bound warning for typecast initial value (462a874af2)
- Fix gcc 13.2 compiler warning of large allocation size (6dcfb74e6b)
- Fix gcc 13.2 compiler warnings (408cf0c7de)
Style Changes
- Spelling Trasform->Transform fixes. (6324749c66)
- Simplify code to remove unneeded dynamic_cast (6650d2ce90)
- Make variable for magic number (fbe68ab5e2)
- Remove dead code suppression of C++11 warnings (fdb94eddc5)
- Make variables local scope (1155b5e99b)
Jon Haitz Legarreta Gorroño (4):
Platform Fixes
- Suppress
-Wformat-nonliteralwarning in diff tensor example (abc789e834) - Use
defaultcopy and move construct and assign initk::Region(ec2677f5a5) - Use
defaultcopy, move for construc, assignRealTimeStamp(9aff2101c1) - Fix implicit copy constructor definition deprecation warnings (d1ebdfaff6)
KWSys Upstream (2):
Miscellaneous Changes
- KWSys 2024-03-08 (bc0706e7) (22754ed242)
- KWSys 2024-03-08 (bc0706e7) (7e3f90d526)
Matt McCormick (19):
Enhancements
- Add dictfrompolyline, polylinefromdict (60f89eecbf)
Documentation Updates
- Add 5.4 Release Candidate 4 release notes (57a6a66cc1)
- ITK 5.4 RC 3 release documentation updates (d7b20b5931)
- Update logo colors (54b7807e2a)
Platform Fixes
- Add GDCM system version check for SetSecondaryCaptureImagePlaneModule (f4e9b0ba28)
- Exclude itkPyBufferMemoryLeak test from macOS ARM CI (6df6b72557)
- GCC 13 CastXML vector include workaround (ad6c58223d)
Bug Fixes
- AuthorsChangesSince.py support both single and multiline (487da6d086)
- Make dictfromtransform more consistent with other dict representations (5397f81b7f)
- Add bufferedRegion to dictfromimage representation (c66b0466cd)
- Support passing a single transform to transform write (36b3abec9a)
- arrayfromimage shape for VectorImage with 1 component (2447a812b0)
- Use unique filenames for Nifti tests (396d62f051)
- ElementType with PolyLineParametricPath ContinuousIndex (db44bc8b9a)
- VTKPolyDataMeshIO support for reading VTK 5.1 format (30a9409d89)
- Mark GDCM macOS CMake variables as advanced (8e928a1cc0)
- Mark Module_FastBilateral as advanced (f1c390a1e2)
- Wrap SymmetricEigenAnalysisImageFilter with CovariantVector Image output (6e96da5956)
Style Changes
- Apply clang-format to LabelGeometryImageFilter (ef9907597b)
Mihail Isakov (1):
Platform Fixes
- Update GDCM system version check for SetSecondaryCaptureImagePlaneModule (6e14aadeff)
Niels Dekker (6):
Enhancements
- Add
ITK_DEFAULT_COPY_AND_MOVE(TypeName)macro definition (f65623be95)
Style Changes
- Replace
(const std::string)casts with C++17std::string_view(2a1265d75f) - Replace SetSize/Index calls in tests with
region{ index, size }(8f70ee7da1) - Replace SetIndex/Size calls in tests with
region{ index, size }(3282875e7c) - Use ITKDEFAULTCOPYANDMOVE for exceptions of Image and Mesh IO (16e6475260)
- Use ITKDEFAULTCOPYANDMOVE for
RealTimeStampandRegion(4f42280e98)
Philip Cook (2):
Enhancements
- Handle NIFTI space and time units more consistently (d9029dccb9)
Bug Fixes
- Fix path to write itkNiftiImageIOTest14 data (21b74f0584)
Sean McBride (2):
Platform Fixes
- Suppress some Wformat-nonliteral warnings (defa7129be)
- restored old spelling of CLANGSUPPRESSWfloat_equal (0c6782999b)
Simon Rit (1):
Enhancements
- update remote module RTK (2132909781)
Stephen R. Aylward (3):
Enhancements
- Optionally limit an ImageMask to a specific pixel value (c377692288)
Performance Improvements
- Changed conditionals and use of const vars for speed (610de818c0)
Bug Fixes
- Fix SpatialObjectProperties.GetTag*Value() to return values (ad25ca8900)
ITK Sphinx Examples Changes Since v5.4rc04
Hans J. Johnson (1):
Platform Fixes
- Updating to find_package(Python3) (c84d33bc)
Hans Johnson (3):
Platform Fixes
Style Changes
- One declaration per line for readability (a63e366a)
Jon Haitz Legarreta Gorroño (6):
Enhancements
- Bump
macOSversion to 10.13 in GHA build, test, publish (540f1852) - Use specific XCode version for GHA macOS 13 build (a88dee79)
- Bump macOS version for notebook build, test GHA action step (e7af6630)
- Bump checkout and setup-python GitHub actions versions (3df5ef36)
- Bump super-linter GitHub action version (38d345a5)
- Bump
upload-artifactactions version to v4 (f0bd2af9)
Matt McCormick (4):
Documentation Updates
- Update Doxygen XML for ITK 5.3.0 (94e4144f)
Platform Fixes
- Bump itkwdigets version 1.0a51 (75bef2a0)
Style Changes
- Specify ReadTheDocs custom domain configuration (be8dcfc3)
- Remove extra spaces in CMake/Doxygen* (dfb07dae)
Niels Dekker (4):
Platform Fixes
- Replace itkTypeMacro calls with
itkOverrideGetNameOfClassMacro(3b20b544)
Style Changes
- Replace
Fill(0)on local variables with{}initialization (f5ca3d30) - Replace
Size var; var.Fillwithauto var = Size::Filled(fe7bd2ae) - Replace
Index var; var.Fillwithauto var = Index::Filled(6fac7f27)
Pablo Hernandez-Cerdan (1):
Enhancements
- Bump ITK to 5.4.0 release (f6c8b9c8)
Tom Birdsong (2):
Enhancements
- Modify test macro with option for Python baseline test only (64c20ec1)
- Add 1D FFT Example (8b7f38dd)
ITK Software Guide Changes Since v5.4rc04
Dženan Zukić (2):
Documentation Updates
- Fix a typo in CreateAModule chapter (1d04a60)
- Update supported compiler version information (95b46fe)
Matt McCormick (6):
Enhancements
- Bump ITK Superbuild version to 5.4 RC 4 (f37b396)
- Improve Actions PDF artifact name (dd86548)
- Bump ITK version to v5.4.0 (c722c6a)
Documentation Updates
Platform Fixes
- Bump actions versions (7af04df)
Niels Dekker (2):
Enhancements
- Add section "Initializing variables of fixed size array types" (f10846c)
Platform Fixes
- Replace backticks with
\code{}in Initialization and Assignment (5246e64)
Remote Module Changes Since v5.4rc04
MeshToPolyData:
Matt McCormick (3):
Enhancements
- Build against ITK 5.4 RC 3 (fbb5cf4)
- Transition to scikit-build-core, pyproject.toml (6885961)
- Build macOS ARM wheels (498b40e)
dependabotbot:
Miscellaneous Changes
- Bump vite from 4.5.2 to 4.5.3 (4d706a8)
Montage:
Dženan Zukić (7):
Enhancements
- Compute and expose per-tile registration reliability (b354335)
- Update CI for ITK 5.4 RC 04 (c000499)
- Switch to SciKit build core (fb14158)
- Use updated remote module action which includes notebook fix (91eccc5)
- Enable unit tests which are no longer failing (801bf31)
- Add per-test regression intensity tolerance (06cacd6)
Documentation Updates
- Improve class description and documentation of parameters (0070c46)
MorphologicalContourInterpolation:
Matt McCormick (3):
Enhancements
- Add 4D support to wasm (1f5f597)
- Bump itk-wasm to 1.0.0-b.173 (bb38356)
- Bump CI configuration for ITK 5.4rc03 (6fb73c0)
Stephen Aylward (5):
Enhancements
- Bump setup.py and CI to use ITK v5.4 rc2 (edb76bb)
- Eliminate old compiler requirements (b38c10a)
- Update CI build to macos-12 from macos-11 (c69fce0)
- Specify XCode on MacOS (a5f0fcb)
Bug Fixes
- Tag is v5.4rc02 - adding missing 0 (5464e2e)
RTK:
Simon Rit (11):
Enhancements
- Remove CUDA code for compute capability 1 (4dfa4890)
- Replace texture references by objects for CUDA 12 compatibility (5361f69a)
- Rename lp_solve library according to ITK's conventions (938aa33a)
- Use 64-bit cublas for CUDA 12 (74d25e0a)
- Avoid single component intermediate CUDA array for scalar images (bfdca5b6)
Platform Fixes
- Display deprecation CUDA messages (902db67f)
- Fix ramp filter redefinition of itkSetMacro (4e8331f8)
- Remove deprecated inclusion of CUDA's math_functions.h (4c2a3b57)
Bug Fixes
- Use size_t to compute CUDA memory length (0a1a8ca8)
Style Changes
- Refactor function for preparing texture objects for vector images (f109868a)
- Cleanup useless code after CUDA function calls (1a2ca55e)
TubeTK:
Stephen Aylward (1):
Bug Fixes
- Incorrect class specification for InverseIntensityImageFilter (ddeae653)
WebAssemblyInterface:
Many. Removed for size constraints.
- C++
Published by thewtex about 1 year ago
itk - ITK 5.4 Release Candidate 4: ALL THE DICOMs
We are happy to announce the Insight Toolkit (ITK) 5.4 Release Candidate 4 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
🔦 Highlights
The Insight Toolkit (ITK) has further enhanced its DICOM capabilities in the latest release, building on over 25 years of extensive clinical usage and application. DICOM (Digital Imaging and Communications in Medicine) is a valuable standard handling, storing, printing, and transmitting information in medical imaging. It includes a wide range of medical data types and allows for various imaging modalities and workflow information, posing significant challenges due to its extensive support for diverse medical content and variations in vendor implementations and adherence to the standard.
This release introduces expanded support for additional modality features and crucial spatial metadata for Secondary Capture images. ITK significantly improves the way medical imaging data is processed and interpreted and ensures robust support for diverse DICOM applications.
The impact of spatial metadata handling on the NLM Visible Human cryomacrotome anatomic secondary capture images, available in the NIH Imaging Data Commons, when visualized in 3D Slicer. Left: before ITK v5.4rc04, Right: after. Screenshots courtesy Steve Pieper.
The development of ITK’s DICOM support is a testament to a robust community-driven effort involving ITK developers, maintainers from DICOM library projects such as GDCM and DCMTK, and curators of the DICOM standard. This release includes collaborative contributions from notable community members including Mikhail Isakov, Jon Haitz Legarreta Gorroño, Sean McBride, Martin Hoßbach, Mathieu Malaterre, Michael Onken, Steve Pieper, Andras Lasso, David Clunie, and Andrey Fedorov.
This release candidate also expands on our support for elegant, performant, modern C++. For example, specializations of std::tuple_size and std::tuple_element for itk::ImageRegion in order to support C++17 structured bindings enable compile-time optimized statements to provide a multidimensional region's index and size:
cxx
auto [index, size] = image.GetRequestedRegion();
For more information on ITK 5.4's modern C++ support, see the Release Candidate 1 release notes.
Moreover, this release candidate extends the toolkit's sustainability and Python support through Stable ABI Python wheels. This is made possible by upgrades to SWIG and scikit-build-core, the modern Python packaging standard evolution of scikit-build classic. Python 3.11 wheels will be recognized by pip and work with Python 3.11, 3.12, 3.13, 3.14, etc. While we also provide cross-platform wheels for Python 3.8-3.10, we can only use the Stable ABI with Python 3.11 because it is required for itk's NumPy support.
ITK Remote Modules now also have GitHub Action-driven mac ARM / Apple Silicon Python wheel generation support. While a Remote Module setup.py file is still supported in ITK 5.4, migration to a scikit-build-core pyproject.toml file is encouraged. One important advantage is the generation of Stable ABI wheels for Python 3.11+. To migrate to scikit-build-core, use this pyproject.toml template and remove the setup.py file.
ITK 5.4 contains many additional improvements; highlights can be found below along with a more detailed changelog. For a summary of changes that continue our sustainability evolution with Web3 testing data, see the 5.4 Release Candidate 2 release notes.
💾 Download
Python Packages
Install ITK Python packages with:
bash
pip install --upgrade --pre itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
✨ Features
Python
- Wrapping for
itk.PhasedArray3DSpecialCoordinatesImage - Better support for multi-component images in
image_from_vtk_image itk.imreadsupports aseries_uidkwarg for DICOM series selection- TBB version updated to latest stable version, disabled on Intel macOS
- Python binaries for 3.8-3.11 across platforms
- Python 3.11 uses the Stable ABI -- works with Python 3.11+
- Python 3.7 is no longer supported
- Apple Silicon Remote Module GitHub Action wheels
- Updated to the latest version of scikit-build-core
- Import time improvements with
torch
C++
- C++17 is now required
- Many style improvements for modern C++ and consistency
- GCC 13 support
- Name mangling prefix for third party libraries is configurable
- Update mangled 3rd-parties to use
MANGLE_PREFIXCMake variable - Many improvements to code coverage
- Enhanced NRRD and Nifti metadata support
- CMake
OPTIONAL_COMPONENTSsupport - Apply cmake-format for a consistent CMake style
get()member function toitk::SmartPointeritk::Size::CalculateProductOfElements(), to compute number of pixelsDeref(T *), to ease dereferencing a pointer safelyitk::ShapedImageNeighborhoodRangesupport C-array of offsets (by C++17)- Add
itk::Copy(const T & original), which simply returns a copy - Make
itk::ImageRegiontrivially copyable, remove inheritance (FUTURE)
Performance
- Use index/point transforms without bounds checking
- Improved SSE2 detection
- Many improvements to how locks are handled
- Major
itk::SpatialObjectperformance improvements
Documentation
- New GitHub Action to check spelling
- Doxygen formatting cleanup
- Doxygen spelling fixes
- Doxygen Insight Journal links are consistent
- Many Doxygen improvements to the content
- Software Guide updated for style modernization
- Change the Insight Journal handle links to insight-journal links
- Replace
itkTypeMacrowithitkOverrideGetNameOfClassMacro
Remote module updates
New modules:
- FastBilateral - A Fast Approximation to the Bilateral Filter for ITK. Insight Journal article.
Updated modules: - BSplineGradient - BoneMorphometry - Cleaver - Cuberille, - CudaCommon - FPFH - GenericLabelInterpolator - HASI - HigherOrderAccurateGradient - IOMeshSTL - IOMeshSWC - IOScanco - LabelErodeDilate - MeshToPolyData - MinimalPathExtraction - Montage - MorphologicalContourInterpolation - ParabolicMorphology - RANSAC - RLEImage - RTK - Shape - SimpleITKFilters - SplitComponents - Strain - TextureFeatures - Thickness3D - TubeTK - Ultrasound - VkFFTBackend - WebAssemblyInterface
Third party library updates
- dcmtk
- eigen
- gdcm
- googletest
- kwsys
- minc
- meta-io
- nifti
- pygccxml
- vxl
- zlib-ng
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 59 authors who contributed since v5.3.0, we would like to specially recognize the new contributors:
Nicklas Larsson, huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, LAURENDEAU Matthieu, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, Andras Lasso, Bernhard Froehler, Thomas BAUDIER, Matthieu LAURENDEAU, Fabian Wenzel, Mikhail Polkovnikov, Pritam Rungta, Florian de Gaulejac, Ramon Emiliani, Martin Hoßbach, Sadhana Ravikumar, and Gabriel Chartrand.
🗣️ What's Next
This is the final release candidate before v5.4.0. An issue following the tagging of v5.4rc03 predicated the publication of this release. 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.4rc02
Andras Lasso (2):
Enhancements
- Add GDCM test for 32 bits stored DICOM image (7e350ef7cd)
Style Changes
- Simplify itkDCMTKImageIO (decc3e5977)
Bernhard Froehler (1):
Platform Fixes
- Add missing include (gcc13.2/clang17 build) (f871250c8d)
Brad King (2):
Enhancements
- Improve messages when ITKInternalEigen3 fails to configure (fd97c1034d)
Platform Fixes
- Fix installation of ITKInternalEigen3 with space in path (278c398614)
Bradley Lowekamp (4):
Enhancements
- Add support for OPTIONAL_COMPONENTS (ee84d1eb91)
- Introduce constants for the default tolerances (4881cee2e1)
Documentation Updates
- Clarify ThresholdImageFilter behavior (e67365a805)
Bug Fixes
- Make JPEGImageIO const correct with m_FileName (dba496d0c3)
Dave Chen (1):
Enhancements
- Github Action to Spell Check Comments (4a04d8f308)
Dženan Zukić (25):
Enhancements
- Add ULL type to ConnectedComponentImageFilter wrapping (3b5f76486d)
- Add a 3D regression test for FillholeImageFilter (3d54107d0d)
- Update Montage remote module (46454a1b48)
- Fix problems introduced by the latest zlib-ng update (b760b020cf)
- Add CompositeTransform to DataObjectDecorator wrapping (5d1455035a)
- Update KWStyle to avoid a CMake warning during its configure step (f58ccd1565)
- Wrap DataObjectDecorator
> (b6a6b6b524) - Allow using std::vector
in itkSetMacro and friends (71c5c83e10) - Add IsSameImageGeometryAs convenience method to ImageBase (92f6d10219)
- Wrap AffineTransform for float parameters (02c0181098)
- FlatStructuringElement and ShapedNeighborhoodIterator Interop (bac09b0834)
- Add FastBilateral remote module (c9b15e5eec)
- Improve numerical precision of weighted centroid computation (db6114d322)
- Update remote modules using the script (858329745b)
- Switch MINC upstream branch from
developtomaster(4b0874b9d1)
Documentation Updates
- Show that we can pass a list of images via Python wrapping (03f250ddd8)
- Remove commented-out
GetAllCountsmethod declaration (959ad044e0)
Platform Fixes
- Add ULL wrapping for ScanlineFilterCommon (9f54bb8bf2)
- Fix Warning for CMP0135 in remote modules (DownloadClangFormat) (7972041148)
- Address clang warnings in a remote module (9e8f6a473d)
- Update KWStyle to fix build warnings with MacOSX13.1.sdk (ef6faa3ccc)
- Fix compile error in MSVC permissive mode (634cbdc20e)
- Wrap IdentityTransform for float (dd11c3a595)
Bug Fixes
- Fix computation of weighted centroid in LabelGeometryImageFilter (daec066b7a)
Style Changes
- Fix code indentation in pyBase.i to aid understanding (1273d52141)
Eigen Upstream (1):
Miscellaneous Changes
- Eigen3 2023-11-08 (2a86e97c) (90301ece63)
Fabian Wenzel (4):
Documentation Updates
- Fixed git hook commit error message if clang-format is not found (9076f05bda)
Platform Fixes
- Skip Python-Wrapping of ITKVtkGlue (0b1fafe35f)
- LBFGSOptimizerBasev4 explicit instantiation for wrapping shared libs (607493ec1a)
- Fix MultiThreaderSingle typos (a5d9526829)
Florian de Gaulejac (2):
Platform Fixes
- Fix compilation of FEM module with VS2019 (95a0d0e289)
- Fix compilation with VS2019 -std:c++20 (without BUILD_TESTING) (1deea1ef93)
GDCM Upstream (4):
Miscellaneous Changes
- GDCM 2023-10-30 (b578ec5d) (577e3c3d13)
- GDCM 2023-10-30 (b578ec5d) (e7657b4022)
- GDCM 2024-03-25 (06091299) (919cf42417)
- GDCM 2024-04-02 (8a6da61b) (6b77ea23e1)
Google double-conversion Maintainers (1):
Miscellaneous Changes
- DoubleConversion 2023-11-01 (15b7e306) (3dcbf20f73)
Hans Johnson (14):
Style Changes
- Remove unused function (6a5b34609a)
Enhancements
- Wrap new variant of itkLBFGS2Optimizerv4 (44c06f67ab)
Documentation Updates
- The example is a TranslationTransform (604fb3b10f)
- Refine ExhausiveOptimizer documentation (f7c54f853a)
- Add more explicit documentation for transform parameters (ee160a9657)
Platform Fixes
- Numerical computation precision limit in resampling (877acbac08)
- Add test for correct value of GetNameOfClass() (e126823ace)
- Simplify static array length checking (eb7d3423c3)
- Use the c++ 17 common [[fallthrough]] attribute (9243a075cd)
Bug Fixes
- SetIdentity must retain FixedParameters (db9cfea74b)
- Fix removal of '-' from patientId (085446af77)
Style Changes
- Localize variables and use const (d17f47d486)
- Fix grammar in documentation for MattesMutualInformation (de3974ca93)
- Use gender-neutral language for example documentation (a895d7f597)
Jon Haitz Legarreta Gorroño (67):
Enhancements
- Add RTTI to
itk::FEMScatteredDataPointSetToImageFilter(6409bce13a) - Increase coverage for
ìtk::BSplineTransformInitializer(e6e759b46e) - Increase
itk::ParallelSparseFieldLevelSetImageFiltercoverage (87c5a9ae5f) - Increase
itk::SingleValuedNonLinearVnlOptimizercoverage (adb447f078) - Increase coverage for
itk::ObjectToObjectOptimizerBaseTemplate(3324ef04a6) - Increase coverage for
itk::TransformGeometryImageFilter(cd6c940975) - Increase itk::DiscreteGaussianCurvatureQuadEdgeMeshFilter coverage (19726285ac)
- Increase coverage for
itk::FancyString(8a802d7091) - Increase the
itk::SingleValuedNonLinearVnlOptimizerv4coverage (215209f4f1) - Increase
itk::ShapeOpeningLabelMapFiltercoverage (f74435d109) - Add test for
itk::XMLFilterWatcher(3c37fe34aa) - Add test for
itk::MeshRegion(fd076e4db2) - Add boolean macro to
TransformFileWriterTemplate::m_AppendMode(4b400752f9) - Fix workflow actions warnings linked to
Node.js(95b8a6fa07) - Fix macOS ARM workflow actions warnings linked to
Node.js(65306d5f62)
Documentation Updates
- Remove
itkprefix to class names in Doxygenclasscommand (2dd28a46a6) - Fix
QuadEdgeMeshScalarDataVTKPolyDataWriterDoxygenclassname (f0019cb8f9) - Add missing closing bracket in contributing enforcement insert (b63df69488)
- Fix diversity statement link in code of conduct (d99753f4e0)
- Add link to documentation in
README(5ed8c4bb00) - Improve
itk::GIPLImageIObrief explanation (7b1f4ba8a1) - Fix the
itk::MeshRegion::SetRegionmethod doc description (cf8c8c2c68) - Add ITK scientific ecosystem section to documentation (f5e17ca53f)
- Transfer the wiki FAQ page to Markdown documentation (7ced4cc337)
- Fix grammar in the ITK ecosystem documentation page (8a4ab318ef)
- Fix ITK class Doxygen documentation link Markdown syntax in FAQs (e71aa71799)
- Remove deprecated combined ITK/VTK use doc section in FAQs (2167ca59ee)
- Transfer the wiki FDA SW guidelines page to Markdown documentation (63045e7c1d)
- Honor
ITK-Wasm's case in documentation files (6459a622c7) - Fix FAQ documentation heading typo (ba49d436ec)
- Remove mention to deprecated
itk::DICOMImageIOclass in FAQs (6e42f13e87) - Remove mentions to deprecated
ITKAppsfrom FAQs (4deead1f08) - Transfer the wiki HU page to Markdown documentation (b4c1154686)
- Transfer the wiki documenting ITK page to Markdown documentation (5c730b1196)
- Remove non-existing file from documentation TOC (7d8b95d705)
- Transfer the wiki DICOM page to Markdown documentation (676f80cc9b)
- Transfer the wiki 3rd party apps page to Markdown documentation (e186d876b3)
- Redirect to current location in docs transferred wiki links (4543ba6dce)
- Rename the FDA SW development guidelines doc file (bc135604b8)
- Fix reStructuredText link syntax in
Documenting ITKdoc file (64fff24627) - Fix
itk::FEMSpatialObjectWriterDoxygenbriefdescription (3b0a786c03) - Fix grammar in binary data upload documentation file (c1687e991a)
Platform Fixes
- Fix name of class assertion failure in FEM module (2999b59ebb)
- Remove unused
FEMmodule test input arguments (00e059ed52) - Fix test method signature in
FEMmodule (26f7fbb200) - Remove unnecessary
itkFEMSpatialObjectWriter.hincludes (e306437e56) - Fix macro spelling in
itkOpenCVImageBridgeRGBTest.cxx(299ce20329)
Bug Fixes
- Fix
CachedCurrentPositionivar initialization numeric traits arg (50b905a8ae)
Style Changes
- Increase
itk::ListSample::PrintSelfconsistency (fe184c8d9a) - Conform to ITK style guidelines in test ending message (1f80e3554e)
- Improve PSFLSIF test style (45583cf29b)
- Prefer using testing macros in miscellaneous tests (043b0680cb)
- Use medial capitals to name variables in test (2cc791c2ef)
- Rename test to honor the tested class (28ef2f160b)
- Use testing macros in
itkFancyStringTest.cxx(2b8ce7799b) - Use the superclass name in itkTypeMacro (fb8a573ef7)
- Remove unnecessary whitespaces in Release doc code blocks (15fc83174a)
- Fix verbatim code syntax in Python quick start documentation (906e69d6fa)
- Use inline verbatim code style for Python supported pixel types (2f13f82f6f)
- Increase consistency in doc code block highlight language names (cd22deff6b)
- Remove prompt and spaces in Markdown documentation bash blocks (a6036a8b6f)
- Increase consistency in doc bash code block highlight name (4d316b9380)
- Prefer regular font in
Documenting ITKdoc file link text (caab8d2384) - Remove commented statements with hard-coded filenames in
FEM(842c32cd39) - Start reader/writer
FEMmodule local variables with lowercase (d3cc8743d5) - Check properly
FEMmodule test input arguments (60067a656d) - Use
ITK_TEST_EXPECT_EQUALto compare class names in QEMesh (781cf0d33c)
KWSys Upstream (1):
Miscellaneous Changes
- KWSys 2023-11-29 (433f3d23) (20e98390b3)
LIBPNG Upstream (1):
Miscellaneous Changes
- PNG 2024-02-10 (7a614829) (55292c9a5f)
Martin Hoßbach (1):
Bug Fixes
- itkDCMTKFileReader Philips multi-frame MRI Z spacing (dbd46b48bf)
Matt McCormick (83):
Enhancements
- Remove ContentLinkSynchronization.sh script (80af986eca)
- Transition SourceTarball.bash script for .cid (561383ed4a)
- Update remote modules to their latest version (521c2215a2)
- Wrap CompositeTransform for float32 parameters (7a6053fc72)
- Test to verify GDCM multi-frame MRI Z spacing (106cd680d8)
- Add DICOM preamble, no_preamble tests (8427bbec0b)
- Test CanReadFile for DICOM files with a preamble (a099f08c20)
- Bump DCMTK to 2024-03-11 master (db9c048921)
- Enable DCMTKENABLEBUILTINOFICONVDATA by default (1ed8ead451)
- Enable SecondaryCaptureImagePlaneModel in GDCM (f545dd8f5b)
- Add test for reading DICOM secondary capture spatial metadata (8eb077a113)
- Bump SWIG to 2024-03-26-master (d6c69f5eb7)
- Add macOS ARM SWIG binary (2df824bdbf)
- Add macOS AMD64 SWIG binary (b507643bf0)
- Add Linux aarch64 SWIG binary (82d8165eba)
- Add Python Limited API support (0c5e523c14)
- Update pygccxml-upstream branch version (a7e6b3ce32)
- Add macOS ARM GitHub Actions configuration (99d13a4677)
- Add macOS ARM Python CI (60756c28f0)
- Add more tests for DICOM Secondary Capture Spacing (a2447ab7c1)
Documentation Updates
- Update Download page for release artifacts (b4826a46b1)
- Update Download link in README (fa38cbec52)
- Sphinx documentation subtitle: ITK's documentation (530da05774)
- Add Download page links to the release notes (cd5dfade84)
- Improve documentation contribution documents (83a94bbda4)
- Link to rendered docs for CODEOFCONDUCT.md, CONTRIBUTING.md (af1fa27aeb)
- Migrate the migration guide to Sphinx (094213f076)
- Migrate the NOTICE file to markdown (9c91750e61)
- Add CDash link (8f1542fcd3)
- Integrate supported compiler docs into sphinx (357bee25ff)
- Add Releases and Licenses to Download section (feafcdbf9c)
- Add documentation contribution docs to the docs (6a751db842)
- Add note about RTD default rendered documentation version (b658820c22)
- Add Release process documentation notes on release branches (655889e22c)
- Move CDash link to Contributing section (658d949d36)
- Add Dashboard documentation to contributing docs (7d27bd1458)
- Move Git branches description into main docs (db4b1d224e)
- Add GNU Guix package installation instruction (1f1882f77a)
- Release manager data archiving process for 5.4 (2387097235)
- Add missing sphinx-autobuild link (70bcd968ce)
- Add Python Quick Start guide (6c210cb92d)
- Update and clarify binary data upload process (4564b6f973)
- Update ITK Python package quick start link (094e888ba0)
- Upload Binary Data grammar improvements (751e9ca699)
- Add 5.4 RC 02 Release Notes (9ed6cad74a)
- More background for supported compilers (c46aaf30dc)
- Update SetupForDevelopment.sh link to contributing documentation (60a34147b3)
- Add macOS ARM CI badge to README (130d4f0990)
Platform Fixes
- Remove diversity-statement cross-reference (229be245ec)
- yaml language annotation on module_workflows.md (c55b289587)
- Add itkSLICImageFilterTest1 baseline for macOS ARM (aa93b4ac18)
- Use signed char for SobelOperator convolution test (32535078a3)
- Only support SWIG slice workaround for Python >= 3.2 (fad5849468)
- Remove use of itkDebugMacro in static method (843dba1678)
- Remove distutils imports (423d6494e3)
- include stdlib.h for SWIG free/malloc with the Stable ABI (7e4c0c54b8)
- Python Stable ABI support configuration improvements (8da6c2e338)
- Bump Validated CMake policies version to 3.29.0 (6e88ab6fd9)
- Bump zlib-ng CMake max policy to 3.29.0 (cdd8be3b91)
- Apple Clang 15 duplicate libraries (7231bf793f)
- ResampleImageFilter9 baseline for ARM macOS (75e08fcf43)
- Bump KWStyle to silence boost predefined-identifier warning (566f9f531a)
- Wrap 1D FFT classes before their Vnl implementations (03643a3941)
- Specify second template parameter for 1D FFT wrapping (44f3dc9971)
- Use both template parameters for ShapeLabelMapFilter wrapping (b61d4ed7f1)
- Specify all template parameters for NarrowBandLevelSetImageFilter (ee33f5ae1b)
- Bump CastXML to 0.6.5, LLVM to 18.1.3 (44a6beec77)
Bug Fixes
- Support serialization of an empty itk.Image (0a08d16c2b)
- Add pickle support for itk.Matrix and itk.ImageRegion (4dec7917da)
- Wrap LBFGSOptimizerBaseHelperv4 before LBFGSOptimizerBasev4 (119e8da7b1)
- Fix protocol identification in UpdateRemoteModules.sh script (b4c65b32e8)
- Mark CMake variables as advanced (3bd88cedd2)
- Increase size limite for GDCM privatedicts.xml file (11630a0436)
- Remove ArchiveTestingDataOnGirder.py (62cf190608)
- CMake find_package for Python requires 3.8 or newer (fd266a93a6)
- Check for Secondary Capture spacing following DICOM Part 3 Sect A.8.1.3 (c23d6c730f)
- CastXML update Linux AArch64 binary (270f726ba9)
- Fix PyLIMITEDAPI minor version spec (8b4778732f)
Style Changes
- Remote modules keep key-value on the same line (7d94ec1790)
- Run ./Utilities/Maintenance/cmake-format.bash --tracked (0a36430ea7)
- Replace ${git_protocol} with https (8b22004029)
- Simplify SWIG CMake variables (c12eaef63c)
- Use transformType in transform dict representation (015c7546d6)
Matthew McCormick (2):
Documentation Updates
- Release version consistency (b15e272796)
- Clarify latest vs release version in generated docs (96f2299f22)
MetaIO Maintainers (2):
Miscellaneous Changes
- MetaIO 2024-02-15 (8bd99f13) (7c8f3bbe40)
- MetaIO 2024-04-03 (ea08147a) (4951dbc756)
Mihail Isakov (6):
Enhancements
- Fixed coverity warnings in itkImageRegion.h (9d2364ffb5)
Performance Improvements
- Fixed COPYINSTEADOF_MOVE in MultiThreaderBase (f486c3c2f7)
Documentation Updates
- Fix typo in itkRGBPixel.h (adcc46bf96)
Style Changes
- Update comments and parameter in the ImportImageContainer (3ad51b4ac2)
- remove duplicated itkMath.h headers (3cafe87c58)
- remove unnecessary itkImageFileWriter.h header (8010fafde3)
NIFTI Upstream (3):
Miscellaneous Changes
- nifti 2023-09-11 (75180f77) (6a88f6140b)
- nifti 2024-01-25 (f24bec50) (a7f14bdff4)
- nifti 2024-01-25 (f24bec50) (458dbf6daa)
Niels Dekker (149):
Enhancements
- Add
get()member function to itk::SmartPointer (f74950f493) - ShapedImageNeighborhoodRange support C-array of offsets (by C++17) (77e147bfa9)
- Add
Deref(T *), to ease dereferencing a pointer safely (042d42327b) - Add
Cropunit tests to itkImageRegionGTest (25afa49d45) - Add
itkImageRandomConstIteratorWithIndexGTestunit test (b48c999aab) - Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (94e7339da4)
- Add Size::CalculateProductOfElements(), to compute number of pixels (c4ef860638)
ImageRegionsupport C++17 structured binding (72aa9a602b)- Add class template argument deduction (CTAD) support to ImageRegion (8de195f404)
- Check
thisClassargument ofGetNameOfClassmacro calls (d45127b5a3) - Add
itk::Copy(const T & original), which simply returns a copy (b2dacece7a) - Add error message to static_assert in
GetNameOfClass()macro (16101c6eaa) - Add
MultiThreaderBase::SetSingleMethodAndExecutemember function (972b5779a5) - Let ImageSpatialObject update the image regions of its base class (5e528ec174)
- Add ValueInitializedIsZeroFilled tests for derived FixedArray types (aa38dce1a5)
- Add
AllocateInitialized()to ImageBase (47fe345cd8) - Let
x::New()initialize the created object by doingnew x()(1986b54f89) - Add
Array2D(numberOfRows, numberOfCols, initialValue)constructor (ec5223eb89) - Add GoogleTest unit tests for GradientImageFilter (17a221c0c1)
- Add protected helper function,
Transform::InvertTransform(5328c0242b)
Performance Improvements
- Make
ImageRegiontrivially copyable, remove inheritance (FUTURE) (1f3bbb6586) - Replace std::function w/ template argument ParallelizeImageRegion (40f04a892c)
- Let SetSingleMethod move its first argument (
f) (06629c249b) - Let Singleton move its
deleteFuncargument (5276de74c8) - Let SpatialObject directly access m_ObjectToWorldTransformInverse (1e0475cc6b)
- Add SpatialObject IsInsideInWorldSpace(const PointType &) overload (2ca2351340)
- Make
m_ObjectToWorldTransformInverse->TransformPointnon-virtual (4ae04b35fa) - ImageMaskSpatialObject use image regions from its base class (671d758ac3)
- FUTURE: Default default-constructors of
RGBPixelandRGBAPixel(755cd10e54) - FUTURE: Default default-constructor of
SymmetricSecondRankTensor(0a30e7fc20)
Documentation Updates
- Replace the word "overwrite" with "override" in SpatialObject doc (f87fd913a7)
- Avoid the term "pure virtual function" in SpatialObject doc (c9c7236457)
- Replace examples of
SpatialObjectfunctions that one may override (21e795bbf4) - Add
GetNameOfClassmacro's to DOXYGEN_PREDEFINED (77f5c6d6f5) - Remove obsolete information about
Array2D(091a270b4b) - Document constructors and assignment operators of
Array2D(88e4f10628) - Update documentation of
GetNameOfClassmacro calls (4d750726d0)
Platform Fixes
- Use conjunction_v to check argument types of MakePoint, MakeVector (da418c11c5)
- Exclude Utilities/Debugger files from Azure Pipelines CI (00badaeafb)
- Fix XML namespace of Natvis file (Visual Studio Debug Visualizers) (dccdf4b00a)
- Examples: Replace itkTypeMacro with itkOverrideGetNameOfClassMacro (e76c37287f)
- PyUtils: Replace itkTypeMacro with itkOverrideGetNameOfClassMacro (c1af2b7b16)
- Locally ignore Clang
-Wmismatched-tagswarnings inImageRegion(9a35c2fdcd)
Bug Fixes
- Remove
numeric_limits<IndexValueType>::maxfrom ImageRegion GTest (8e5d3f8788) - Fix name
BinaryImageToLevelSetImageAdaptor::GetNameOfClass()(038c7391e0) - Fix name returned by
GetNameOfClass()in Optimizer tests (4ee0617b5e) - Replace Math::Round template argument
doublewithint64_t(705f84f0fc)
Style Changes
- Use
volatileto avoid global SingletonIndex being optimized out (a661e0e74b) - Fix XML namespace of natstepfilter file (Visual Studio Debugger) (7f3f616137)
- ResetNextSeed GTest should not use instance for GetNextSeed call (fed6ed0f2a)
- Replace
Unusedcalls with C++17[[maybe_unused]]attribute (a28242a155) - Deprecate (ITKFUTURELEGACY_REMOVE)
Unused(const T &)(2803ebbb05) - Replace ASSERT_NE calls with
Derefin VTKPolyDataMeshIO GTest (85e29d0ad6) - ImageRegion replace GetIndex(), GetSize() calls with data access (1b576481a7)
- Remove local
cropPossiblevariable fromImageRegion::Crop(fc17f0bacb) - Reduce scope of local for-loop index
iinImageRegion::Crop(6d86d1fb61) - Remove local
cropvariable fromImageRegion::Crop(8439a2e4a7) - Remove unreachable
breakstatements afterreturnstatements (9fab1bcd9d) - Replace std::min, std::max calls in "Colormap" with
std::clamp(83613f78de) - Replace std::min, std::max in ProgressTransformer with std::clamp (118581ebc2)
- Replace std::min, std::max in SliceImageFilter with
std::clamp(007d93f8ec) - Use
std::clampin GetGlobalDefaultNumberOfThreads() (2ee5c8e60a) - MersenneTwisterGlobals replace std::recursive_mutex w/ std::mutex (dad0d82149)
- Rename MersenneTwisterGlobals data member from "Lock" to "Mutex" (476d9e7aee)
- Remove unused local
ImageRegionvariables (1a2e2b3c0e) - Remove pre-C++17 definitions of static
constexprdata members (8061d3ce15) - ITKFUTURELEGACY_REMOVE, deprecate TemplatedThreadingFunctorType (eef26b53fa)
- Use "constexpr if" in
ParallelizeImageRegionRestrictDirection(dd930155a1) - Remove
continuefromParallelizeImageRegionRestrictDirection(620b592353) - Remove splitRegion from
ParallelizeImageRegionRestrictDirection(e04d4c2b80) - Replace default capture
ParallelizeImageRegionRestrictDirection(f9d21aed07) - Replace itkTypeMacroNoParent with itkVirtualGetNameOfClassMacro (fa1f39a2b6)
- Replace itkTypeMacro calls with
itkOverrideGetNameOfClassMacro(2c264ea2ef) - ITKFUTURELEGACY_REMOVE itkTypeMacro and itkTypeMacroNoParent (36e9549880)
- ImageRegion GetNumberOfPixels() call CalculateProductOfElements() (12f87f4924)
- Let Neighborhood SetRadius call Size CalculateProductOfElements() (af1182a98a)
- Remove
std::prefix from uint8_t in MathematicalMorphologyEnums (ed4b29d271) - Replace
#include <cstdint>with#include "itkIntTypes.h"(c8ec91c826) - Add
itkInternalGetNameOfClassImplementationMacromacro (2cc371a93f) - Use std::next in
LabelMap::GetNthLabelObject(f844df9f0e) - Default LabelMap default-constructor (c3639c232e)
- Follow C++ Rule of Zero for LabelMap iterator classes (630b6f4472)
- Do not ignore return value of the initial GetInverseMatrix() call (cfadfee253)
- MatrixOffsetTransformBase take
GetInverseMatrix()out of loops (f8075a7e12) - Remove itkSetObjectMacro if itkSetConstObjectMacro is also there (813ddb3d52)
- Remove public defaulted default-constructor/destructor pairs (a8f034dbf9)
- Replace old
ifby "constexpr if" initk::Mathimplementation (444acec2c4) - Replace tuple with private GlobalObject struct, in SingletonIndex (902d1f27d8)
- Use range-based
forloop to iterate over children SpatialObject (8bfeb9fb02) - Add
consttopnt(PointType) variables in SpatialObject (f3e9b6dd0a) - Add
consttopos(iterator) variables in SpatialObject (bbeb397624) - Use "constexpr if" in ClampCast, before calling
Math::Round(6b984893fd) - FUTURELEGACYREMOVE virtual SpatialObject InWorldSpace functions (aa65f4b083)
- Replace SetSingleMethod, Execute with
SetSingleMethodAndExecute(436423d798) - Replace magic number SpatialObject
MaximumDepth = 9999999(ae081637f8) - Let itkFactorylessNewMacro(x) just call itkCreateAnotherMacro(x) (fc880d4ab1)
- Let itkFactorylessNewMacro directly initialize its
smartPtr(f70b1b1598) - Let
x::CreateAnother()just returnx::New().GetPointer()(848b5a4c76) - Let SpatialObject directly access its m_ObjectToWorldTransform (fa52dba3b6)
- SpatialObject use
std::transformto filltransformedCorners(c516690253) - Replace MakeFilled
(NumericTraits ::ZeroValue()) w/ Self{} (2013902c3d) - Remove last argument (zero) from calls by FreeSurferAsciiMeshIO (030d626a41)
- Replace
NumericTraits<unsigned int>::ZeroValue()with0U(5d746cc0bc) - Replace
NumericTraits<T>::ZeroValue()withT{}(13ccff6af8) - Replace
expectZeroFilledlambda's with ExpectEachElementIsZero (b4f90bbd16) - Replace
itk::NumericTraits<unsigned int>::OneValue()with1(63b0c85990) - Remove duplicate
#includedirectives (ef28b0f9f5) - Replace
if (x > f()) x = f()withx = std::min(x, f())(1b9fc82957) - Replace
if (x < f()) x = f()withx = std::max(x, f())(b554b994e0) - Move GetStartIndex() and GetEndIndex() calls out of
forloops (ba1b2bd649) - Use
std::clampin NearestNeighborExtrapolateImageFunction (032c7798f0) - Use
std::clampin itkZeroFluxNeumannPadImageFilterTest (32c470a0ac) - Replace
if (x > a[i]) x = a[i]withx = std::min(x, a[i])(93bef51dd1) - Replace
if (x < a[i]) x = a[i]withx = std::max(x, a[i])(22d6bab560) - Replace
Allocate(true)calls withAllocateInitialized()(527843e9fc) - Remove temporary vnlvectorref from const GetVnlVector overloads (3c1da644f2)
- Replace
PushBackInput,PushFrontInputwith using-declarations (613c8f405e) - Let Point, RGBPixel, RGBAPixel operator== just call the BaseArray (28f84ab956)
- Remove
as_ref()when callingis_equalon direction matrices (69626afd8b) - Replace
Allocate(); FillBuffer(0)withAllocateInitialized()(cd49925a4e) - Combine assignments to basei[i] in LinearInterpolateImageFunction (b914646bbc)
- Remove
&from LinearInterpolateImageFunction distance variables (876da25c17) - Remove doxygen.config.in (superseded by DoxygenConfig.cmake) (0c5c63890b)
- Remove outdated VERBOSE_DEBUGGING/RGEDEBUG support from "IO/GE" (c9f43677eb)
- Remove
== truefrom Boolean expressions (e7a60b6ca7) - Simplify resetting
ScheduleTypeobjects (110c25b3fc) - Use
trueas default member initializer for m_UseImageSpacing (ddea89f786) - Use
trueas default member initializer for m_UseImageDirection (16456e1a08) - FUTURELEGACYREMOVE ImageToImageMetric::m_InterpolatorIsBSpline (8515928863)
- FUTURELEGACYREMOVE ImageToImageMetric::m_TransformIsBSpline (2ff04804e4)
- Move
GetSpacing()calls out offorloops (c0ebd8e581) - Use std::uniqueptr for GradientImageFilter::mBoundaryCondition (db095cd630)
- Declare local
radius,centervariables in Filtering constexpr (4535548a85) - Replace "the the" with "the" in comments (b4f0bb8a67)
- No longer set
hooks-max-sizefor nifti2_io.c, doxygen.config.in (88bfbfdc43) - Let GetInverseTransform() just call
Transform::InvertTransform(fb4b463b38) - Replace BoundaryConditionPointerType w/
BoundaryConditionType *(839955e939) - Remove unused
Superclass::BoundaryConditionPointerType(bb00c86f38) - FUTURELEGACYREMOVE BoundaryConditionPointerType type aliases (226802f320)
- Use (const) uniqueptr for `SparseFieldLayer::mHeadNode` (821024ae10)
- Allocate local GaussianOperator objects (
oper) on the stack (798675aafc) - Use uniqueptr for MRIBiasEnergyFunction mInternalEnergyFunction (b7f0f1f8a3)
- Remove
this->when HDF5ImageIO accesses its own data (ff17551212) - Use unique_ptr for data members of HDF5ImageIO (b3be83ab91)
- Do not declare CumulativeGaussianCostFunction data as pointer (ed4cd5f303)
- Put local matrix variables in FEM on the stack, remove new/delete (2e1cfba4ec)
- Use (const) uniqueptr for `GiplImageIO::mInternal` (5969bc07c9)
- Remove
this->when MINCImageIO accesses its own m_MINCPImpl (67aadb18b3) - Use (const) uniqueptr for `MINCImageIO::mMINCPImpl` (dc65864f45)
Pablo Hernandez-Cerdan (3):
Enhancements
- Update external eigen to upstream master (cced7fdd66)
Style Changes
- Improve itkExternal_Eigen3.cmake (ffbe09ba57)
- Format itkExternal_Eigen3 command (f79ec6473e)
Sean McBride (3):
Enhancements
- added .codespellrc config file from GDCM (8cf3707464)
- Replaced a few remaining sprintf (comments only) (267876bc5b)
Platform Fixes
- Updated libpng symbol mangling (7cf7ce035f)
Simon Rit (1):
Platform Fixes
- Fix CMake configuration for cmake versions without CMP0135 (8d1fac474a)
Stephen R. Aylward (1):
Enhancements
- Extend NearestNeighborInterpolateImageFunc wrapping for RGB (bac8adfe89)
Steve Pieper (1):
Bug Fixes
- DCMTK reader wrongly rejects file with preamble (b04aed28b8)
Thomas BAUDIER (1):
Performance Improvements
- Do not import torch to reduce itk import time (963a6f426b)
Tom Birdsong (4):
Documentation Updates
- Clarify requirements installation for docs autobuild (ddc1d2d019)
- Add external module continuous integration discussion (b05ba5ece2)
- Migrate and update docs for building ITK Python wheels (249e2d9238)
Bug Fixes
- Remove
ymltag from ITK module workflow documentation (70a17d7b64)
VXL Maintainers (1):
Miscellaneous Changes
- VXL 2023-11-01 (6456d120) (85daed4d9f)
Vladimir S. FONOV (2):
Miscellaneous Changes
- MINC 2023-11-14 (15d994de) (c3952a86fc)
- MINC 2024-04-03 (a608a1bc) (930156dd05)
Ziv Yaniv (2):
Documentation Updates
- Adding pointer to SimpleITK in the ecosystem. (4d322d8cf1)
Bug Fixes
- Missing modality tag when reading meta-image format. (ac3870efec)
Zlib-ng Upstream (2):
Miscellaneous Changes
- zlib-ng 2023-12-29 (fd5b20f4) (8828612a49)
- zlib-ng 2024-01-10 (74253725) (2ce4e124e7)
pygccxml Upstream (1):
Enhancements
- pygccxml v2.5.0 (reduced) (b39a0bbb81)
ITK Sphinx Examples Changes Since v5.4rc02
Matt McCormick (4):
Enhancements
- Bump ITK to 5.4 Release Candidate 2 (e404022a)
- Add PASSREGULAREXPRESION to ConvertImageWithLabelsToShapeLabelMap (84fb315d)
- Bump ITK to 5.4 Release Candidate 3 (7b882462)
Bug Fixes
- Disable ConvertImageWithLabelsToShapeLabelMapTest on Windows (db481ba1)
ITK Software Guide Changes Since v5.4rc02
Matt McCormick (5):
Enhancements
- Bump ITK Superbuild version to 5.4 RC 2 (3b541a4)
- Bump ITK Superbuild version to 5.4 RC 3 (cce6623)
- Bump ITK Superbuild version to 5.4 RC 4 (f37b396)
- Improve Actions PDF artifact name (dd86548)
Platform Fixes
- Bump actions versions (7af04df)
Niels Dekker (1):
Documentation Updates
- Replace
itkTypeMacrowithitkOverrideGetNameOfClassMacro(5428594)
Remote Module Changes Since v5.4rc02
Cleaver:
dependabotbot:
Platform Fixes
- Bump actions/checkout from 3.5.2 to 3.5.3 (a600444)
CudaCommon:
LAURENDEAU Matthieu (1):
Bug Fixes
- Remove CudaContextManager class and use cudaSetDevice (09a9645)
Simon Rit (9):
Enhancements
Documentation Updates
- Convert README to markdown (bd8871e)
Platform Fixes
- Fix new file name for README in itk-module.cmake (c79cfc5)
- Add missing Python wrapping of ImageToImageFilter for CudaImage (9d3fe9b)
Bug Fixes
- Use older manylinux image with GCC 11 for Cuda 11.6 (24266b1)
- Use newer CI packaging to exclude libraries (0c20c4e)
Style Changes
- Replace itkTypeMacro calls with
itkOverrideGetNameOfClassMacro(dcc3401)
Miscellaneous Changes
- Release of ITKCudaCommon v1.0.1 (7073f37)
GenericLabelInterpolator:
Tom Birdsong (1):
Enhancements
- Bump for ITK v5.4rc02 (257f4e8)
GrowCut:
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Comment unused variable (857bb0b)
Tom Birdsong (3):
Enhancements
- Bump to v0.2.0 for ITK v5.3.0 (0795886)
- Move to GitHub Actions ITK reusable workflow (74e3561)
- Bump to v0.2.1 for ITK v5.4rc2 (1b2d1a2)
HigherOrderAccurateGradient:
Dženan Zukić (1):
Enhancements
- Bump minimum CMake version to 3.16.3 (692f6b7)
IOScanco:
Matt McCormick (20):
Enhancements
- App initial import import from @itk-wasm/compress-stringify test (a288ef2)
- App logo (240f671)
- App title (191a2e4)
- App output format options (811ea48)
- App check for input volume (4638272)
- Download app sample data during build (d0e19cd)
- App conversion load sample inputs (d4ed17e)
- Display output image metadata (55da53c)
- App download output (d1d98b8)
- Bump itk-wasm to 1.0.0-b.132 (1ebb742)
- App UI tweaks (8daa8d5)
Performance Improvements
- Update to @itk-wasm/image-io (76c2414)
Documentation Updates
- Add link to ORMIR (c5eae32)
- Update app GitHub link to the repository (6f26bd5)
- Add tooltip on load sample input overwrite (69cfd64)
Bug Fixes
- Fix imports of utilities in build output (fc0ff9a)
- Remove old controller files (e72b860)
- Use network resource for sample data with production builds (186bc96)
- Fix sample data URL (de2669d)
Style Changes
- App button name tweaks (7bd0c8a)
dependabotbot:
Miscellaneous Changes
- Bump vite from 4.3.3 to 4.3.9 in /app (7eafb95)
- Bump postcss from 8.4.27 to 8.4.31 in /app (aaaee97)
IsotropicWavelets:
Matt McCormick (1):
Enhancements
- Update CI for reusable workflow, ITK 5.3.0 (c926404)
Sadhana Ravikumar (1):
Miscellaneous Changes
- Update README.rst (abb7a6c)
MGHIO:
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Add target to package build, test status badge (e3226d9)
Bug Fixes
- Use the literal superclass name in itkTypeMacro (5bb20b7)
Matt McCormick (1):
Enhancements
- Update CI to the remote module GitHub Action (aec9dc7)
MeshToPolyData:
Matt McCormick (18):
Enhancements
- Bump ITK version to 5.4 rc 1 (5249698)
- Add wasm binding generation configuration (e03f4f6)
- Add node mesh-to-poly-data-test (32ddf7d)
- Add testmeshtopolydata.py (366d632)
- Add testitkwasmmeshtopolydataasync.py (8e22066)
- Add tests for itkwasm-mesh-to-poly-data python package (cda516f)
- Add pyproject.toml configurations (0c96442)
- Test typescript bindings in CI (bc03309)
- Add Wasm Python package CI testing (e860aad)
- Update package.json configuration to use itk-wasm pnpm-script (5d88356)
- Update Wasm CI configuration (2bc68c1)
- Build, deploy wasm documentation to GitHub Pages (bdbb6f9)
Documentation Updates
- Correct base url to ITKMeshToPolyData (2820496)
- Add WebAssembly and Documentation CI badges (291a2c0)
Bug Fixes
- Update itkwasm-mesh-to-poly-data hatch test config (2211d9e)
- Download pyodide before running tests (912bc71)
- Free up disk space for wasm CI runs (5a156e4)
Miscellaneous Changes
- chore: bump package version to 1.0.0 (0dc2522)
Montage:
Dženan Zukić (2):
Enhancements
- Update CI action (4c7e5cd)
Platform Fixes
- Fix HyperSphereImageSource class name in type macro (was Image) (0825e46)
MorphologicalContourInterpolation:
Matt McCormick (4):
Enhancements
- Add wasm configuration (55ba23b)
Documentation Updates
- Update javascript API and add app, docs links (c343d90)
- Convert README to markdown, add wasm links (115755f)
Style Changes
- Apply clang-format to morphological-contour-interpolation.cxx (97645a6)
RLEImage:
Matt McCormick (2):
Platform Fixes
- Uninitialized in GetNumberOfComponentsPerPixel (5ce8cd1)
- Add compiler deduction guides RLEImage ImageScanlineConstIterator (85559c9)
Stephen R. Aylward (1):
Enhancements
- Bump to ITKv5.4rc02. (a3bdf29)
RTK:
Antoine Robert (4):
Enhancements
- Add superior and inferior clip images for Joseph-based forward projector (2a560d36)
- Add new inputs for the iterative reconstruction filters (2ab79c12)
- Step size accessors for Cuda ray tracing in iterative recon (0a84555d)
- add flag in rtkosem application to store the normalization images (efdc4e14)
Mikhail Polkovnikov (1):
Enhancements
- MIP image filter for DRR image calculation (081e0178)
Simon Rit (24):
Enhancements
- Add Cuda wrapping of Parker, scatter glare and ramp filters (777b75a3)
- Add Python command line tool for conjugate gradient (07bcb369)
- Made weights of weighted least squares optional in conjugate gradient (f17a8ad2)
- Add local weights map for conjugate gradient regularization (8994dfe3)
- Allow compilation of CPU TV filter with RTKUSECUDA ON (91fd0561)
- Python wrapping of FourDROOSTERConeBeamReconstructionFilter (17eab6d8)
Performance Improvements
- Use std::move inside itkSetMacro, declare parameter non-const (d78d7778)
Documentation Updates
- Clarify the applicability of projector options (2f0e76a6)
Platform Fixes
- Fix Windows compilations in non-CUDA CI (ef740ffe)
- Move call to wrapitkpythonbindingsinstall for in ITK config (6109465c)
- Fix unknown class names in itkOverrideGetNameOfClassMacro (95234d6a)
- Remove inclusion of .hxx files as headers (4badeef8)
- Remove unitialized variable warning (cd42bf3d)
- Fix Python module compilation with default options (0cc66399)
- Fix Python redefinition warnings with default options (c32c1e98)
- Upgrade GitHub actions for building wheels against ITK v5.4rc02 (52c5d9ff)
- Fix locally defined but not used warning (0f7f84b7)
Bug Fixes
- Fix Python wrappings warnings (13aa42c4)
- Remove unused config option in rtksimulatedgeometry.py (80f36682)
- Fix above array bounds access of image size in rtkamsterdamshroud (6ddf14bf)
Style Changes
- Rename template parameters according to ITK style (deb0f0c8)
- Replace itkTypeMacro calls with
itkOverrideGetNameOfClassMacro(eb90fb42) - Replace additional itkTypeMacro calls with
itkOverrideGetNameOfClassMacro(65f0b66f)
Miscellaneous Changes
- Release of RTK v2.5.0 (0f218d3c)
SplitComponents:
Matt McCormick (1):
Enhancements
- Bump build for ITK 5.4 RC 1 (7cd30ea)
Strain:
Dženan Zukić (2):
Enhancements
TotalVariation:
Bryn Lloyd (1):
Enhancements
- bump itk version, use ITK github actions (0bd90b9)
TubeTK:
Matt McCormick (2):
Enhancements
- Bump itk-wasm for builds to 1.0.0-b.130 (57f4a4c2)
Bug Fixes
- Free up disk space for wasm CI build (3cd6bef6)
Stephen Aylward (2):
Enhancements
- Release v1.3.6 (b3c3dd6a)
Bug Fixes
- ComputeTrainingMask preserve image info. TubeExtractor count. (73253995)
Stephen R. Aylward (8):
Enhancements
- Replace incorrectly deleted MinimalPathExtractionExport.h (#142) (8de02fed)
- Bump to latest release of VTK and head of IPP (#147) (56ccb9ea)
- Remove dependencies on VTK and simplify build-test-deploy process (#149) (1dc871df)
- Update CI process to match ITK cookiecutter style, for better coverage of platforms (#152) (0b68ed12)
Bug Fixes
- update wasm build scripts (#146) (414112ef)
- Remove support for ARM/aarch64 and ENH: add support for caching CI VTK builds (#144) (14b57785)
- Building tests fails on github workflow machines (#153) (454586b5)
Miscellaneous Changes
- * ENH: Bump to latest release of VTK and disable IOSS compilation (3ad175e0)
Ultrasound:
Dženan Zukić (12):
Enhancements
- Add wrapping for PhasedArray3DSpecialCoordinatesImage and filters (8808f7a)
- Add Python tests for PhasedArray3DSpecialCoordinatesImage (43179d3)
- Bump version number to 0.6.2 (6f6fc8f)
- Wrap IO factory for use from Python (63fd45b)
- Add wrapping for itk::UltrasoundImageFileReader (8bacc3d)
- reorganize to ease removal of PhasedArray3DSpecialCoordinatesImage (11b0ec8)
- Add SSSCI wrapping with Python test and baseline (637c0e7)
- Bump version number to 0.6.3 (b351ac1)
Documentation Updates
- Correct itkCurvilinearArraySpecialCoordinatesImageFilters.wrap (f5cc8f8)
Platform Fixes
- Fix warning C4834: discarding return value (ce02933)
- Fix warning C4834: discarding return value of function (027b982)
Bug Fixes
- Fix a copy-paste bug in Python unit test (6628586)
WebAssemblyInterface:
Many. Removed for size constraints.
- C++
Published by thewtex almost 2 years ago
itk - ITK 5.4 Release Candidate 2: Web3 Testing Data
We are happy to announce the Insight Toolkit (ITK) 5.4 Release Candidate 2 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
:flashlight: Highlights
ITK 5.4 marks a significant feature update aimed at bolstering the project's long-term sustainability. Specifically, this release harnesses the power of Web3 technology to enhance the process of contributing new data for collaborators, streamline software release management for quicker and more efficient rollouts, and facilitate decentralized, cost-efficient, and redundant data storage for extended distribution purposes.
Since every local Git repository contains a copy of the entire project history, it is important to avoid adding large binary files directly to the repository. Large binary files added and removed throughout a project's history will cause the repository to become bloated, take up too much disk space, require excessive time and bandwidth to download, etc.
A solution to this problem which has been adopted by ITK is to store binary files, such as images, in a separate location outside the Git repository, then download the files at build time with CMake.
A "content link" file contains an identifying cryptographic hash or Content Identifier (CID). The content link is stored in the Git repository at the path where the file would exist, but with a .cid extension appended to the file name. CMake will find these content link files at build time, download them from a list of server resources, and create symlinks or copies of the original files at the corresponding location in the build tree.
The CID is a self-describing hash following the multiformats standard created by the InterPlanetary Filesystem (IPFS) community. A file with a CID for its filename is content-verifiable. Locating files according to their CID makes content-addressed, as opposed to location-addressed, data exchange possible. This practice is the foundation of the decentralized web, also known as the dWeb or Web3. By adopting Web3, we gain:
- Permissionless data uploads
- Robust, redundant storage
- Local and peer-to-peer storage
- Scalability
- Sustainability
Contributors to ITK can upload their data through a simple web app, (alt web3 link) that utilizes a free CID pinning service, web3.storage.
Data used in the ITK Git repository is periodically tracked in a dedicated Datalad repository, the ITKData DataLad repository. DataLad is a free and open source, Git-based distributed data management system that keeps track of data, ensures reproducibility, and supports collaboration. Versioned testing data trees can be browsed in a natural, nested directory / file layout, either via DataLad or IPFS's UnixFS storage.
The tracked data is stored across redundant locations so it can be retrieved from any of the following:
- Local IPFS nodes
- Peer IPFS nodes
- web3.storage
- pinata.cloud
- Kitware's IPFS Server
- ITKTestingData GitHub Pages CDN
- Kitware's Apache HTTP Server
- Local testing data cache
- Archive tarballs from GitHub Releases
Testing data workflow. Testing or example data is uploaded to IPFS via the content-link-upload.itk.org web app. This pins the data on multiple servers across the globe. At release time, the data is also pinned on multiple servers in the USA and France and community pinners. At release time, the data is also stored in the DataLad Git repository, served on an Apache HTTP server, and served on the GitHub Pages CDN. At test time an ITK build can pull the data from a local cache, archive tarball, the Apache HTTP server, GitHub Pages CDN, or multiple IPFS HTTP gateways.
For more information, see our testing data documentation.
ITK 5.4 contains many additional improvements; highlights can be found below along with a more detailed changelog. For a summary of changes that continues our modern C++ evolution see our 5.4 Release Candidate 1 release notes.
💾 Download
Python Packages
Install ITK Python packages with:
sh
pip install --upgrade --pre itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
✨ Features
Python
- Wrapping for
itk.PhasedArray3DSpecialCoordinatesImage - Better support for multi-component images in
image_from_vtk_image itk.imreadsupports aseries_uidkwarg for DICOM series selection- TBB version updated to latest stable version, disabled on Intel macOS
- Python binaries for 3.7-3.11 across platforms
- This will be the last release with Python 3.7 suppport
- Remote module GitHub action updated, Python 3.7 is not supported in Remote module builds
- Updated to the latest version of scikit-build
C++
- C++17 is now required
- Many style improvements for modern C++ and consistency
- GCC 13 support
- Name mangling prefix for third party libraries is configurable
- Update mangled 3rd-parties to use
MANGLE_PREFIXCMake variable - Many improvements to code coverage
- Enhanced NRRD and Nifti metadata support
- Apply cmake-format for a consistent CMake style
Performance
- Use index/point transforms without bounds checking
- Improved SSE2 detection
- Many improvements to how locks are handled
Documentation
- New GitHub Action to check spelling
- Doxygen formatting cleanup
- Doxygen spelling fixes
- Doxygen Insight Journal links are consistent
- Many Doxygen improvements to the content
- Software Guide updated for style modernization
- Change the Insight Journal handle links to insight-journal links
- Replace
itkTypeMacrowithitkOverrideGetNameOfClassMacro
Remote module updates
Updated modules: - BSplineGradient - BoneMorphometry - Cleaver - Cuberille, - CudaCommon - FPFH - GenericLabelInterpolator - HASI - HigherOrderAccurateGradient - IOMeshSTL - IOMeshSWC - IOScanco - LabelErodeDilate - MeshToPolyData - MinimalPathExtraction - Montage - MorphologicalContourInterpolation - ParabolicMorphology - RANSAC - RLEImage - RTK - Shape - SimpleITKFilters - SplitComponents - Strain - TextureFeatures - Thickness3D - TubeTK - Ultrasound - VkFFTBackend - WebAssemblyInterface
Third party library updates
- eigen
- gdcm
- googletest
- kwsys
- meta-io
- nifti
- pygccxml
- vxl
- zlib-ng
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 43 authors who contributed since v5.3.0, we would like to specially recognize the new contributors:
Nicklas Larsson, huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, LAURENDEAU Matthieu, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, and Andras Lasso.
🗣️ What's Next
Process improvements in this release will ensure more regular and frequent releases in the future. Listening to feedback from the community, we anticipate one additional 5.4 release candidate to enable testing of critical DICOM improvements. Our next release candidate will include improvements based on experiences with 5.4 RC 2. 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.4rc01
Dave Chen (4):
Documentation Updates
- Fixed spelling in itkRGBGibbsPriorFilter.h (a4a46ccf83)
- spelling fixes for the new github action (55b5f46bab)
- Spell out Computing for the checker (816d406fbb)
Bug Fixes
- Fixed BrainWeb link (61402981bb)
Dženan Zukić (7):
Enhancements
- Add Python wrapping for itk::PhasedArray3DSpecialCoordinatesImage (4bfe66c762)
- Better support for multi-component images in imagefromvtk_image (336be62d3d)
- Improve warning messages (label numbers as ints instead of chars) (7b74fca444)
Performance Improvements
- Use index/point transforms without bounds checking (6e5ccc7504)
Documentation Updates
- Move detailed description to the top of class documentation page (afb5595d8f)
- Update ITK version mentioned in download.md from 4.13.1 to 5.3.0 (80446b1c18)
Platform Fixes
- Avoid CMake warning caused by feature test (5bdcb06679)
Gabriel A. Devenyi (1):
Bug Fixes
- Fix incorrectly specified expected result in itkIOTransformMINCTest.cxx (279ffc9895)
Jean-Christophe Fillion-Robin (2):
Enhancements
- Update mangled 3rd-parties to use MANGLE_PREFIX CMake variable (a3afcf6fcd)
- Ensure 3D multi-components conversion in imagefromvtk_image is tested (abbab61c31)
Jon Haitz Legarreta Gorroño (104):
Enhancements
- Increase coverage for miscellaneous classes (d6beb524a4)
- Increase coverage for
RegularStepGradientDescentBaseOptimizer(1312fca3d2) - Increase
Optimizersclasses coverage: get cost function derivate (bec6a42b7e) - Increase coverage for miscellaneous classes (99abf7b89b)
- Increase coverage for miscellaneous classes (f7615d27ac)
- Test the
constpoint iterators initk::QuadEdgeMeshPolygonCell(46c47e08b3) - Increase coverage for miscellaneous classes (fd873b7ecf)
- Remove ivar memberless
PrintSelfimplementation (3a73368734) - Allow
itkCellInterfaceTestto run as long as possible (e09713fbe9) - Print the superclass object in
itk::MRFImageFilter::PrintSelf(a7a8254fe2) - Add boolean macro to
itk::Statistics::Histogram::ClipBinsAtEnds(4179d83534) - Use
itkPrintSelfObjectMacroto print smart pointers (20225e5b7a) - Add getter methods to
itk::RGBGibbsPriorFilterivars (d28311fb8e)
Documentation Updates
- Change the Insight Journal handle links to insight-journal links (1d4d1ba198)
- Remove class self reference in Doxygen
\sacommand (3ed75247e6) - Clean up
itk::ConformalFlatteningMeshFilterDoxygen documentation (3a542d0d19) - Remove duplicate "type" in alias documentation (fabc102c52)
- Document miscellaneous cell class methods in header files (291e618b24)
- Avoid documenting ivar default values in SpatialFunction class (4418b97f56)
- Make the RTTI method documentation consistent in module
Video(a22d0a840f) - Add a note to the
READMEabout issues vs. questions (27f450358c) - Add a note to the first interaction workflow about its nature (b774fd5358)
- Refer to ITK's discussion space in a consistent manner (c42a8a7d3f)
- Reword the copyright holder sentence in the code of conduct (f2cec9b741)
- Link the Creative Commons license page in the code of conduct (392b74dd30)
- Improve consistency when referring to the issue tracker in README (66e933613c)
- Fix
MetaDataObject::EncapsulateMetaDataempty return doc warning (68ab83372a) - Document
MetaDataObject::EncapsulateMetaDataparameters (0595670b96) - Document
itk::Indentclass methods in header file only (3eb8fd7cdf) - Improve MINC transform adapter exception message (a54062d23c)
- Fix typo in
itk::Mathfunction parameter documentation (b87ed30059) - Use Doxygen math syntax for math notation in class documentation (365c547d9f)
- Document
RGBGibbsPriorFilterclass methods in header file only (4e5be8334d) - Use proper Doxygen documentation style in
RGBGibbsPriorFilter(309a0535de) - Improve comments in
itkHistogramTest.cxx(657b793d97) - Remove François Budin from GPG key holder ITK maintainer's list (85072a41ee)
- Remove updating ResearchGate ITK project from release tasks (4809e93798)
- Explain better the release announcement in NumFOCUS newsletter (39138d78e6)
- Remove unnecessary
ITKIOTransformMINCREADMEfiles (89e00d7ac8) - Improve
ITKIOTransformMINCclass documentation (7caf7e3c70)
Platform Fixes
- Fix method parameter bound mismatch warning in
itk::VertexCell(2338bdc487) - Fix method parameter bound mismatch warning in misc cell classes (a66bc7dc48)
- Add missing semicolon to macro statement end in tests (1801209574)
Bug Fixes
- Return exit failure when insufficient test arguments are provided (3b7078fdb4)
- Fix dynamically allocated memory management (edd6051ae3)
Style Changes
- Increase
itk::LabelStatisticsImageFilter::PrintSelfconsistency (20124626ae) - Use macros in tests (84769233ee)
- Improve ivar printing style (4ca8106ef7)
- Conform to ITK comment style for within code in OpenCVVideoCapture (1d4cc7ab36)
- Increase consistency in test argument check message (3e41b8213d)
- Honor FastIncrementalBinaryDilateImageFilter class in test name (ae3ee1de82)
- Improve style across miscellaneous tests (424f25800e)
- Conform to ITK SWG style guidelines adding a test ending message (19ae34f628)
- Conform to ITK style guidelines in miscellaneous test comments (be8e4f6020)
- Remove empty comment lines in
itk::TriangleCellimplementation (16f42267a0) - Prefer using the
ITK_TRY_EXPECTmacros in test (eacd1d24fa) - Conform to ITK style guidelines in test (b3c935159b)
- Conform to ITK SWG style guidelines in test ending message (5c8f982e34)
- Use the
itkNameOfTestExecutableMacromacro in tests (395c8f44ea) - Use exception checking macros in tests (2038fd7695)
- Remove test input argument checking if no argument is required (2596ea22b8)
- Fix ITK coding style inconsistency linter error (18dd3e693f)
- Honor the filter name in source code filename (c3ae51517e)
- Increase consistency in test argument check message (5ca4f3b02a)
- Conform to ITK style guidelines in test ending message (cfb8ae114d)
- Conform to ITK comment style for within-code comments (tests) (35b85b15bf)
- Remove empty comment lines in tests (7a316c9c12)
- Remove uninformative standard output messages in tests (05a0e03c31)
- Do not allow lonely std output endl statements in misc tests (f795943d61)
- Improve printed message style across miscellaneous tests (83c1c48c95)
- Declare variables close to where they are used in tests (8a1d3d7420)
- Declare and use test image dimensionality as
constexpr(8bc48815e5) - Do not declare a test status variable that is only used once (e388b79fdd)
- Use exception checking macros in itkVectorExpandImageFilterTest (6e8a2600d1)
- Prefer setting the input once all ivars have been set in test (bb3d6d1696)
- Use
ITK_TRY_EXPECT_NO_EXCEPTIONmacro inIOTransformMINCtest (204d23a7e8) - Prefer using
ITK_TEST_EXPECT_EQUALlh and rh comparison macro (56bd332807) - Prefer using
itk::Math::FloatAlmostEqualin comparisons (93d3d88c76) - Add vertical space for readability in
itkIOTransformMINCTest(47df4f3567) - Use macros in tests (c313059069)
- Honor
itk::RGBGibbsPriorFilterclassname in its test filename (86e2e937c0) - Use an unsigned integer to store the number of poles (6807db4845)
- Prefer using setter macro for
itk::RGBGibbsPriorFilterivar (452cb3f971) - Use standard return codes in example (2535192fb3)
- Increase consistency in example argument check message (5707df8d3e)
- Make non-macro comparison conditional blocks consistent in tests (67d18e4715)
- Increase consistency in test argument check message (c2688765c2)
- Conform to ITK style guidelines in test ending message (dfc9fcd32f)
- Prefer using
constexpr <type>overstructfor image dimension (eaf25ef26b) - Conform to ITK comment style for within-code comments (tests) (488ac833aa)
- Remove empty comment lines in tests (e4643c59f0)
- Remove uninformative standard output message in itkHistogramTest (41ad697626)
- Remove uninformative comments in tests (b9b530f620)
- Do not allow lonely std output endl statements in misc tests (f9f3078385)
- Increase consistency in newline character use in tests (154938d8ca)
- Remove blank lines in excess in miscellaneous tests (603b67d7b9)
- Prefer using macros for
itk::SLICImageFilterbasic methods (df51b3ffa2) - Use standard exit return code in
itk::SLICImagetFiltertest (8930ed2da3) - Conform to ITK SWG style guidelines in test ending message (d9f0d5e66a)
- Do not use superclass template parameters in
itk::femRTTI (9f1d99077f) - Prefer double forward slashes for within-method body comments (8d3df523ff)
- Use testing macros in
itkHistogramTest.cxx(397278f75f) - Make non-macro comparison blocks consistent in itkHistogramTest (d6111f2edb)
- Use
thisto address self methods inRGBGibbsPriorFilter(034cd067bb)
Matt McCormick (22):
Enhancements
- Bump pygccxml to v2.4.0 (b1f03a845c)
- Migrate content links from .md5, .sha512 to .cid (f3899ce8c6)
- Add cmake-format config and script (788fbc4858)
- Remove setup-girder-api-key GitSetup script (31597d4fac)
- Remove UploadBinaryData.sh script (2916886bfb)
Documentation Updates
- Release documentation updates for ITK 5.4 RC 01 (779afebce0)
- Update testing data upload docs for CID transition (53fddd33c6)
- Update .git-blame-ignore-revs for cmake-format, .cid content links (9442dcdcec)
- Update content link upload documention in GitCheatSheet.pdf (caedb38830)
- Add Sphinx Documentation rendering (effb802abd)
Platform Fixes
- Use full ::itk namespace in itkMacro.h (7fbe8880a9)
- Remove pkg_resources import from base.py (b31c942bbe)
- Encode the pygccxml version (1fec6af521)
- Update w3 gateway CID identification (d7e6c200e2)
Bug Fixes
- GetGlobalDefaultSplitter to a global singleton (94344fd0b5)
- Update pygccxml source code path in update script (886b5243b1)
- Fix xarray compute value check (ff64d3c3ff)
- Remove extra space in CppcheckTargets VERBATIM (078db2e1bc)
- Fix ITKGroup identification with multiline itk_module (6384cd067a)
Style Changes
- Separate \ingroup for MultiThreaded with AddImageFilter, PowImageFilter (1ec8df840a)
- Initial run of cmake-format (efa749515d)
- Lower case for function name in ITKModuleEnablement (3568eeec2b)
MetaIO Maintainers (1):
Miscellaneous Changes
- MetaIO 2023-07-16 (556864f5) (c42090c681)
Nicklas Larsson (1):
Bug Fixes
- define SWIGPY_SLICEOBJECT (d2361b89fe)
Niels Dekker (41):
Enhancements
- Add TEST(ObjectFactoryBase, CreatedInstanceHasReferenceCountOfTwo) (47bcc5081e)
- Make VectorContainer::size_type public, test nested
vectortypes (dc641cd7d7) - Add
MersenneTwisterRandomVariateGenerator::ResetNextSeed()(ecd7bdae82)
Documentation Updates
- Note that object returned by
CreateInstancehas reference count 2 (f981aae69d) - itkGetObjectMacro member functions return a raw (not smart) pointer (eb97e952c2)
- Document that
SetGlobalInstancealways returns true (9da299b85c)
Platform Fixes
- Adjust check that all arguments of MakePoint/Vector have same type (89d3c3c015)
Bug Fixes
- ImageRandomIteratorWithIndex should not assign data in constructor (997ff54d59)
- Use
lock_guard<mutex>in FFT configuration to deal with exception (a00eb3914d) - Use
lock_guard<mutex>in FEMFactoryBase to deal with exception (c1e15a36d0)
Style Changes
- Call GetTransformTypeAsString() just once, in
TransformFactory(9baa34b699) - Remove redundant GetPrimaryOutput() calls from
ProcessObject(997aa169a2) - Remove redundant checks in
ProcessObject::VerifyPreconditions()(c3ee320bf8) - ImageSourceCommonGlobals default member initializer, Rule of Zero (c6690b9209)
- Replace
std::unique_lockwithstd::lock_guardin ThreadPool (1094cdde9a) - Replace std::uniquelock with std::lockguard in Filter.hxx files (3335e69433)
- Remove duplicate assignment from itkPlatformMultiThreaderPosix (1dc9deb15c)
- Remove unused
threadId, just passnullptrto_beginthreadex(2ee34dde73) - Use
lock_guard<mutex>inPlatformMultiThreaderclasses (c4c3710d5f) - Use
lock_guard<mutex>in PlatformMultiThreader::TerminateThread (e56c7bdf20) - Use
lock_guard<mutex>in ParallelSparseFieldLevelSetImageFilter (5e1f0cf1c0) - Use
lock_guard<mutex>in PDEDeformable Registration classes (873a724b92) - Replace std::min, std::max in MultiThreaderBase with
std::clamp(0c31b223ed) - Remove
ITK_X_ASSERT, just useassertinconstexprfunctions (e888f7bc2d) - Use
insert_or_assignin SingletonIndex SetGlobalInstancePrivate (5c14067e53) - Let
SetGlobalInstancePrivatereturnvoid, instead oftrue(eadc465c3f) - Let
Singletonassume that SetGlobalInstance always returns true (6ec6328ed2) - SingletonIndex does not need to store the unused
funcparameter (6d1c4c7ab7) - Remove unused parameter from
SetGlobalInstanceandSingleton(8598841db5) - Replace Registration/Metricsv4 "LockPtr" with "MutexPtr" (8149ba9651)
- Rename private and internal data members from "Lock" to "Mutex" (0150e46924)
- Code cleanup ImageRandomConstIteratorWith(Only)Index RandomJump() (d92dc14c7f)
- Rename local
std::lock_guardvariables "lockGuard" (04100e62e0) - Default constructors VectorContainer, Iterator, ConstIterator (ff47f5cf84)
- Remove private ObjectFactoryBase member
InitializeFactoryList()(82d7060408) - Replace
std::bindin ThreadPool::AddWork with lambda expression (75b99671a8) - Simply assign factories, in ObjectFactoryBase::RegisterInternal() (2859d67cda)
- Remove private ObjectFactoryBase member
RegisterInternal()(427972e600) - Remove lock MersenneTwisterRandomVariateGenerator ResetNextSeed (1ce107fc42)
- Disallow copy/move, default constructor
MersenneTwisterGlobals(89d4735e05) - Add using-declaration MersenneTwisterRandomVariateGenerator GTest (bdcb9e33cb)
Sean McBride (1):
Bug Fixes
- Use atomic bool to fix race found by thread sanitizer (c3a8eab2ad)
VXL Maintainers (1):
Miscellaneous Changes
- VXL 2023-06-18 (4332fd74) (9c18c34119)
Zlib-ng Upstream (2):
Miscellaneous Changes
- zlib-ng 2023-06-29 (cf89cf35) (2ab12b9807)
- zlib-ng 2023-08-07 (73bbb54c) (68bc6c994e)
pygccxml Upstream (1):
Enhancements
- pygccxml v2.4.0 (reduced) (6637e8709b)
ITK Sphinx Examples Changes Since v5.4rc01
Matt McCormick (5):
Enhancements
- Update to ITK 5.4 RC 01 (0b4ca644)
- Bump ITK to 5.4 Release Candidate 2 (e404022a)
- Add PASSREGULAREXPRESION to ConvertImageWithLabelsToShapeLabelMap (84fb315d)
Platform Fixes
- pandoc version for docs build (3370d2ae)
Bug Fixes
- Disable ConvertImageWithLabelsToShapeLabelMapTest on Windows (db481ba1)
ITK Software Guide Changes Since v5.4rc01
Jon Haitz Legarreta Gorroño (5):
Documentation Updates
- Avoid documenting ivar default values (6a2861a)
- Avoid using initialization lists in coding style snippets (35a15c2)
- Use non-boolean, built-in type ivars to illustrate
PrintSelf(8f61111) - Do not encourage using empty comment lines (278366c)
Style Changes
- Finish coding style guideline item sentence with period (14aee41)
Matt McCormick (2):
Enhancements
Niels Dekker (1):
Documentation Updates
- Replace
itkTypeMacrowithitkOverrideGetNameOfClassMacro(5428594)
- C++
Published by thewtex about 2 years ago
itk - ITK 5.4 Release Candidate 1: C++17
ITK 5.4 Release Candidate 1: C++17
We are happy to announce the Insight Toolkit (ITK) 5.4 Release Candidate 1 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
:flashlight: Highlights
ITK 5.4 is a feature release that continues our modern C++ evolution by requiring C++17. The toolkit progresses in performance with a simple and elegant style and syntax. Through hundreds of changes in this release, we advance in readability and maintainability for the library and client code, often facilitated by improvements in the C++ standards.
Community contributions through Remote extension Modules are a valuable source of innovation in ITK, and updates to 30 modules in this release are no exception. A few examples of the Remote Modules updated include: BoneMorphometry, Cleaver, GenericLabelInterpolator, IOScanco, LabelErodeDilate, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, RANSAC, ReconstructionToolkit (RTK), TextureFeatures, TubeTK, Ultrasound, VkFFTBackend, and WebAssemblyInterface. New modules can quickly be created with a cookiecutter and cross-platform testing for high quality development and Python package generation is supported by a reusable GitHub Action. For more information, see Chapter 9 of the ITK Software Guide.
Highlights from the ITKElastix Remote Module presentation at SciPy 2023, the Annual Scientific Computing with Python Conference. Konstantinos Ntatsis, Niels Dekker, Viktor van der Valk, Tom Birdsong, Dženan Zukić, Stefan Klein, Marius Staring, & Matthew McCormick. (2023). itk-elastix: Medical image registration in Python [SciPy 2023 Poster]. Zenodo. https://doi.org/10.5281/zenodo.8136801.
💾 Download
Python Packages
Install ITK Python packages with:
sh
pip install --upgrade --pre itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
✨ Features
Python
itk.imreadsupports aseries_uidkwarg for DICOM series selection- TBB version updated to latest stable version, disabled on Intel macOS
- Python binaries for 3.7-3.11 across platforms
- This will be the last release with Python 3.7 suppport
- Remote module GitHub action updated, Python 3.7 is not supported in Remote module builds
- Updated to the latest version of scikit-build
C++
- C++17 is now required
- Many style improvements for modern C++
- GCC 13 support
- Name mangling prefix for third party libraries is configurable
- Many improvements to code coverage
- Improved SSE2 detection
- Enhanced NRRD and Nifti metadata support
Documentation
- Doxygen formatting cleanup
- Doxygen spelling fixes
- Doxygen Insight Journal links are consistent
- Software Guide updated for style modernization
Remote module updates
Updated modules: - BSplineGradient - BoneMorphometry - Cleaver - Cuberille, - CudaCommon - FPFH - GenericLabelInterpolator - HASI - HigherOrderAccurateGradient - IOMeshSTL - IOMeshSWC - IOScanco - LabelErodeDilate - MeshToPolyData - MinimalPathExtraction - Montage - MorphologicalContourInterpolation - ParabolicMorphology - RANSAC - RLEImage - RTK - Shape - SimpleITKFilters - SplitComponents - Strain - TextureFeatures - Thickness3D - TubeTK - Ultrasound - VkFFTBackend - WebAssemblyInterface
Third party library updates
- eigen
- gdcm
- googletest
- kwsys
- nifti
- vxl
- zlib-ng
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 42 authors who contributed since v5.3.0, we would like to specially recognize the new contributors:
huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, LAURENDEAU Matthieu, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, and Andras Lasso.
🗣️ What's Next
Our next release candidate will include improvements based on experiences with 5.4 RC 1. 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.3.0
Andras Lasso (1):
Bug Fixes
- Fix read/write of displacement field in NIFTI file format (d007ee8e78)
Bradley Lowekamp (20):
Enhancements
- Add VectorImage support to MaskNegateImageFilter (e3a1a598c8)
- Set ITKTESTOUTPUT_DIR with module path (7d50786353)
- Use generator/lambda ITK filter for pixel computation (0624dad082)
- Restore integer support for laplacian sharpening (6a5060be54)
Platform Fixes
- Supress warning in MSVC for non-float complex (3a9c76273e)
- fix linkage for MINCTransformIO (97f003cb91)
- Supress warning in MSVC for non-float complex (a7a3e5dfe0)
- Address HasNumericTraits failure for Vector pixel type. (c9fc138886)
- address missing enum error (dbc9c9112f)
- QualifiedIterator follow rule of zero (df6aa66e40)
Bug Fixes
- Set GTest discovery timeout to 120 (050bab52f2)
- Restore setting TargetPoints after ReachMode (bb0f6e84fe)
- Remove dead code in MRC Header (d96191b40e)
- Fix MRC zero spacing for tilt series (c380670dd1)
- MRC write full machine stamp (cac4e26b69)
- Remove dead code in MRC Header (3b643f53f9)
- Fix MRC zero spacing for tilt series (e7ffba648f)
- MRC write full machine stamp (8ca5d1f676)
- Add missing string value for NoTargets enum (ac32a50e6e)
Style Changes
- Use inline initializers for MaskImageFilter (c0374a334c)
Darren Thompson (2):
Platform Fixes
- Reworked ITKFFT_SRCS for FFTW and cuFFTW use (5703c74375)
Bug Fixes
- itkFFTWFFTImageFilterInitFactory.cxx is required for ITKUSECUFFTW (5b9861d743)
Dave Chen (10):
Documentation Updates
- fixed spelling errors in Modules/IO subdir (64f2428bd0)
- Fixed spelling bugs in Modules/Filtering headers (2513f8f62e)
- Spell checking Registration headers (b44e0b13f8)
- Spell checking Modules/Segmentation (9cf6ee9081)
- spell checking Modules/Numerics (f51ac27b98)
- Spellcheck Filtering HXX and Video headers (ed7ad92dd6)
- Spell check remaining headers (61b0a16d22)
- spell out OOP (379eb109e9)
- Spell check the code in Examples (e6b03bbd4b)
Style Changes
- Fixed spelling errors in Modules/Core headers (2ec7cd1cf7)
Dženan Zukić (24):
Enhancements
- Disable itkNiftiLargeImageRegionReadTest on 32-bit architectures (f77c8dbd0a)
- Improve itk.imread error message when the input file doesn't exist (3c802f650d)
- Use latest stable GTest v1.13.0 (56875007ab)
- Add ITK_NODISCARD(message) macro to Image "Transform" members (bc75d43a41)
- Update remote modules using the script (455b06be6c)
- Update remote modules using the script (a0c67bb21e)
- Drop support for MSVC toolset v141 aka Visual Studio 2017 (140f3c249f)
- Update ContinuousIntegration Batch test to use VS2022 (92c17bc4da)
- Exclude Utilities/ITKv5Preparation/* from triggering CI builds (f5cfdd4018)
- Update remote modules using the script (56c7434002)
Documentation Updates
- Add a reminder to update API docs link to older version (da36517a51)
Platform Fixes
- Use proper floating point-pixel type in Frequency FFT Layout Test (9a7846e6a1)
- Fix new warning STL4037 raised by VS2022 (37e4c71805)
- Use proper floating point-pixel type in Frequency FFT Layout Test (19e02a4e9d)
- Fix new warning STL4037 raised by VS2022 (0892cd1e3f)
- Fix deprecation warning for PyEval_CallObject (138f9d9e8d)
- Fix boolean member print statement in
itk::GPUDataManager(9b55bcec62) - Add Superclass alias to GPUGradientAnisotropicDiffusionImageFilter (296db6ac2b)
- Update maintenance script to compile with C++17 (04ef14a37a)
Bug Fixes
- Fix a crash in itkDirectoryTest caused by updating to newest KWSys (b92705851b)
Style Changes
- Convert a tab indent into spaces in BuildHeaderTest.py (0ca7901450)
- Change some declarations to use trailing return type (b37ac53206)
- Use trailing return type instead of typename + dependent type (5f83fb2537)
- Use trailing return type for declarations containing "inline" (f048a5b8a9)
FabioLolix (1):
Platform Fixes
- add missing header with GCC 13.1.1 (d3b5e8baa6)
Fernando Bordignon (1):
Platform Fixes
- Mangle HDF5 symbols: H5debugt, H5Et and H5Itypeinfot (17b0fded41)
GDCM Upstream (2):
Miscellaneous Changes
- GDCM 2023-05-05 (401a81d7) (8713d6f217)
- GDCM 2023-06-02 (2ea6fd87) (6f3a0a8855)
GoogleTest Upstream (1):
Miscellaneous Changes
- GoogleTest 2023-01-17 (b796f7d4) (1a5c2de017)
Hans J. Johnson (17):
Enhancements
- Need large source for lbfg*.c files (a5d61cb4d0)
- Add more specific diagnostics for lbfgs stopping (0de99b2d48)
- Enforce computational requirements for SobelOperator (03c8176dca)
Performance Improvements
- Should not check bounds by default with vnl (67a791262f)
Platform Fixes
- Threads package is required by TBB (5d1aa4aced)
- Manually merged formatting changes for jpeg9f (b37e416490)
- Updated to jpeg9f to address ubsan failures (e80db20c05)
- Manual review of itkjpeg and jpeg-8b differences (cd6d907d5c)
- Suppress ubsan in H5detect.c code (bdc523419f)
- Remove unused variables (cd97879e6b)
- Remove clang unsupported compiler flag from default (4fc92814dc)
Bug Fixes
- Testing of sobel operators was being done with unsigned data values (a8eed95093)
- Casting negative numbers to unsigned char error (1d6b3e92bc)
- implicit conversion undefined behavior (264114331f)
Style Changes
- Use typedef for type to ensure consistency (1eb4fed9a3)
- Prefer initialization to assignment (1a6f2ce261)
- Prefer C++11 zero initializer to ZeroValue (ef5cc8c495)
Jon Haitz Legarreta Gorroño (83):
Enhancements
- Use windows-2019 image v141 toolchain in
BatchAzure CI matrix (2cf08be965) - Apply the
type:Infrastructurelabel to CI config files (a83d4ded92) - Increase coverage for miscellaneous classes (41339276ee)
- Add boolean macro to use cluster labels (4351f3651a)
- Use
itkPrintSelfObjectMacroto print objects that can be null (c6d374a457) - Increase coverage for
itk::AttributeSelectionLabelMapFilter(e9bc06e6f5) - Increase coverage for
itk::OnePlusOneEvolutionaryOptimizer(5286bdb2f3) - Increase coverage for
itk::ImageRegistrationMethodv4(ac019e3744) - Add boolean macro to across-scale normalization ivar (e7aca74334)
- Increase coverage for
itk::RecursiveGaussianImageFilter(7c13d36ba0) - Add test for the
itk::BoundedReciprocalImageFilterclass (9d2c892600) - Fix
clang-formatworkflow actions warnings linked toNode.js(791686038e) - Use strongly typed enums for FMUG filter target reached condition (6919764fab)
- Remove ivar memberless/static-only class
PrinSelf(d2ff3110f1) - Increase coverage for miscellaneous classes (f76d26a0e2)
- Add getter methods for
itk::KdTreeGeneratorpublicly set ivars (2c5dec142e) - Use ITK macros to print runtime type information (74f557094b)
- Remove ivar memberless
PrintSelf(1f81ef69d1) - Remove
itkMath.hduplicate include (48025bd985) - Remove duplicate
itkMath.hinclude in itkFEMRegistrationFilter (4d440dc3ae) - Provide with printing ability to time resource classes (cd303c33ae)
- Increase coverage for
itk::ConstantVelocityFieldTransform(33697686c7) - Increase coverage for miscellaneous classes (bf183be9c4)
- Increase coverage for
itk::Rigid3DTransform(9bc884e619) - Test
itk::RegistrationParameterScales*classes (bc1025b1c0) - Add macros to
itk::kRegistrationParameterScalesEstimatorivars (37a2151768) - Increase
RegistrationParameterScalesFromPhysicalShiftcoverage (165fb5b6fe)
Performance Improvements
- Remove immediately modified ivar assignment (d1c46d63be)
Documentation Updates
- Fix class names in documentation and comments (482102d507)
- Fix typos in documentation (d589e6b034)
- Remove unnecessary or empty implementation file method doc blocks (aff7703dc8)
- Document methods in header file (c7d3cda80f)
- Make class description be a complete sentence (4241506fa8)
- Fix grammar in documentation (18609c6296)
- Restrict the class authorship to the Doxygen documentation (eae47ff0d1)
- Remove duplicate
FourierTransformDoxygen grouping command (138d135656) - Clean up method Doxygen documentation (d58bf56fe2)
- Clean up method Doxygen documentation (c44f9c1b39)
- Change the Insight Journal handle links to insight-journal links (e936cabc7a)
- Make insight-journal links consistent: add www to URL (7e000aec50)
- Consolidate
LaplacianSharpeningImageFilterUseImageSpacingdoc (75bf848e27) - Clean up method Doxygen documentation (9d1a93dfb8)
Platform Fixes
- Install the
lxmlPython package for theBatchAzure CI build (1adbb26384) - Fix missing initialization braces warnings (5834520cc9)
- Fix missing initialization braces warning in Convolution test (5094cfb7f5)
- Remove unused local variables in image iterator tests (fd38fe7290)
- Fix declaration and syntax errors in Review class
PrintSelf(94538d42c2) - Fix
Regitration::FEMmodulePrintSelfcompiler errors (dde9dc39c0) - Restore
PrintSelfin itkGPUPDEDeformableRegistrationFilter.h (fc1cce56a9) - Provide prefix-less member name to
itkPrintSelfObjectMacro(748ef3002a) - Fix itkParallelSparseFieldLevelSetImageFilter uninitialized memory (f11797b7a9)
- Fix
itk::Histogramuninitialized memory (b32182fdec)
Bug Fixes
- Fix Superclass name in RTTI macro (d60ed81f76)
- Fix input argument indices in test (dcc8ea3851)
- Fix Superclass name in RTTI macro (84d402a619)
- Set ivar to appropriate value when condition is met (cd3e200ada)
- Fix uninitialized value ImageRegistrationMethodv4::m_NumberOfLevels (a31e8bf32a)
- Fix symbol exportation macro module name in
itk::DCMTKImageIO(736410b7e1) - Add semicolon after
ITK_EXERCISE_BASIC_OBJECT_METHODScall (9a2379f0f7)
Style Changes
- Prefer using test macros for setter/getter method testing (f0e6c56e6f)
- Rename a type alias to honor the class purpose (f20e3140c4)
- Conform to ITK style in miscellaneous tests (1de6b4fc4a)
- Prefer using exception macros in tests (f0ce6a871f)
- Prefer using local counters in loops (b28578da4f)
- Improve style in miscellaneous
LabelMapmodule tests (3d6a2e147e) - Prefer using exception macros in tests (b3dadeee1d)
- Remove unnecessary test starting message (acd4b67359)
- Use canonical naming for itkRecursiveGaussianImageFilter tests (4156d3d563)
- Prefer double forward slashes for within-method body comments (be6b447afc)
- Remove commented output stream messages (f42c10a20f)
- Remove unnecessary within-method body comments (7a34977bd4)
- Break line before calling
PrintSelfin test (626c1b4d99) - Remove commented code in
itk::LevelSetMotionRegistrationFunction(484ada7ff8) - Prefer double forward slashes for within-method body comments (1a296b5dd3)
- Make
PrintSelfimplementation style consistent (c47ed1c1b3) - Use the ellipsis properly in printed messages (a925c70af8)
- Remove an unnecessary static_cast from Histogram::PrintSelf (4aa66a29e2)
- Prefer in-class
{}member initializers (998b25b25a) - Make
PrintSelfimplementation style consistent (e750782e41) - Remove duplicate statement in
itk::Histogram::Initialize(bbc691ab30) - Prefer double forward slashes for within-method body comments (647ef1fe6a)
- Remove unnecessary within-method body comments (1d316c5454)
- Make PrintSelf implementation style consistent (34a598a3a8)
KWSys Upstream (1):
Miscellaneous Changes
- KWSys 2023-01-19 (be3c441e) (e8b74bbf06)
Lee Newberg (1):
Platform Fixes
- Replace numpy.bool8 (deprecated in numpy>=1.24) with numpy.bool_ (a508af5100)
Matt McCormick (23):
Enhancements
- Bump ITKVERSIONMINOR to 4 (928774748a)
- Update remote modules for 2022-11-24 (dd3b4a2f9e)
- Bump Azure Testing ExternalDataVersion to 5.3.0 (07c91df71e)
Documentation Updates
- Include links to updated remote modules in release notes (81143d0775)
- Add links to previous versions in the Doxygen footer (205ce51d2a)
- Improve doxygen footer formatting (cf19aba2fa)
- Add archives of 5.3 release notes (5a7dcb1a02)
- Add link to 5.3 documentation in Doxygen footer (542ae7b3d5)
- Release process updates for 5.3.0 (d76a1833a7)
- Add emojis to the first-interaction message (ba054649ac)
- Consolidate release notes inte Documentation/Releases (5093d831ba)
- Add contributing graph to CONTRIBUTING.md (366ed3edc9)
Platform Fixes
- Add CastXML binary for Windows 11 (e30096df7d)
- zlib crc32_braid.c cast to smaller integer type (0cd5391417)
- Use newer CastXML binary for latest versions of Windows 10 (364c27a393)
- Use pre-built swig for Linux/x86_64 (bfc7f7b800)
- Replace numpy.bool8 with np.bool_ (63fd7e7a89)
Bug Fixes
- pointsettypefromwasmtype return a PointSet (2f2e888612)
- transformtodisplacementfieldfilter type inference (f13070288b)
- SetRegions in imagefromdict (504f06f9e3)
- Support heterogeneous inputs/outputs for PyImageFilter (eee6f8ac9b)
- Add other SWIG sources download URLs (0e3a056e89)
- wasmtypefromimagetype for VariableLengthVector (99f16a0dfe)
Max Aehle (3):
Platform Fixes
- Declare ZLIBSYMBOLPREFIX as cache variable (f935f4c666)
- Perform TESTLFSWORKS in every CMake run (1d056d2f19)
- Decide early whether to use -msse2 (52732a065e)
Mihail Isakov (4):
Bug Fixes
- ITKCOMPILERSUPPORTSSSE264 incorrectly set for 32-bit x86 (6c800e4640)
- ITKCOMPILERSUPPORTSSSE264 incorrectly set for 32-bit x86 (37c107436f)
- fixed valgrind defect in FreeSurfer mesh test (336cf57efc)
- Added missing semicolon in FastMarchingUpwindGradientTest (4ca68daba0)
NIFTI Upstream (2):
Miscellaneous Changes
- nifti 2023-03-29 (2acc4449) (5e40191542)
- nifti 2023-05-22 (c135c3d4) (8a04aa2070)
Nick Tustison (3):
Enhancements
- refactor LaplacianSharpeningImageFilter (#4052) (c93f06865e)
Bug Fixes
- Need to initialize both seeds. (8e1b8259f0)
- Need to initialize both seeds. (490b5c6069)
Niels Dekker (143):
Enhancements
- Mention the floating point type on a NumberToString expect failure (43d3e848a6)
- Add GTest
FixedArray.ValueInitialized(6bb951c394) - Add C++ script to add in-class
{}member initializers to ITK (ef40e98381) - Upgrade ITK from C++14 to C++17 (513507e4c7)
- Test
boolreturn value of TransformPhysicalPoint member functions (1d03697690) - Add C++17
[[nodiscard]]to Image "Transform" member functions (63d43546a3) - Add C++17 CTAD deduction guides to
ImageScanlineIterator(7f934595eb) - CTAD guide
ImageScanlineConstIteratorsupport non-const image (a6c37421f6)
Performance Improvements
- Declare TriangleCell::m_PointIds std::array instead of std::vector (8aa679af1b)
- SLICImageFilter use faster TransformPhysicalPointToContinuousIndex (d0109630dc)
- Use faster TransformPhysicalPointToIndex/ContinuousIndex in Python (87b48e49be)
- Use
std::moveinsideitkSetMacro, declare parameter non-const (e5011aeb76)
Documentation Updates
- Mention that Utilities/Maintenance is excluded from CI triggers (4728e7c436)
- Add note to Image "Transform" member functions that return
bool(dc43b54be6) - Add note constructors on class template argument deduction (CTAD) (e421dac080)
- ShapedImageNeighborhoodRange iterator types follow Rule of Zero (a024dfa34d)
Platform Fixes
- Fix MSVC warning C26495:
m_MetaDataObjectValueuninitialized (0dc5b66bd3) - Fix MSVC warning C26495:
ZwQuerySystemInformationuninitialized (a1f40a77ca) - Fix MSVC
/permissive-error C2516: ... is not a legal base class (687f51e642) - Do #include "itkConfigure.h" before using
ITK_USE_WIN32_THREADS(15ce483e5b) - Fix MSVC warning C26495:
m_PositionIndexuninitialized (de142a0dbd) - Make ITK implementation
make_unique_for_overwriteunconditional (a0aecfe0a7) - Make ITK implementation
bit_castunconditional (f187319530) - MSVC Code Analysis warning, "redundant code" in ImageIORegionGTest (3d14c44629)
- Exclude Utilities/Maintenance and documentation files from AZP CI (eb5ca2585a)
- Fix warning: unused variable 'compensatedSum' -Wunused-variable
- Move RayCastHelper from unnamed namespace to private class section (208902e16a)
- Place
#define _SILENCE_..._DEPRECATION_WARNINGbefore#include(cd0ff94e4f) - Declare
operator-(const Self &)member functions const (8bd60993a7) - Declare
operator<(const SliceIterator &)member function const (f60dc98cef) - Declare
operator*andoperator/of VariableSizeMatrix const (212c0e1cc4) - Replace resultoft with C++17 invokeresultt in ThreadPool (75350f1f81)
- Work around GCC < 10 bug, "no user-provided default constructor" (79faea587c)
- Require compiler versions that support C++17 (45407f3560)
- Fix
[[nodiscard]]warnings in PolyLineParametricPath1 example (6b2d4701bb) - Remove CTAD because of clang "error: member reference base" bug (2f30e35b4f)
- Remove use of C++17 CTAD from
lock_guardvariable declarations (6958f05338) - Add CTAD deduction guides to ImageBufferRange and ImageRegionRange (639e8ff31a)
- Fix TransformPhysicalPointToIndex
nodiscardwarnings (49ece7f608) - Fix TransformPhysicalPointToContinuousIndex
nodiscardwarnings (7cda5badd0) - Fix Nonunit/Review/test error: ContinuousIndexType is not a member (fd2b6d6d72)
- Fix Nonunit/Review/test error: 'cindex': undeclared identifier (1a1281ce03)
- Fix BinomialBlurImageFilter error, num_reps undeclared identifier (1e3e606e83)
- Add
templateto TransformPhysicalPointToContinuousIndex in tests (1f8c0f8128) - Enable warning on C++17 class template argument deduction (CTAD) (d26c07ea57)
- Disable KWStyle check "error: namespace is wrong" on *.cxx files (cce48b3cfa)
- Rule of Zero, SFINAE ImageBufferRange, ImageRegionRange iterators (19079c8bc7)
Style Changes
- Remove
diffvariables from ConvertPixelBuffer (warning C26451) (288d87b89f) - Replace C-style cast (sizet) ConvertPixelBuffer with staticcast (622fb69f84)
- NumberToStringGTest: add #include, avoid narrowing conversion pow (d5beb7a657)
- Add
consttoinputDataparameters ofConvertPixelBuffer(c28be8ba00) - Use range-based
forloops to iterate overfaceListvariables (2de7e24b0b) - Do not suppress clang "-Wfloat-equal" inside
itkSetObjectMacro(10f6e6bc5e) - Declare m_PointIds of Cell types std::array instead of C-array (09e5548a07)
- Add
consttoinputDataofDoConvertBuffermember functions (f8dc373884) - Initialize
faceListdirectly by ImageBoundaryFacesCalculator (18a672368d) - Replace
forloops SetPointIds(PointIdConstIterator) by copy_n (e019779ba5) - Add missing
<< indentinsertions toPrintSelfimplementations (48c6ed7697) - Replace
*x.begin()withx.front()(c8103b4e55) - Replace
*x.begin()withx.front()in DecisionRule test (eb26094080) - Chain consecutive insertions (
<<) to the same output stream (67ca856a8c) - Make data of PixelReferenceWrapper (in ImageBufferRange) private (ca965f3300)
- In-class default-member-initialization in Command derived classes (76dad9f321)
- In-class default-member-initialization in VTKImageImport (a0488b99f3)
- Move ObjectFactorBase
OverrideInformationto unnamed namespace (cdd5408631) - Add in-class
{}member initializers to objects created by New() (5e2c49f9eb) - Add missing braces to the substatements of
ifstatements (8d12282fd7) - Add missing braces to the substatements of
forloops (57624fda9a) - Default default-constructors of class templates in Core/Common (c2c67ac48c)
- Replace double quotes around a space character with single quotes (e8773472dd)
- Default default-constructor ImageConstIteratorWithIndex/OnlyIndex (ca0021b93c)
- Replace double quotes around single characters with single quotes (ea231d6002)
- Replace double quotes around double quote with single quotes (ffa592d124)
- Replace double quotes around escaped chars with single quotes (3ec88007fc)
- Add in-class
{}initializers to classes with itkSimpleNewMacro (21f500a807) - Use
lock_guard<mutex>in Logger classes and GPUImageDataManager (a744aef227) - Use range-based
forin MultipleLogOutput and LoggerManager (4bd1e7a10a) - Remove unnecessary private type aliases from Log classes (b91931b381)
- Add in-class
{}initializers to classes with virtual functions (5c97b7605e) - Add in-class
{}initializers to classes with override = default (5635b75d8f) - Default default-constructor of ConstantBoundaryCondition (67ec6584a3)
- Default default-constructor of CompensatedSummation (015e93635b)
- Default default-constructor of SpatialFunction classes (554c442430)
- Default default-constructor of Image classes (e596c0110f)
- Default default-constructor of ImageRandom ConstIterator classes (4e46cb6ef5)
- Default default-constructor of ConstNeighborhoodIterator (6a1ccdccb6)
- Default default-constructor ImageVectorOptimizerParametersHelper (6df203ab20)
- Default default-constructor of ImportImageContainer and Filter (b9e08130d0)
- Default default-constructor of MinimumMaximumImageCalculator (791e2d462b)
- Default default-constructor of ObjectStore and MemoryBlock (a77ace2e26)
- Default default-constructor of PointSet (e996dac415)
- Default default-constructor of PriorityQueueContainer (ea237faaac)
- Default default-constructor of RegularizedHeavisideStepFunction (8aa993b758)
- Default default-constructor of ThreadedImageRegionPartitioner (992537a393)
- Default default-constructor of VariableLengthVector (74a55f9f8b)
- Default default-constructor of Versor (1b5da45dc7)
- Add in-class
{}member initializers to 3-letter data members (ffe5eb6118) - Construct local variables by passing their arguments directly (9e5dda5425)
- Add in-class
{}member initializers having trailing comments (8f233d177a) - Remove unnecessary iterator
GoToBegin()calls from Filtering (5a60ed00ad) - Remove duplicate
InLineIt.GoToBegin()calls from Filtering (dfbc85fd77) - Move ITK iterator declarations into init-statement of
forloops (d91d2b15b2) - Replace
T var = NumericTraits<T>::ZeroValue()withT var{}(42b0bfc077) - Replace
while (!outIt.IsAtEnd())withforloops, in Filtering (31c713eb10) - Replace
T var = T()with modernT var{}value-initialization (6e3d4b3dc7) - Construct local variables by passing arguments directly (part 2) (ef24b65d02)
- Reduce scope ResampleImageFilter::NonlinearThreadedGenerateData (6b0d4b8337)
- Default default-constructors MultiTransform, CompositeTransform (8fbbcd5a6e)
- Remove std::allocator from TestImportImageContainer (Common/test) (55fb520252)
- Default default-constructor BSplineBaseTransform (94f5a43e71)
- Simplify
BSplineBaseTransform::SetIdentity()(12df6f4d1c) - Declare local supportSize variables in BSplineTransform constexpr (85dccb237f)
- Use C++17
_vvariable templates fromstdlibrary type traits (1a914b71bd) - Remove pre-C++17 definition constexpr data member
SupportSize(014ea433aa) - Remove GCC 5.2 specific code from IntensityLinearTransform (9e81d6d88d)
- Use C++17 CTAD for
ImageBufferRange(acab22f238) - Use C++17 CTAD for
ImageRegionRange(8ee4d9a410) - Replace
std::minandstd::maxcalls with C++17std::clamp(fa667ebe40) - Use C++17 class template argument deduction (CTAD) for lock_guard (3bfdc28908)
- Declare all lock_guard variables
const(357503ea5b) - Replace
sizeof(array) / sizeof(array[0])with C++17std::size(feb86b8a81) - Remove private ImageBufferRange ImageType alias, just use TImage (136064885e)
- Add
constto TransformPhysicalPointToIndex results in "Review" (7c4b827b44) - Replace
T var = NumericTraits<T>::ZeroValue()having whitespace (b7bfef30a8) - Use TImage for CTAD supporting constructors ImageScanlineIterator (1b14a34459)
- Use C++17 CTAD for
ImageScanlineIteratorvariable declarations (e287d819f5) - Use C++17 "constexpr if" in
ImageRegionRange(2e1b8fffe0) - Use C++17 "constexpr if" in
ImageHelperComputeIndex, Offset (a980ae9faf) - Replace
T var{ NumericTraits<T>::ZeroValue() }withT var{}(5ac803e290) - Remove local ImageScanlineIterator type aliases, using C++17 CTAD (788e55897c)
- Default default-constructor SimpleDataObjectDecorator (7a89717c1a)
- Replace ImageScanlineIterator
whileloops withforloops (dbd3db552f) - Move ImageScanlineIterator variable declarations into
forloops (869b22217d) - Remove empty ResourceProbe legacy function GetSystemInformation() (1ee4cd8e63)
- Use trailing return type instead of
typenamein "*.h" files (c1628d5ff9) - More trailing return types for declarations containing "inline" (b3f74ffbda)
- Use trailing return types in multi-line function declarations (f7fa2693f6)
- Remove initial
<<insertion fromitkExceptionMacro(<< "calls (89beb0447f) - Remove initial
<<fromitkGenericExceptionMacro(<< "calls (1d0d43cc6d) - Remove initial
<<insertion fromitkDebugMacro(<< "calls (b52f423117) - Remove initial
<<insertion fromitkWarningMacro(<< "calls (c6fedbdb9a) - Remove initial
<<fromitkGenericOutputMacro(<< "calls (30ef8733c1) - MultiTransform iterate over m_TransformQueue by range-based
for(da9ecbb513)
Ningfei Li (1):
Platform Fixes
- Update itkExternal_Eigen3.cmake (b8c2c94be4)
Noah Egnatis (1):
Platform Fixes
- gcc-13 compatability (9a719a0d2f)
Pablo Hernandez-Cerdan (1):
Bug Fixes
- CMake, Eigen, pass CMAKESYSTEMVERSION to Eigen (c3bfb987b8)
Patrick Linnane (1):
Documentation Updates
- add Homebrew instructions (dbce33bc68)
Philip Cook (1):
Documentation Updates
- Remove outdated comment about sparse sampling (8d6e787f2d)
Sean McBride (1):
Platform Fixes
- Get the Utilities/gdcmext folder from GDCM, it's needed to build now (6adfd15ab9)
Simon Rit (3):
Platform Fixes
- Remove in-class {} member initializers of unique_ptr (eac289d252)
- Remove in class init of SmartPointer of forward declaration (f5f8367875)
Bug Fixes
- Add missing Python string prefix in wrapping warning (e7a9e9a48e)
Stephen R. Aylward (3):
Enhancements
- Bump to TubeTKv1.3.4 and MinimalPathExtractionv1.2.4 (065c5d8539)
- Bump TubeTK to v1.3.5 and MinimalPathExtraction to v1.2.6 (fe46f35f00)
- Add series_uid arg to imread() for dicom series selection (9759b63e56)
Tom Birdsong (2):
Documentation Updates
- Update remote module docs for git hash instead of tag (bdbbf82c9a)
Bug Fixes
- Use hashes instead of tags for remote modules (fd386e4c29)
VXL Maintainers (3):
Miscellaneous Changes
- VXL 2022-11-22 (4fd87cd5) (24cb223828)
- VXL 2022-12-23 (8169cc76) (5e4d60e58c)
- VXL 2023-04-06 (4cfb87fc) (37351308a3)
Vaibhaw (1):
Bug Fixes
- Update UpdateRequiredITKVersionInRemoteModules.sh (05d3490db4)
Vladimir S. FONOV (5):
Enhancements
- Added saving metadata in NRRD file in more data types (94368f8ce3)
- Added permissive mode to NIFTI reader (5cdf6ee6c9)
- Made ITKNIFTIIOSFORMPERMISSIVE_DEFAULT OFF by default (629f39c69c)
Bug Fixes
- fixed the itkNiftiReadWriteDirectionSmallVoxelTest test (9c6e5fd4a6)
- orthogonalization should be done only on 3x3 submatrix (815d0f0531)
Zlib-ng Upstream (2):
Miscellaneous Changes
- zlib-ng 2023-01-09 (43fd1418) (e49bab8469)
- zlib-ng 2023-02-08 (3e75a5c9) (15cd2ffe33)
huangjxbq (1):
Bug Fixes
- Error converting from rotation axis and rotation angle to quaternion (e2f0d9aa6a)
ITK Sphinx Examples Changes Since v5.3.0
Dženan Zukić (1):
Enhancements
- Rename CreateAnother into CreateAnotherInstanceOfAFilter (724543b2)
Jon Haitz Legarreta Gorroño (4):
Enhancements
- Transition to
nbmaketo test notebooks (f898fc5d) - Fix workflow actions warnings linked to
Node.js(67c46c79) - Bump
actions/upload-artifactaction to v3 (0d24e60d)
Style Changes
- Capitalize first letter for
Histogramclass name in index (ccde3363)
Matt McCormick (17):
Enhancements
- Bump ITK version to 5.3.0 (4078f3fb)
- Add "Edit this page" links (875c43bd)
- Add DeformAVolumeWithAThinPlateSpline (407addb2)
- Add Python version of ExtractIsoSurface (a312fd34)
- Update to ITK 5.4 RC 01 (0b4ca644)
Documentation Updates
- Update README required CMake version (c46ff9b9)
- Add GitHub repository icon link (c7fda565)
- Browser-based editing is now available via GitHub (4b25d62e)
Platform Fixes
- Remove Superbuild zlib (56fcffdf)
- Enable IPython.sphinxext.ipythonconsolehighlighting (a428ef2c)
- Bump CI images to latest versions (c0c0fc3d)
- Address ITK Windows warnings (d68014af)
- Fix traitlets version to 5.6.0 (33888c1d)
- Bump minimum CMake version to 3.16.3 (cc99d7aa)
- pandoc version for docs build (3370d2ae)
Bug Fixes
ITK Software Guide Changes Since v5.3.0
Dženan Zukić (1):
Documentation Updates
- Update supported compiler versions to C++17 (cb8ba6e)
Jon Haitz Legarreta Gorroño (9):
Enhancements
- Update Python version in GitHub Actions to 3.9 (10275b3)
- Fix workflow actions warnings linked to Node.js (1999983)
- Bump
actions/upload-artifactaction to v3 (1cadef0) - Update GitHub Actions Ubuntu environment version (013c3b5)
Documentation Updates
- Avoid documenting ivar default values (6a2861a)
- Avoid using initialization lists in coding style snippets (35a15c2)
- Use non-boolean, built-in type ivars to illustrate
PrintSelf(8f61111) - Do not encourage using empty comment lines (278366c)
Style Changes
- Finish coding style guideline item sentence with period (14aee41)
Matt McCormick (2):
Enhancements
Niels Dekker (4):
Documentation Updates
- Remove mistaken exception to data member initialization guideline (6525a5c)
- Adjust initialization rule for padding data, smart pointers, etc. (6d5f5b5)
- Do not require using NumericTraits, replace ZeroValue() with
{}(b5410c5) - Add "Integer Type Specifiers" section (612adf5)
Remote Module Changes Since v5.3.0
BSplineGradient:
Tom Birdsong (6):
Enhancements
- Bump to ITK v5.3rc04.post3 (16c1cc7)
- Bump ITK workflow for v5.3rc04.post4 (1bff249)
- Bump ITK to v5.3 (9281af8)
- Use ITK reusable CI workflow (5bd41c5)
Bug Fixes
- Do not fail CI if archive is already removed (bbf518e)
Miscellaneous Changes
- Bump ITKBSplineGradient to 0.2.10 (3577ec7)
BoneMorphometry:
Matt McCormick (1):
Enhancements
- Bump CI, package for ITK 5.3.0 (cb826f5)
Cleaver:
Jean-Christophe Fillion-Robin (8):
Enhancements
- Update references to Cleaver repository to account for project rename (ac2827b)
- Download Cleaver source from upstream repository instead of a fork (767985f)
- Avoid triggering GitHub Actions workflow on both upstream and fork (dd988f6)
- Bump Cleaver version to integrate build-system updates (c5ed2c4)
Documentation Updates
- Fix license referenced in setup.py (9cc174d)
- Tweak list of classifiers associated with the package (56f8592)
Platform Fixes
- Pin GitHub actions to full length commit SHA (44ba697)
- Add Dependabot workflow to update GitHub Actions (5e844c2)
Matt McCormick (26):
Enhancements
- Update for ITK 5.3.0 (c1f76a0)
- Generate Linux ARM wheels (fc650e6)
- Add Emscripten Wasm build configuration (f0d18e3)
- Add WebAssembly CI build (336b154)
- Add wasi build target (9abbd0e)
- Bump itk-wasm version to 1.0.0-b.84 (a915fac)
- Update JS package name to @itk-wasm/cleaver (56c1be5)
- Bump itk-wasm to 1.0.0-b.85 (5b251c8)
- Add TypeScript build to CI (5b494ed)
- Add TypeScript sources (e08e0a2)
- Add wasi debug build script target (ff2a6ac)
- Add WASI CTest configuration (f9b1049)
- Test Emscripten Node.js function (a2c6773)
- Add initial wasm browser testing (d67b0d6)
- Test TypeScript bindings generation (cb2c6c2)
Documentation Updates
Platform Fixes
- Fix wasm CLI testing enablement (895a8c3)
- Export and link to cleaver's jsoncpp (1584960)
- Do not force enable BUILD_TESTING with WASI (55a27bf)
Bug Fixes
- Fix wasm CI yaml name (713c9d7)
- Fix input option identifier (ff7099d)
- Add image and mesh type names to wasm pipeline (f9ba30b)
- Output triangle mesh should be a positional output (46d152c)
- Set BUILD_TESTING on CMake CACHE (ae88148)
Miscellaneous Changes
- build(WASI): Fix WASI build / execution (0b9cbfc)
dependabotbot:
Platform Fixes
- Bump actions/checkout from 1.2.0 to 3.4.0 (739160b)
- Bump InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction (0f0e2f9)
- Bump actions/checkout from 3.4.0 to 3.5.0 (ae3a644)
- Bump actions/upload-artifact from 2 to 3 (a45f652)
- Bump actions/checkout from 3.5.0 to 3.5.2 (c0d7137)
Cuberille:
Pranjal Sahu (2):
Enhancements
- Bump ITK to make Python packages compatible (3b4cd1e)
Miscellaneous Changes
- Update package version to 2.6.0 (859d3c4)
CudaCommon:
Simon Rit (10):
Enhancements
- Upgrade GitHub actions following ITKRemoteModuleBuildTestPackageAction (f08c035)
- Use cmake-options variable in GitHub action for Python packaging (7763f2c)
Documentation Updates
- Changed radART to medPhoton in RTK consortium (87c2643)
- Change mailing list links to CREATIS website (e5dba4a)
Platform Fixes
- Set CMP0135 to remove DOWNLOADEXTRACTTIMESTAMP config warning (82ce410)
- Fix unsigned int warning on image dimension (319222c)
- Add missing ITK config include for external compilation (36ea588)
- Fix unused parameters argc / argv warnings (cc77281)
Bug Fixes
- Fix typo in wheel name (5cb1187)
- Remove CUDA libraries from the CI generated Python packages (cefcfbb)
FPFH:
Pranjal Sahu (6):
Miscellaneous Changes
- Update description in setup.py (4c58393)
- Update github link in setup.py (6c14c8d)
- Update the actions URL in setup.py (7889e74)
- WIP: Removing not required dependencies (f7bebe4)
- Update ITK tag to 5.3 (b0d5a70)
- Bump tag to 0.1.1 (b89bd09)
GenericLabelInterpolator:
Matt McCormick (3):
Enhancements
- Update CI configuration (28398f8)
- Bump Python package version, dependency (411d3b1)
- Bump CI itk-git-tag to be closer to itk-wheel-tag (f4de9ec)
Tom Birdsong (1):
Enhancements
- Bump CI workflow to ITK v5.3.0 (a4383b2)
HASI:
Matt McCormick (1):
Enhancements
- Update CI for reusable workflow, ITK 5.3.0 (65ec726)
Paul Elliott (36):
Enhancements
- add Vite and Lit frontend (621287b)
- add some nav buttons and router (bd824b6)
- router points to stub page components (4eea911)
- toggle nav sidebar with button (0b79596)
- add biomarker-picker (04ac055)
- add table (a9dd01f)
- add xstate machine (e12f8c9)
- set PlotParameters on machine context with types (7a4453c)
- click grid row to select scan (fc728f2)
- row cell color changes on selecting scan (e94335b)
- checkbox for row header, smaller width (2600501)
- add scan-views, connect to selectedScans (33b9896)
- add SelectController for xstate (d996faf)
- refactor SelectController to SelectState (c7e4b27)
- can add and remove feature views (322fcb5)
- add scan selection model (a426584)
- color whole selected row (308b6ef)
- rename ScanSelections, use color in feature view (18efa93)
- add focus row button to scan views (3a6d25b)
- add 3 sections of shoelace details on population (e993d5c)
- style accordion headers, min height to sections (8d8fac8)
- styled navbar (31b9cb3)
- add chart placeholder images (55a4781)
- add feature view image placeholder (3d5a112)
- add accordion layout component (c90755e)
- add upload scans component (86e3180)
- add upload process flow via button (3b0001a)
- add upload progress component: (8169f38)
Platform Fixes
- build as website (62edf44)
Bug Fixes
- use keys for feature views for dom stability (9172eee)
- fix repeated clicks of focus scan ID button (904f7af)
Style Changes
- use single quotes (def2ee6)
Miscellaneous Changes
- fix: router works in Firefox and full page row clickable (72009be)
- FIX: remove top level await (c6771dc)
- FIX: update DataGrid on menu close (cd6841e)
- WIP ENH: stash machine state on url (329f860)
Tom Birdsong (1):
Platform Fixes
- Build ITK module dependencies in CI reusable workflow (5ee74fd)
HigherOrderAccurateGradient:
Jon Haitz Legarreta Gorroño (1):
Documentation Updates
- Fix module description (31e65e4)
Tom Birdsong (3):
Enhancements
- Bump ITK to v5.3rc04.post3 and reference ITK CI workflow (449f2b1)
- Bump ITK workflow to v5.3rc04.post4 (6298ae1)
- Bump for ITK v5.3 (b524294)
IOMeshSTL:
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Update linter checkout action to v3 (7779c09)
Platform Fixes
- Match CMake minimum required version to ITK's (0fdd038)
Matt McCormick (1):
Enhancements
- Bump CI for ITK 5.3.0 (cbe9793)
IOMeshSWC:
Matt McCormick (1):
Enhancements
- Update CI configuration for ITK 5.3.0 (103e3c4)
IOScanco:
Matt McCormick (7):
Enhancements
- Update CI / packaging for ITK 5.3.0 (18e17a2)
- Bump Notebook Actions runner to ubuntu-22.04 (e67f066)
- Update Notebook CI configuration (fe56af4)
Documentation Updates
Platform Fixes
- Use Python version for notebook tests (92c567a)
- Bump itk-ioscanco Notebook CI required version to 0.10.0 (fdd18cc)
Michael Kuczynski (4):
Enhancements
- Adding get/set functions for missing header parameters (2d22baa)
Miscellaneous Changes
- Updated tests for new get/set functions (ce0727a)
- Updated formatting (c468eba)
- Updating format as line length was less than limit (bc0d40a)
LabelErodeDilate:
Bryn Lloyd (1):
Enhancements
- update to ITK 5.3.0 (#38) (7e23b12)
MeshToPolyData:
Matt McCormick (11):
Enhancements
- Bump CI itk-git-tag to v5.3rc04 (12d3c3d)
- Bump Python package version to 0.9.0 (f26b80c)
- Bump itk-wasm to 1.0.0-b.71 (a77ed2e)
- Move wasm/ to top level (4c3df79)
- Add .gitignore for wasm artifacts (3b53d80)
- Bump itk-wasm to 1.0.0-b.73 (0b98db4)
- Add wasi build step (6af3e34)
- Build wasi in build script (6972bd9)
- Add Wasm GitHub Action (3b6d67e)
Bug Fixes
- Build-test-package: resolve merge conflicts (2558bd4)
Style Changes
- Rename mesh-to-polydata to mesh-to-poly-data (58730f9)
Paul Elliott (1):
Enhancements
- Add package with itk-wasm build (c183978)
Pranjal Sahu (3):
Enhancements
- Adding changes for itk::PolyLineCell (5586157)
- Adding test for itk::PolyLineCell (d56e249)
- Adding Python test for itk::PolyLineCell conversion (374bea6)
Tom Birdsong (6):
Enhancements
- Bump for ITK v5.3rc04.post3 (a5f1897)
- Bump ITK workflow to v5.3rc04.post4 (d46d656)
- Bump for ITK v5.3 (3ad8f08)
- Bump CI workflow for ARM builds and wheel validation (496096f)
- Enable notebook CI check (e597c84)
Bug Fixes
- Example notebook fixups (f963101)
MinimalPathExtraction:
Dženan Zukić (1):
Platform Fixes
- Fix discarding return value warning introduced by ITK 5.4 (35dd8e8)
Matt McCormick (1):
Enhancements
- Bump Python package version to 1.2.6 (592d965)
Stephen R. Aylward (3):
Enhancements
- Bump CI and setup to ITKv5.3.0 (#96) (458796e)
- Release 1.2.4 with ITK v5.3.0 support (71813fa)
- Update python builds to 1.2.5 (426576c)
Tom Birdsong (1):
Enhancements
- Use ITK reusable CI workflow (bd45bf0)
Montage:
Dženan Zukić (8):
Enhancements
- Require less components to be built for examples (76b2286)
Platform Fixes
- Fix compile error of MontageImageCompareCommand (da7649e)
- Fix discarding return value warning introduced by ITK 5.4 (d8c9a3f)
- Update minimum CMake version from 3.10.2 to 3.16.3 (2789c34)
Bug Fixes
- erase confidence together with the translation candidate (4f501a8)
- Avoid appearance of NaN values (b7ab26a)
Style Changes
- Replace SFINAE selection by constexpr if (33b6b74)
- Use trailing return type instead of typename + dependent type (b91741f)
Matt McCormick (2):
Enhancements
- Bump Python package version to 0.8.1 (d7f849f)
Bug Fixes
- Do not wrap duplicate complex double dependencies (ce1c9f0)
Tom Birdsong (4):
Enhancements
- Bump for ITK v5.3 (fc64c6f)
- Port montage notebook example (7015e4a)
- Add CI notebook testing (777a669)
Bug Fixes
- Update
TileMergeImageFiltersignature in example script (bfe0cac)
MorphologicalContourInterpolation:
Dženan Zukić (2):
Enhancements
- Remove test parallelism to prevent non-deterministic test failures (a31fbf7)
Style Changes
- Use trailing return type instead of typename + dependent type (0a057d7)
Tom Birdsong (1):
Enhancements
- Bump to ITK v5.3.0 (ac69d71)
ParabolicMorphology:
Matt McCormick (8):
Enhancements
- Update to ITK 5.3.0 (45eff88)
- Add notebook testing CI configuration (2c3b2ea)
- Update to consolidated notebook testing configuration (847e1ec)
Documentation Updates
- Update notebook to use itkwidgets 1.X, pooch (bae9eb6)
- Add distance map example (34da76a)
- Update notebook screenshots (cd2b6c4)
Platform Fixes
- Update build-test-package GitHub Action (32c7ca7)
Bug Fixes
- Distance filters should only be wrapped for real outputs (c9516f8)
RANSAC:
Matt McCormick (1):
Documentation Updates
- Add Python installation, IJ link (e3ce1ff)
Pranjal Sahu (13):
Miscellaneous Changes
- Update URL and description in setup.py (b1c5e66)
- Update Badge URLs in README (2886c2b)
- Update ITK tag to 5.3 (198f5e9)
- Bump tag to 0.1.1 (6b0417d)
- Remove itkPoint dimension 6 wrapping (23cf7a3)
- Add support for VersorRigid3D Transform (acccf2c)
- Update Tag to 0.1.2 (20b38a6)
- Add early prune check for transformed feature points (58aebfd)
- Check for RMSE when inlier count is same (07d57c5)
- Add Set/Get for additional corresspondence checks (f6b16a2)
- Upgrade Version to 0.1.3 with additional checks (4259b25)
- Change delta to Euclidean distance (04db366)
- Upgrade ITKRANSAC to 0.1.4 (5d6bdf7)
RLEImage:
Dženan Zukić (1):
Style Changes
- Use trailing return type instead of typename + dependent type (901e40f)
Tom Birdsong (3):
Enhancements
- Bump to ITK v5.3.0 (fe2bb30)
Platform Fixes
- Remove Python CI workflow (070fef6)
Bug Fixes
- Remove Linux notebook check from CI (310b579)
RTK:
Antoine Robert (2):
Enhancements
- Change default value of OSEM regularization to O (5f01b347)
Bug Fixes
- Fix OSEM image quality test (c92dde36)
LAURENDEAU Matthieu (2):
Enhancements
- Add MaskCollimationImageFilter Python wrapping (c6fa8732)
- Add option to set the rotation axis in MaskCollimationImageFilter (688e9ab8)
Shengpeng YU (1):
Bug Fixes
- Fix CUDA/CPU inconsistency in DisplacedDetectorImageFilter (e8299590)
Simon Rit (30):
Enhancements
- Bump for ITK v5.3 release (c87911c4)
- Reduce downloads in self-hosted Github runners (038ad5d4)
- Upgrade GitHub actions to checkout@v3 (a924bb73)
- Update for ITKPythonPackage script updates (b3145e37)
- Account for yaw rotation in ImagingRing geometry (c7206715)
- Add OptiTrack option to Ora geometry (ab572956)
- Add warning when Ora projection is not valid (36982471)
- Add tests for yaw and optitrack information in ImagingRing files (40a2fc61)
- Make tolerances on angle verification parametrizable (fac3f646)
- Allow more than one projection in Weidinger's spectrum (4707a3ce)
- Allow one step reconstruction with fast switching (a1d91c41)
- Use ITKRemoteModuleBuildTestPackageAction and separate CUDA actions (bcce053e)
- Split MacOS Python package jobs in GitHub actions (15e1aa85)
- Do not build C++ applications when generating Python packages (d9724b45)
- Remove ITKCudaCommon from the source tree (138474a8)
- Add CudaCommon dependency to Cuda wheels (9bc33997)
- Import Cuda bin directory in the Windows environment for Cuda DLLs (abe956fb)
Documentation Updates
- Fix digraph for projection weights (2c35fdf4)
- Change mailing list links to CREATIS website (23cb5598)
Platform Fixes
- Fix unused variables and sign warnings in Ora geometry (f26e5cf8)
- Set CMake Policy 135 to NEW to suppress warnings in CMake 3.24 (93bcf263)
- Upgrade GitHub remote action to avoid MacOS warnings (dd49c2f4)
- Remove warnings due to re-use of Python wrapping names (b357c903)
- Remove wrapping warning due to unwrapped geometry class (e7de14d6)
- Fix [[nodiscard]] warnings of Image "Transform" member functions (37b2cee7)
- Fix Cuda [[nodiscard]] warnings of Image "Transform" functions (ab08d7a6)
Bug Fixes
- Fix ITKPythonPackage git tag in Python CUDA action (02005d75)
Style Changes
- Rename non-templated types from T* to *Type (c4882b88)
- Rename template parameter values (e1484a09)
- Remove traces of CG cost function calculation (a7e0f2df)
Shape:
Matt McCormick (1):
Enhancements
- Bump CI and Python package for ITK 5.3.0 (0c8b94e)
Tom Birdsong (1):
Enhancements
- Bump ITK to v5.3rc04.post3 with reusable workflow (a9ba859)
SimpleITKFilters:
Bradley Lowekamp (3):
Miscellaneous Changes
- Update GHA from template for ITK 5.3.0 (04c3f48)
- Wrap DICOMOrientation (0557b25)
- Update to version 1.0 (9926e46)
SplitComponents:
Tom Birdsong (16):
Enhancements
- Update Linux CI OS version (6173045)
- Replace cxx CI steps with composite action (a715438)
- Update macos version in CI (430301b)
- Bump to ITK v5.3rc04.post3 (f37cc13)
- Update tarball list for Python CI (4ab0a64)
- Use reusable ITK CI workflow (869eceb)
- Bump ITK workflows to v5.3rc04.post4 (58428c5)
- Bump for v5.3 release (ac1b3da)
- Apply ITK CI workflow updates (ef7a950)
- Bump ITKPythonPackage tag (e126069)
- Build only required ITK modules for testing (0e6214b)
- Add CI Linux ARM build and notebook checks (9d1565d)
- Bump reusable workflow for wheel validation (343a9ef)
Bug Fixes
- Update example notebook from python2 to python3 kernel (67237cd)
- Address Python notebook test failures (04710af)
- Resolve CMP135 Warning (981b099)
Strain:
Tom Birdsong (3):
Enhancements
- Bump ITK to v5.3rc04.post3 (59cb2b4)
- Bump for ITK v5.3rc04.post4 (d6af2c5)
- Bump for ITK v5.3 (8666068)
TextureFeatures:
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Match CMake minimum required version to ITK's (867bbc6)
Matt McCormick (2):
Enhancements
Pranjal Sahu (1):
Enhancements
- Remove unused FixedArray wrapping (0823b10)
Tom Birdsong (1):
Enhancements
- Bump to ITK v5.3rc04.post3 with reusable workflow (015ff58)
Thickness3D:
Matt McCormick (1):
Enhancements
- Update CI for ITK 5.3.0 (944886a)
Ultrasound:
Dženan Zukić (10):
Enhancements
- Add BackscatterImageFilter with Python wrapping (d8e02b2)
- Use tighter tolerances for C++ attenuation tests (b8c81da)
- Make the output mask of AttenuationImageFilter a normal output (39fd2d5)
- Add a Python test for AttenuationImageFilter (b5ecbc5)
- Wrap ResampleFilter for 3D CurvilinearArraySpecialCoordinatesImage (cff669e)
- Add quantitative regression test for Python curvilinear resampling (86aff35)
Platform Fixes
- Use more performant variants of transform physical point methods (aeb838b)
Style Changes
- make the Python test documentation more consistent (07f3e41)
- Baseline image is the first parameter in regression comparison (43b5123)
- Use ITKDISALLOWCOPYANDMOVE instead deleted private members (9acfc48)
Tom Birdsong (9):
Enhancements
- Bump ITK to v5.3rc04.post3 (269d8cc)
- Bump version to 0.5.9 (13d57e2)
- Bump for ITK v5.3.0 (0ff2216)
- Bump notebook workflow (88f79b5)
- Use ITK reusable workflow (38280fc)
- Update ITK CI reusable workflow (ca760c8)
Platform Fixes
- Ignore
SliceSeriesSpecialCoordinatesImagewarning (568fc49)
Bug Fixes
- Fix
install_requireslist insetup.py(1e8a1f1) - Update SpectralDistributions example for itkwidgets 0.21a (128e4f0)
VkFFTBackend:
Lee Newberg (1):
Enhancements
- Versions as strings, not numbers, so that 3.1 != 3.10, etc. (a4d0860)
Tom Birdsong (8):
Enhancements
- Update AWS EC2 GPU AMI tag (900f0db)
- Bump ITK version to v5.3rc04.post2 (1d4b375)
- Bump to v5.3rc04.post3 (4c968f1)
- Support ITK tarball specializations in linux build (eae3ddd)
- Bump VkFFT to v1.2.31 (933862b)
- Bump for ITK v5.3.0 (31a1921)
Platform Fixes
WebAssemblyInterface:
Dženan Zukić (5):
Miscellaneous Changes
- docs(examples): remove manual line breaks from examples/index.md (3697feaf)
- docs: remove manual line breaks in itkjstoitkwasmmigrationguide.md (7523fdff)
- docs: typo fixes in itkjstoitkwasmmigrationguide.md (95d8324a)
- docs(HelloWorldExample): More direct link to Git repository (0741bf34)
- docs(HelloWorldExample): HTML file should be named index.html (10e91189)
Federico Zivolo (2):
Miscellaneous Changes
Matt McCormick (380):
Miscellaneous Changes
- style(ViteExample): Add textarea styling for readability (ef41550e)
- build(DynamicImports): Add @vite-ignore (f32fccf3)
- chore(ViteExample): Bump to Vite 3 (320fe99e)
- feat(Pipeline): Add interface_json() (24bbeb77)
- style(Pipelines): Use dash delimited names for name and positional args (df5aa7f2)
- fix(runPipelineEmscripten): Copy args before passing to callMain (6f0a85f2)
- feat(itk-wasm-cli): Update default Docker image for kebab modules (c6182e52)
- docs(hello-pipeline,inputs-outputs): Update for pipeline name, type_name (7c64db46)
- feat(structured-report-to-text): Initial pipeline addition (b961063d)
- feat(itk-wasm-cli): Update default Docker image for Pipeline updates (145308d3)
- build(publish): Update test pipeline path for prepublish cleanup (19cf4434)
- ci(repository-url): Remove git+ protocol prefix (07ce28a2)
- fix(package.json): Remove git+ protocol from repository url's (e617cf21)
- feat(itk-dicom): Browser package configuration (6cc2574c)
- style(camelCase): Provide return type (559c398f)
- build(ExportMap): Add "default" entry (bf806c5f)
- feat(itk-wasm-cli): Update default Docker image for 1.0.0-b.7 (84fb14be)
- feat(version): Bump version to 1.0.0-b.7 (91e1f6eb)
- feat(itk-dicom): Node.js bundling and interface (3e5feb18)
- test(XState): Vendor for testing offline (da81c204)
- build(prepublishOnly): Do not remove dist/pipelines/Test (85815250)
- style(python): Move itkwasm package into its own directory (00a8fe0b)
- ci(Python): Update Hosted Runner versions (f9bf19a2)
- build(Python): Migrate packager from flit to hatch (e5fec054)
- feat(python): Execute with stdout / stderr (29318f6c)
- build(itk-dicom): Bump itk-dicom to required version (1f60b18a)
- docs(dicom): Add options to demo app (f5650ff3)
- style(dicom-demo): Use spectrum-web-components (e3857b12)
- fix(bindings): Pass pipeline path for generation (e8cf50cf)
- fix(runPipelineEmscript): Lower mesh cellData (50185ca5)
- docs(Hacking): Document creating a debug build (5b1fdf65)
- docs(Hacking): Add welcome message, semantic-release link (ff26ca1d)
- docs(debugging): Fix links (81c621f2)
- docs(hackingitkwasm): Fix debugging example link (b4f70c2c)
- refactor(itk-wasm-cli): Rename bindings subcommand to bindgen (501e4166)
- chore(itk-dicom): Bump version to 0.1.0 (b77a743c)
- fix(itkConfig.ts): Import from './browser/index.js' (f6a125de)
- feat(WASI): Support itkwasmdelayed_start (a4609a6e)
- ci(Firefox): Disable until issues with FF 105 addressed: (1afd9886)
- ci(update-versions): Run during verifyReleaseCmd (d0defca5)
- docs(ViteExample): Bump to 1.0.0-b.37 (2f25c583)
- feat(itk-wasm-cli): Update default Docker image for 1.0.0-b.38 (a6af973a)
- chore: Bump itk-dicom version to 0.2.0 (4f2056ec)
- fix: Run update-versions during prepublishOnly npm step (8717d055)
- feat(Python): Support pipeline stream inputs/outputs (837876ac)
- chore(Dependencies): Bump Cypress to 10.10.0 (4ce2d9f3)
- test(runPipeline): Migrate from Karma to Cypress (a408e7c8)
- feat(itkConfig): Support dynamic runtime specification for browser (a461426c)
- style(runPipelineNode): loadEmscriptenModuleNode consistent with export (e36ba4f2)
- feat: Python File interface types support (b9509ba9)
- fix(io-packages): Update with main package semantic-release version (6e62ba79)
- feat(SupportInputImageTypes): Support VectorImage as template specialization (0ec818e2)
- feat(castImage): Function to cast to pixelType, componentType (52500fef)
- feat(itk-wasm-cli): Update default Docker image for 20221101-a2f1bdfa (2a0cd0f7)
- docs(RELEASE): Remove components automated by semantic-release (74b75db8)
- feat(itk-wasm-cli): Update default Docker image for 20221101-1b7430cf (b877b784)
- build: Remove SupportInputImageTypesNoVectorImage (1ada4361)
- feat(itk-wasm-cli): Update default Docker image for 20221101-8f65383f (bf965dd7)
- docs(Docker): Move release documentation into src/docker (be9ffc83)
- build: Export cpp-base64 from WebAssemblyInterface (7cc7cfa2)
- ci(testing-data): Remove Pinata pinning (1e3e0835)
- refactor: Updates for master to main branch rename (770d853a)
- ci: Remove unused Azure Pipelines config (075eb0bf)
- test: Update released data resources (6e0d4c17)
- test: Retrieve released data from Kitware's Apache server (09c335b3)
- feat(readImageLocalFile): Support casting options (149721db)
- feat(readImageArrayBuffer): Support componentType, pixelType options (6d1c20ac)
- feat(readImageBlob): Add pixelType, componentType options (9b8c32a2)
- feat(readImageDICOMArrayBufferSeries): Add componentType, pixelType options (54deca39)
- style: ts-standard updates (94460b73)
- feat(readImageFileSeries): Support componentType, pixelType (d42fbc12)
- feat(readImageDICOMFileSeries): Support componentType, pixelType options (5e5d1423)
- feat(readImageFile): Support componentType, pixelType (9ac40b94)
- feat(readImageLocalDICOMFileSeries): Support componentType, pixelType (0a61e48c)
- feat(writeImageArrayBuffer): Support componentType, pixelType (2b50d9c8)
- feat(writeImageLocalFile): Support componentType, pixelType (23eca873)
- build: Update ExternalData.cmake for w3s.link gateway output (08ead980)
- docs: Document how to add new testing data (6970f542)
- feat(Image): use Map for metadata member (f9ac56ec)
- feat(Image): support metadata serialization (282db1b8)
- feat(itk-wasm-cli): Update default Docker image for 20221114-8659b8cc (7af2985c)
- docs(docker-release): Note checking out a new branch (1e4a827d)
- docs: Add BREAKING_CHANGES.md to track beta breaking changes (c9ffa2b1)
- feat(Python): Add IO wrapping (a0e6705f)
- build(Python): Add setup.py (0183eb00)
- ci(GitHubActions): Add C++, Python package builds (75e8337a)
- ci(GitHubActions): Migrate to remote module reusable action (1b6926c1)
- build(Windows): Use C++20 standard (f367476c)
- build(libcbor): Bump to latest master (f023f0f8)
- build(Windows): Replace std::atol with std::strtoull (93b8a7b2)
- build(GCC): Address operator | warning (9234e1a5)
- build(macos): Use C++17 (76168258)
- build(SharedLibs): Add missing export specification, linkage (ddc60684)
- build(Windows): Simplify cbor pair initialization (0c62f22f)
- docs(NativePythonPackage): Improve long description (06916b20)
- test(C++): Disable itkPipelineTest in CI (8e8d08ca)
- feat(ITK): Bump to 2022-12-21 master (d37dad3f)
- feat(itk-wasm-cli): Update default Docker image for 20221222-d37dad3f (79b57308)
- ci(NativePython): Fix wheel uploads (1fa7dbd7)
- build(PythonPackages): Enable CMAKEPOSITIONINDEPENDENT_CODE (c4fe6221)
- docs(Badges): Fix C++ / Native Python link (c02db3db)
- chore(HelloWorldExample): Bump dependencies to latest (859ad9cb)
- refactor(HelloWorldExample): Run example on port 8083 (e3bc54ac)
- docs(HelloWorldExample): WASM -> Wasm (4759d243)
- docs(HelloWorld): Updates and improvements for 1.0.0-b.53 (49d8cf99)
- docs(HelloWorld): Update screenshot (3e646d8f)
- ci(HelloWorld): Bump actions to latest (4afb68f7)
- ci(HelloWorldExample): Update emscripten-build artifact directory (ed0754b7)
- ci(Python): Add native ARM wheel support (1444f69e)
- feat(runPipeline): Support passing pipelineBaseUrl directly (2a65e196)
- fix(runPipeline): Support URL pipelineBaseUrl (af20cd98)
- fix(createWebWorkerPromise): Move up one directory (1ed0b88f)
- build(toolchains): Bump to wasi-sdk-19, emscripten latest release (fcc852e2)
- feat(itk-wasm-cli): Update default Docker image for 20230116-fcc852e2 (358f42bc)
- [...]
- C++
Published by thewtex over 2 years ago
itk - ITK 5.3.0: 3D Slicer Python Packages
ITK 5.3.0 Release Notes
We are exceedingly pleased to announce the Insight Toolkit (ITK) 5.3.0 is available for download! :tada: :santa: :gift: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration in a spatially-oriented architecture.
:flashlight: Highlights
ITK 5.3 is a feature release that
- accelerates performance
- provides new segmentation, shape analysis, and registration algorithms
- improves documentation
- adds Python-driven distributed computing support
- adds 3D Slicer Python package support
- and many more improvements
ITK 5.3.0 highlights itk Python package support in 3D Slicer. Binary macOS, Linux, and Windows itk-* Python packages can be installed directly into Slicer's Python runtime using standard Slicer mechanisms. Python packages from the main repository can be installed along with wheels built from Remote Modules. Slicer module development is supported by itk's Python compatibility with NumPy and compatibility with VTK.



Alignment of primate skulls with SlicerMorph through ITK and ITK remote module Python packages. Registration of the skulls facilicates shape-based quantification of the morphological characteristics of specimens and related species.
ITK 5.3.0 also includes Python dictionary conversions functions, itk.dict_from_image, itk.image_from_dict, itk.dict_from_mesh, itk.mesh_from_dict, and itk.dict_from_transform, itk.transform_from_dict. Additional remote modules were contributed to support point set registration, ITKFPFH computes feature points that could be used to obtain salient points while performing registration of two point clouds, and ITKRANSAC performs feature-based point cloud registration with the Random Sample Consensus (RANSAC) algorithm. A new GitHub Action was created to faciliate testing, packaging, and maintenance of remote modules. The Action includes recent developments to support the creation of 3.11 Python packages, ARM and GPGPU-capable Python packages.
💾 Download
Python Packages
Install ITK Python packages with:
sh
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
Python
- Python packages now include oneTBB support for improved performance
- Following CPython's deprecation schedule, Python 3.6 is no longer supported
- Python packages added for Python 3.10, 3.11
- Initial Python wrapping is available for the Video modules
TransformToDisplacementFieldis now available in Python- Pythonic IO functions
itk.imreadunderstandspathlib.Path's - New
reprforitk.Matrix np.asarrayworks onitk.MatrixDCMTKImageIOwrapping addressedGradientDifferenceImageToImageMetricwrappedSynImageRegistrationMethod,BSplineSynImageRegistrationMethodwrappedConjugateGradientLineSearchOptimizerv4wrapped- Wrap
ImageRegistrationMethodv4foritk.Mesh - Wrap
PointSetToPointSetMetric,PointSetToPointSetRegistrationMethod - Wrap
ANTSNeighborhoodCorrelationImageToImageMetricv4 - Nearly all registration v4 classes are now wrapped
VectorImageinput forDisplacementFieldTransform- Python wrapping for spatial orientation functionality
- PyImageFilter wrapped for additional types, supports pipeline functionality
- NumPy array interfaces for
itk.PointSet,itk.Mesh - manylinux228 and manylinux2014 wheels are provided
- Dask support for
itk.Image,itk.PointSet,itk.Mesh,itk.Transform - Linux x86_x64 binary Python packages are available for older and newer C++ standard libraries ABI's
- Wrap
itk.PointsLocator MetaDataObjectwrapping foritk.Matrix- Python dictionary conversion functions:
itk.dict_from_image,itk.image_from_dict,itk.dict_from_mesh,itk.mesh_from_dict,itk.dict_from_transform,itk.transform_from_dict.
C++
- C++14 is now required
- The minimum CMake version required is now 3.16.3
- New functions:
MakePoint,MakeVector,MakeIndex,MakeSize. - Targets in Visual Studio and other IDE's are now organize hierachically by ITK Group and Module
- Most of
itk::mplmeta-programming functions replaced by C++14 equivalents - Performance accelerations for b-spline interpolation, Mattes mutual information metric computation
- Improved modern C++ adoption, e.g. additional adoption of
constexpr,auto itk::ReadMesh,itk::WriteMeshsimple reader functions available, similar toitk::ReadImage,itk::WriteImage- FFT backends are now registered through the object factory mechanism
- Add
cbegin()andcend()member functions toIndex,Offset,Size - Add
itk::MakeFilled<TContainer>(value) itk::ConvertNumberToString<TValue>(val)convenience functionitk::bit_cast<TDestination>(source)functionitk::PolyLineCellInputSpaceNameandOutputSpaceNamesupport foritk::Transformqfac,qt_xyzadded to Nifti metadataLZWcompression support- Support requested output region in FFT filters
- New
itkBooleanMacrofor boolean ivar - Improved support for large Nifti files
- Mimic C++20
std::make_unique_for_overwritefor dynamic arrays - Add DataObject::UpdateSource() alternative to GetSource()->Update()
- Support
itk::Similarity3DTransforminitk::LandmarkBasedTransformInitializer - Many code coverage improvements
New filters
itk::TransformGeometryImageFilter: applies a rigid transform to anImage's metadata.- 1D FFT classes
- Interface classes for forward, inverse transformations
- Vnl implementations
- FFTW implementations
itk::TriangleMeshCurvatureCalculator- Gaussian curvature calculator foritk::MeshFFTDiscreteGaussianImageFilter-- discrete gaussian filters via FFTs
Remote module updates
New remote modules:
- HASI: High-Throughput Applications for Skeletal Imaging
- ITKGrowCut: segments a 3D image from user-provided foreground and background seeds
- ITKMeshToPolyData: Convert an ITK Mesh to a simple data structure compatible with vtkPolyData
- ITKCudaCommon: Framework for processing images with CUDA
- itk-wasm WebAssemblyInterface: Build WebAssembly processing pipelines to native executables and support ITK WebAssembly file formats
- ITKCleaver: Multimaterial tetrahedral meshing.
- ITKIOMeshSWC: Read meshes from SWC files, a format for representing neuron morphology.
- ITKFPFH: Compute feature points that could be used to obtain salient points while performing registration of two point clouds.
- ITKRANSAC: Feature-based point cloud registration with the Random Sample Consensus (RANSAC) algorithm.
Updated remote modules: AdaptiveDenoising, AnalyzeObjectLabelMap, AnisotropicDiffusionLBR, BSplineGradient, BioCell, BoneEnhancement, BoneMorphometry, Cuberille, NeuralNetworks, FPFH, FixedPointInverseDisplacementField, GenericLabelInterpolator, GrowCut, HASI, HigherOrderAccurateGradient, IOFDF, IOMeshSTL, IOOpenSlide, IOScanco, IOTransformDCMTK, IsotropicWavelets, LabelErodeDilate, LesionSizingToolkit, MGHIO, MeshNoise, MeshToPolyData, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, MultipleImageIterator, ParabolicMorphology, PerformanceBenchmarking, PhaseSymmetry, PolarTransform, PrincipalComponentsAnalysis, RLEImage, RTK, SCIFIO, Shape, SimpleITKFilters, SkullStrip, SmoothingRecursiveYvvGaussianFilter, SplitComponents, Strain, SubdivisionQuadEdgeMeshFilter, TextureFeatures, Thickness3D, TotalVariation, TubeTK, TwoProjectionRegistration, Ultrasound, VariationalRegistration, and WebAssemblyInterface.
Third party library updates
- dcmtk
- double-conversion
- eigen
- expat
- fftw
- gdcm
- googletest
- hdf5
- kwsys
- kwiml
- minc
- metaio
- niftilib
- vxl
- zlib migrated to zlib-ng
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 90 authors who contributed since v5.2.0, we would like to specially recognize the new contributors:
Michael Kuczynski, Tim Evain, Tomoyuki SADAKANE, Mario Emmenlauer, Andreas Gravgaard Andersen, Ebrahim Ebrahim, josempozo, Wenqi Li, Genevieve Buckley, Oleksandr Zavalistyi, Jose Tascon, Pranjal Sahu, ambrozicc1, Vagrant Cascadian, MrTzschr, Philip Cook, Tihomir Heidelberg, Jason Rudy, Kian Weimer, z0gSh1u, Darren Thompson, Darren, Jose M Pozo, Paul Elliott, Gabriele Belotti, Rafael Palomar, Fernando Hueso-González, Mark Asselin, mrhardisty, Laryssa Abdala, Roland Bruggmann, Natalie Johnston, ferdymercury, Shreeraj Jadhav, luz paz, Mikhail Polkovnikov, Chris Harris, Matt Cieslak, Alex, Imko Schumacher, Joey Cho, Butui Hu, Shengpeng YU, Alexy Pellegrini, and Stefan Dinkelacker.
🗣️ What's Next
Major improvements to the toolkit in this release led to an extended release timeline as refinements were made in testing. For 5.4.0, we plan to return to our regular biannual release cadence. For 5.4, anticipated improvements include enhancements to GPU Python packages, Python packaging improvements via scikit-build, improved MONAI support, and WebAssembly support. A few patch releases are expected before 5.4.0.
Discuss your experiences at discourse.itk.org or forum.image.sc. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization. Contribute donations through NumFOCUS on our Open Collective page. For commercial support, reach out to Kitware.
Enjoy ITK!
ITK Changes Since v5.3rc04
Alex (1):
Bug Fixes
- GitHub Workflows security hardening (357282c0d8)
Brad King (2):
Enhancements
- Update double-conversion import script to record prior import (864cd366ce)
- Update double-conversion import script to get latest version (0315c6c77a)
Bradley Lowekamp (10):
Enhancements
- Adding GTest for LabelOverlapMeasuresImageFilter (01bdd3170a)
- Update LabelOverlapMeasures to use dynamic threading (19fab83d67)
- Use ImageSink for LabelOverlapMeasures base class (8d8a7050df)
- Enable HDF5ENABLETHREADSAFE (8c49c10b50)
Performance Improvements
- improve map usage and increment prefix (777e66d459)
Platform Fixes
- Fix comparison of integer expressions of different signedness (a7c26b586f)
Bug Fixes
- Use named inputs for LabelOverlapMeasuresImageFilter (83480a0aa3)
- Update LabelOverlapMeasures internal class (9e90993c9f)
- initialize image buffer in Nifti direction test (88e1100ce2)
- Fix OutputWindow thread-safety GetInstance (7a121ac7b6)
Butui Hu (1):
Platform Fixes
- use sysconfig.get_path as PEP 632 deprecate distutils module (28325d921a)
Dave Chen (1):
Documentation Updates
- Fixed Midas Journal link to use HTTPS (b41733e624)
Dženan Zukić (14):
Enhancements
- Add more symbols to HDF5 name mangling (bd7fdd6097)
- Refactor UpdateDoubleConversionFromGoogle.sh (bb5795e09f)
- Enable building HL library for the bundled HDF5 (ad9d33bd4e)
- Update remote modules using the script (1546a4c2ec)
- Add a test for different spacing in NIFTI's qform and sform (7e125c66e3)
- Prepare for name mangling update of HDF5_HL library (b0aa2fbdf4)
Platform Fixes
- Previous commit was pushed erroneously (8a904b1e5a)
- Set CMake Policy 135 to NEW to suppress warnings in CMake 3.24 (e3d6c94eb9)
- WindowedSincInterpolate OffsetTable return type VS2017 fix
- Fix build with ITKUSESYSTEM_HDF5=ON (d93d987a60)
- Update name mangling of HDF5_HL library (0827484a43)
Bug Fixes
- use DICOM for reading directories only if imageio is not specified (55bdee957f)
Style Changes
- Make NIFTI test CMakeLists.txt more readable (62eb5ca265)
- Sort the mangling defines in HDF5 as a single group (b0ed109002)
Google double-conversion Maintainers (3):
Miscellaneous Changes
- DoubleConversion 2017-03-06 (4abe3267) (25368a25b8)
- DoubleConversion 2020-12-17 (0d3733a4) (8f0ef9b9c2)
- DoubleConversion 2022-07-07 (af09fd65) (7f9a214d3e)
GoogleTest Upstream (1):
Miscellaneous Changes
- GoogleTest 2022-06-27 (58d77fa8) (5a8e439610)
Hans J. Johnson (34):
Enhancements
- Force test failure on bad file writing (554e45bd6a)
- Isolate img that is being corrupted. (6a5a715931)
- Run script for Python3 find_package upgrade (55c7b7f380)
- Huge file needed for zlib library (124dc8d798)
- Remove duplicate class VersorRigid3DTransformOptimizer (c5dafc7423)
- Add check if optimizer supports scales (1fefa3f2a0)
- Improve diagnostic reporting for tests (82665b23b4)
- Convert unspecified exceptions to itk (fcf8b39ac8)
- Consolidate resetting IO object for reuse (bbddf47502)
- Add script for Python3 find_package upgrade (bfa85dd547)
- Specify minimum allowed python version (211c66d197)
- Provide install of itk-stub pyi files (0af0a247b1)
- Add typehints to python wheel packages (d7bb212223)
Documentation Updates
- Fix Exception message suggestion (cb4f17f51e)
- Remove outdated migration information (1608256c5a)
Platform Fixes
- Remove deprecated uses of vxl for LEGACY ITK (fee75ae5ae)
- Allow changing CMAKEINSTALLLIBDIR (380a469634)
- Allow install lib directory name changes (5b09d54666)
- Missing "\ingroup ITKMesh" doxygen setting (bdf5dca346)
- Suppress uninitialed variable warning (a1cf161dad)
- ITKWRAPPYTHON_VERSION is used for remote modules (278129bd7d)
Bug Fixes
- Provide itk::Exception for invalid NIFTI write (63590b85bb)
- Incorrect comparison of nifti header matricies (93cbef03f4)
- DTITubeSpatialObjectTest was not run (00c0901899)
- Fix unstable mathematical computations (c09a43905e)
- Avoid dangerous use of putenv (9309d06b73)
- A temporary work-around for HDF5 testing (2ddf42785b)
- Python3EXECUTABLE -> specifiedPython3_EXECUTABLE (4a019c5e74)
Style Changes
- Place large block of common code in single file (1c26fcd25f)
- Consolidate duplicated code (6b039200cb)
- [Versor|VersorRigid3D]TransformOptimizer same (c461bdd9f8)
- Simplify local variable compuations (682ad7c9ec)
- Fix test debugging statement format. (494771b5fc)
- Make Python3ROOTDIR user-visible (73ddcf5a82)
Hastings Greer (2):
Documentation Updates
- warning for calling GetImageViewFromArray on non-contiguous array (cd9cf8d20b)
- add need_contiguous to GetImageViewFromArray docstring (b07aaff1ff)
Jean-Christophe Fillion-Robin (1):
Platform Fixes
- Ensure client project can find externally build ITK module (b9b622db64)
Joey Cho (1):
Enhancements
- Improve LabelOverlapMeasuresImageFilter (1f7f46be40)
Jon Haitz Legarreta Gorroño (89):
Enhancements
- Switch Azure Pipelines macOS environment version (b1e080ddf8)
- Switch Azure Pipelines Linux environment version (2c8be6920f)
- Add
itkBooleanMacrofor boolean ivar (16d7523829) - Increase coverage for miscellaneous classes (b248e0da54)
- Add
itkBooleanMacrofor boolean ivar (a2fa9deeb2) - Increase coverage for miscellaneous classes (669a39ca85)
- Increase
itk::UniformRandomSpatialNeighborSubsamplercoverage (3c6de8f009) - Increase
itk::STAPLEImageFiltercoverage (aa76dfb7d7) - Add
FastMarchingImageToNodePairContainerAdaptorgetter methods (071ceacb06) - Increase
itk::RegularStepGradientDescentOptimizerv4coverage (59e7d01dec) - Increase coverage for
itk::ImageRegistrationMethodv4(a639acc22c) - Increase
itk::MultiLabelSTAPLEImageFiltercoverage (fcfa0c6498) - Use
itkPrintSelfObjectMacroto print objects that can be null (1802f39a89) - Test
itk::ImageFileReaderimage IO to requested region mismatch (182764b9a9) - Use
itkPrintSelfObjectMacroto print objects that can be null (a0ba000906) - Fix the
DocumentationPR title identification (7539b50a4d) - Clamp
STAPLEImageFiltermaximum iterations (a7546b667d) - Add a test to check reading large
NIfTIimage subregions (f423f2d7c7) - Pin Python version in non-Python Azure pipelines (154831a4ba)
- Increase coverage for
itk::SobelOperator(c86fd7896d) - Increase coverage for
itk::RoundImageFilter(056fee3d93) - Increase coverage for
itk::RandomImageSource(84fc5bea3a) - Increase coverage for miscellaneous classes (dca4a36dde)
Documentation Updates
- Remove wrong class names from test documentation (683097dc88)
- Fix spelling mistake in printed message (afbfcb5b54)
- Fix typos and grammar (fb0a377f05)
- Conform to ITK SW Guidelines in comments (1800d81600)
- Document methods in header file (283028c35e)
- Fix argument names in method Doxygen documentation (56de405a05)
- Fix unexpected token in class documentation (14e53cbd90)
- Fix Doxygen automatic link to member function (8a6eb3db3e)
- Fix
itk::MRASlabIdentifierclass documentation list syntax (68979a9537) - Fix links to ITK Sphinx examples in class documentation (29eff36450)
- Remove Sphinx link to non-existing example (a6ee7854c2)
- Provide a name for the
FitSplineIntoPointSetSphinx example (4aeb73776b) - Improve Sphinx example displayed names (cbbb1b0409)
- Use Doxygen automatic class links in module descriptions (c139163661)
- Fix NRRD links in module descriptions (e99bebe942)
- Fix typos and improve wording in module descriptions (604237d0fa)
- Fix miscellaneous Doxygen warnings (92ae16f315)
- Make Doxygen class command indent consistent (87a66198e1)
- Link groups in Doxygen in module description (a0d0b4caa9)
- Use Doxygen syntax to create automatic links to members (3025d8365f)
- Fix typos in
StreamingImageIOBaseclass documentation (32d3cb6599) - Fix ITK class namespace spelling in
Coregroup description (1e003467e2) - Escape Doxygen
\refcommand in module description (f8cd1766a2) - Triple escape Doxygen
\refcommand in module description (bf6d071798) - Fix module names in module description ref links (d297464766)
- Link groups in Doxygen in module description (67d453892c)
- Remove redundant wording in module description linking (8e34f1078e)
- Fix
CONTRIBUTINGfile link in binary data upload file (460e3b6614) - Document the wrapping modules' extraction/archived timestamp flags (dbdae2499f)
Platform Fixes
- Remove duplicate include file (8cb9b2c989)
- Fix uninitialized vector warnings (d81a02cc23)
- Fix missing initialization braces warnings (abf5fa1052)
- Set
DOWNLOAD_EXTRACT_TIMESTAMPtoTRUEin wrapping modules (0bfebf5d63) - Set
DOWNLOAD_EXTRACT_TIMESTAMPtoTRUEfor Windows wrapping (b50e4f4d8e)
Bug Fixes
- Fix Superclass name in RTTI macro (4f382711dd)
- Fix variable typo
MultiphaseDenseFiniteDifferenceImageFiltertest (68fea25cfc) - Set the maximum number of iterations to a non-zero value in test (b64bc4f4d6)
- Fix
itk::STAPLEImageFiltertest argument order (5b5d85e4fa) - Use unique names for
itk::SobelOperatortest output files (54f4306f9a)
Style Changes
- Improve the ivar printing in
PrintSelfmethod (33c7d9ebac) - Prefer using
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (a5af03b2d2) - Conform to ITK style in variable naming in tests (5f00847859)
- Conform to ITK style guidelines in test ending message (bb2143e86d)
- Improve the first interaction message style (a260272186)
- Use the superclass name in itkTypeMacro (a00fd6a0e2)
- Conform to ITK style in variable naming in tests (2127b6dbae)
- Prefer using exception checking macros in tests (5f737c0573)
- Conform to ITK style guidelines in test ending message (b7a2c16f71)
- Remove unnecessary test printed message (b9ee374e27)
- Improve
itkUniformRandomSpatialNeighborSubsamplerTeststyle (f90dd218d8) - Make flow control variables have a local scope (4d0d13726d)
- Conform to ITK style in variable naming in tests (02bff35aae)
- Declare variables closer to where they are instantiated (e99228e93d)
- Use
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (22802d3016) - Use the superclass name in itkTypeMacro (12dffb3cc8)
- Conform to ITK style guidelines in test ending message (4725ccdbef)
- Remove unnecessary message in argumentless test (040db7be3f)
- Use
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (f0d3d80883) - Conform to ITK style guidelines in test ending message (abc7e3a35d)
- Use
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (7ff28bac5c) - Improve style in
itkMultiLabelSTAPLEImageFilterTestfile (852d4e4e78) - Remove unnecessary empty comment blocks (3b88398b83)
- Prefer using the
ITK_TRY_EXPECTmacros in tests (66a9a27bb0) - Increase test argument check and ending message consistency (1b285b5c6d)
- Improve style in
PrintSelfmethods (925ddc5b67) - Break
ImageComparemodule test command into multiple lines (12d13f6b05)
Lee Newberg (2):
Style Changes
- Method local variables should not have
m_prefix (4b5842f718) - Change Over/UnderFlow to Over/Underflow (d6203c25c6)
Matt Cieslak (1):
Bug Fixes
- add SetNumberOfWorkUnits to SetMaximumNumberOfWorkUnits (bbf14ddfb6)
Matt McCormick (21):
Enhancements
- ST, IT, OT for SizeValueType, IdentifierType, OffsetType (6a9aca9906)
- Test reading ANTs Nifti displacement field metadata (4e17965f68)
- Propagate needs_contiguous option, docs up from PyBuffer (27d3ee80a1)
- Testing data content links for 5.3.0 (09ecfb271e)
Documentation Updates
- Add First Interaction GitHub Action (4401132667)
- Update Sphinx example URL in README (cb2ff13ba0)
- Update donation link to Open Collective (dd76293b05)
- sudo required in ARM wheel builds (eda4ac9f7d)
- Update .zenodo for 5.3.0 (4b29d81dcd)
Platform Fixes
- PointsLocator wrapping on Windows (1481c1e7dc)
- Add -fno-sized-deallocation for GCC 12 (58ce6e84f2)
- ARM Eigen copying an object of non-trivial type (ed5447249a)
- Do not depend on castxml target when using system version (b35271d809)
- Add includes for uint32_t in wrapping (fc1f6cc6f3)
- Bump CastXML for Linux ARM build (438938a911)
Bug Fixes
- Use absolute module path PyCapsule_Import (835dc01388)
- PointLocator wrapping should not wrap superclasses (c273a5383a)
- itkPointsLocatorTest.py supports Windows, multiple PointsLocator types (72cea5f942)
- Add permissions to apply clang format action (dd7ffaa836)
- Add GitHub Action permissions for the labeller (b3d153d8f2)
- Add type specification for imread image series (a41bd60dfd)
Mihail Isakov (8):
Enhancements
- allow Nifti with wrong scales in sform (927eb2684c)
- less memory pressure in itkNiftiLargeImageRegionReadTest (55dad2bce9)
Documentation Updates
- updated comment for ITKFUTURELEGACY_REMOVE (37e46fd675)
Bug Fixes
- fixed memory leak in Nifti IO (87f8716216)
- fixed memory leaks in MINC IO (c5bc6a6540)
- fixed issue with DCMTK build (a3bc04f8d4)
- fixed memory leak in itkMeshTest (4b0fd6bd77)
Style Changes
- removed duplicated messages (88120e674c)
NIFTI Upstream (5):
Miscellaneous Changes
- nifti 2022-07-27 (3aa22540) (af2ec74484)
- nifti 2022-08-02 (11eb262d) (4384cbdf78)
- nifti 2022-08-03 (3146cac8) (ea5c7406ed)
- nifti 2022-09-19 (8f7ecce7) (3f05c5003c)
- nifti 2022-11-22 (b2826a48) (08343ec82a)
Nick Tustison (2):
Performance Improvements
- Remove unnecessary computations and parallelize function. (0ceb091d00)
Bug Fixes
- Copy input data instead of overwriting. (128dd8a8e9)
Niels Dekker (82):
Enhancements
- Add VTKPolyDataMeshIO GTest tests, testing lossless write and read (2568e727a8)
- Support reading a mesh of non-3D points from a .vtk PolyData file (236f378258)
- Mimic C++20
std::make_unique_for_overwritefor dynamic arrays (01e02019ab) - Add DataObject::UpdateSource() alternative to GetSource()->Update() (11dac9e29e)
- Add
ChangeInformationImageFilter.CheckNewGTest unit test (e59f4eca80)
Performance Improvements
VectorNeighborhoodInnerProductpixel retrieval out of inner loop (eb4c9b6d09)- Use smaller (16x16) images in KullbackLeibler metric test (dd0e02a803)
Platform Fixes
- Work around GCC <= 9.1 "error: invalid application of ‘sizeof’..." (d7c0128e99)
- Fix typo (compile error) in
PhilipsRECImageIOconstructor (8ad7354671)
Bug Fixes
- VTKPolyDataMeshIO should not hang on inf and NaN in ASCII .vtk file (678b97eaeb)
Object::InvokeEventshould not use a dangling Observer pointer (a687010b81)- ImageIORegion::IsInside should return false for a zero-sized region (20b0e6dea1)
- Remove unintended
<<concatenation of literal words in messages (ab62a8eef4) - Remove unintended
<<concatenation of literals in test output (49150c8a70)
Style Changes
- Replace postfix with prefix increment, decrement (
++,--) (ec510c1749) - Replace both occurrences of
(&e)->Print(os)withe.Print(os)(65215a42dc) - Replace all occurrences in tests of
(&x)->Printwithx.Print(8f5c337311) - Rethrow caught exceptions just by
throw;without argument (15fb8f24a9) - Replace
(*p).memberwithp->memberin library code (d90e635bc0) - Replace
(*p).memberwithp->memberin unit tests (8aa5bd49d6) - Clean up code by ReadPointsUsingMeshIO(), ReadCellsUsingMeshIO() (b963ba8727)
- Declare Ellipsoid SpatialFunction orientations as a fixed matrix (8fa2e4f688)
- Use
unique_ptrforOrthogonalSwath2DPathFilterdata members (7c4dae88ac) - Declare WindowedSincInterpolateImageFunction data as fixed arrays (bd8c09f8f0)
- Declare
NormalVariateGenerator::m_Vec1as fixed array (d1a76b9f2f) - Use unique_ptr to avoid the same delete[] on multiple exit paths (8454e9da2d)
- Replace pointers initialized by
new T[N]with fixed arrays (2135376686) - Replace pointers initialized by
new T[N]with arrays, in tests (6f002ed216) - Replace
new T[n]withmake_unique_for_overwritein cxx files (15d09d6c75) - More makeuniquefor_overwrite, less delete[], on local variables (a9bd57036c)
- Make uniqueptr by makeuniqueforoverwrite, instead of new T
- Let Operator Fill allocate temp_slice on the stack, without
new(994bd46796) - Use uniqueptr and makeuniqueforoverwrite in Review module (5eb451f080)
- PointSet, LevelSetBase call Superclass::UpdateOutputInformation() (35ab868b92)
UpdateOutputInformation()should callGetSource()just once (0b47b7bf95)- Call DataObject::UpdateSource(), avoid calling GetSource() twice (d701a0aa12)
- Allocate local variables (cells) Mesh on the stack, without
new(8e8dce1322) - Allocate
Directory::m_Internalwithoutnew(3cdfee3924) - Declare
RGBGibbsPriorFilterdata members asunique_ptr<T[]>(bb7d2f29b3) - Declare
ImageGaussianModelEstimator::m_Covarianceas unique_ptr (b03347bcdc) - Remove
mutablefrom private "per thread" pointers of metrics (aeab4be102) - Declare metric "per thread" data members as
unique_ptr<T[]>(2f2b29cbbe) - Remove unreachable code from GE5ImageIO
if (buffer == nullptr)(d00471049c) - Declare local
bufferinGE5ImageIO::ReadHeaderas unique_ptr (e2b7445fc9) - Declare local GEImageHeader pointers in GE5ImageIO as unique_ptr (833f29f8bc)
- Remove
constoverload ofSubjectImplementation::AddObserver(ebddf08ba0) - Declare two private data members of
itk::Objectas unique_ptr (5daed92e4c) - Declare
Observer::m_Event(fromitk::Object) as unique_ptr (d0a39d3dda) - Declare observers of
itk::Objectas list of Observer objects (171fb2ba33) - Declare
ObjectFactoryBase::m_OverrideMapas unique_ptr (f02dafa5ce) - Remove pointer indirection from lists of ObjectFactoryBasePrivate (48d0cb0eed)
- Declare lambda's created for Singleton
const, but non-static (2d19f26bb7) - Move
Observerclass from "itkObject.cxx" into unnamed namespace (1f3ec8ce4b) - Make
SubjectImplementationa private nested type of itk::Object (4c0526e4ab) - Make protected
Object::SubjectImplementationmembers private (2a18aab80d) - Do "const" iteration over Object::SubjectImplementation observers (090cb2335a)
- Remove space between class and member names (follow-up) (2b1b5312fa)
- Declare
m_VnlOptimizerfrom Optimizers as unique_ptr (7357008cbc) - Make OverRideMap, ObjectFactoryBasePrivate private nested classes (b85b88b67d)
- Remove constcast, make `Object::mSubjectImplementation` mutable (f2783a9aa0)
- Remove unused local
tempVecfromImageKmeansModelEstimator(6e6bb618fd) - Remove unused local
distfromRGBGibbsPriorFilter(9550497884) - Use
std::make_unique<T[]>to zero-initialize the elements (f4f126dce9) - Declare local
valueinBMPImageIO::Readas unique_ptr(d666520f6f) - Declare BlockMatchingImageFilter data members as unique_ptr
(64a5cd83aa) - Rename nested ObjectFactoryBase type OverRideMap to
OverrideMap(05accd95f4) - Remove duplicate
#include "itkMath.h"statements (cb460fabe0) - Remove duplicate #include "itkNeighborhoodIterator.h" statements (81351faa69)
- Remove duplicate
#includestatements from tests (16527c1dd2) - Remove obsolete uncaught_exception() call from
~LightObject()(da1229dc1b) - Replace
reset(new T[n])with makeuniquefor_overwrite(n) (9df8f74c66) - Remove new, do makeuniquefor_overwrite in NeighborhoodAllocator (3c8ff8b183)
- Use
{}asMeasurementVectorTraits::IsResizableargument (be8cb4233b) - Initialize sum by {} in VectorNeighborhoodInnerProduct operator() (9214ea0723)
- Use
{}instead of dummy asNumericTraits::GetLengthargument (fa7d8dd922) - Remove backslash + indent from literals, to avoid unwanted spaces (69151c3a1c)
- Remove backslash (continuation character) from string literals (d0abdffe0a)
- Remove backslash + indent from literals in tests (e46ceafbcf)
- Remove backslash from string literal in ResampleImageFilter test (3d7fa29cfe)
- Remove backslash + indent from literal BSplineDecomposition test (9e7547f558)
- Default
ChangeInformationImageFilter()default-constructor (5e726de408) - Remove obsolete
__GNUC__macro checks for GCC version 4 (ce57f309f4)
Pranjal Sahu (15):
Enhancements
- Adding Python wrapping for itkPointsLocator (a4002b1653)
- Adding Python test for itkPointsLocator (ba3c191806)
- Add distances of returned ids in PointsLocator (7782feb6c8)
- Add test for itkPointsLocator with distances (b9005b83b3)
- Add float combinations for vnlmatrixfixed Python wrap (8c0d0e6247)
- Add test for vnlmatrixfixed Python wrap (17f5ece6c9)
- Add MetaDataObject wrapping with Matrix (7d6212d05d)
- Add Similarity3DTransform in itkLandmarkBasedTransformInitializer (c91edeb015)
- Add Similarity3DTransform itkLandmarkBasedTransformInitializer test (9a30b70cf5)
- Add new test for LINE and POLY_LINE cell (6b15885397)
- Add itk.Point wrapping for dimension 6 (b6dd03d6b0)
- Add FPFH as remote module (c1e0d4b4ab)
- Add RANSAC as ITK remote module (8b0da2093e)
- Add DistanceThreshold parameter in EuclideanDistance Metricv4 (c510229a64)
Bug Fixes
- Fix for wrong cell type when LINE and POLY_LINE present (b96dac635f)
Richard Beare (5):
Performance Improvements
- Using stl stable_sort instead of a custom class and sort (ee355d7023)
Documentation Updates
- Consolidated documentation between parent and child classes (0210da1936)
Style Changes
- Removing sections of the code relating to an old paper (a0d4b97d3b)
- Removed redundant PAMI macro (e8025ad0ed)
- removing commented code and fixing grammar in documentation (c1839700a9)
Sean McBride (1):
Style Changes
- Removed (commented) workaround for fixed libMINC upstream issue (f3dcd512dc)
Simon Rit (1):
Enhancements
- Upgrade RTK and CudaCommon with new RTKConsortium repository (a75529e95d)
Stefan Dinkelacker (1):
Platform Fixes
- Change IOComponentType to IOComponentEnum (abc6a272cd)
Stephen R. Aylward (4):
Enhancements
- Bump MinimalPathExtraction module to v1.2.2 (#3535) (021bd10b57)
- Bump TubeTK to v1.3.1 (#3537) (9ed9070c74)
- Bump TubeTK and MinimalPathExtraction for v5.3rc04.post2 wheels (#3543) (4896f87004)
- Bump TubeTK to v1.3.3 (1eeb258d1c)
Tom Birdsong (1):
Documentation Updates
- Clarify Python release documentation (153b5513ef)
Vladimir S. FONOV (1):
Miscellaneous Changes
- MINC 2022-10-25 (d2a17b7a) (8a13bf6376)
Ziv Yaniv (1):
Enhancements
- Issue warning when NIFTI IO coerces matrix to orthonormal (1a1a8cc024)
Zlib-ng Upstream (2):
Miscellaneous Changes
- zlib-ng 2022-08-17 (89763032) (7b40b99d1b)
- zlib-ng 2022-11-01 (b3dcf11b) (2a1b999f20)
luz paz (7):
Documentation Updates
- Fix typos in documentation (dfaf9941c8)
- Fix typos in Wrapping/ subdirectory (a8ca2578c5)
- Fix typos in Modules/Core subdirectory (d8063f38ee)
- Fix typos in Modules/Remote subdirectory (8a20220230)
- Fix typos in various subdirectories (d12f14e105)
- Fix typos in Modules/Numerics (38395a0fa0)
- fix typos in Modules/Filtering (eede9c9f79)
ITK Sphinx Examples Changes Since v5.3rc04
Dženan Zukić (1):
Platform Fixes
- Remove duplicate image declaration and read (2638e5cd)
Jon Haitz Legarreta Gorroño (3):
Enhancements
- Switch Github Actions Linux environment (e1c3d118)
- Switch Github Actions macOS environment (ffdabca2)
- Fix the
DocumentationPR title identification (a9d3b224)
Matt McCormick (16):
Enhancements
- Update to ITK 5.3 RC 4 (183fd56b)
- Bump CI itk-git-tag to v5.3rc04 (7c195971)
- Migrate data to IPFS (13700c88)
- Bump ITK version to 5.3.0 (4078f3fb)
- Add "Edit this page" links (875c43bd)
Documentation Updates
- Document IPFS data upload (c01950f9)
- Update README required CMake version (c46ff9b9)
- Add GitHub repository icon link (c7fda565)
Platform Fixes
- Update itkwidgets to pre-release version (d2f5264d)
- Remove Superbuild zlib (56fcffdf)
- Enable IPython.sphinxext.ipythonconsolehighlighting (a428ef2c)
- Bump CI images to latest versions (c0c0fc3d)
- Address ITK Windows warnings (d68014af)
- Fix traitlets version to 5.6.0 (33888c1d)
Bug Fixes
Niels Dekker (1):
Enhancements
- Add example, "Generate the Offsets of a Shaped Image Neighborhood" (06cc158e)
Tom Birdsong (1):
Enhancements
- Update CMake to decouple archives from example builds (#399) (4ffdcb93)
ITK Software Guide Changes Since v5.3rc04
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Switch Github Actions Linux environment (ac80720)
- Fix the
DocumentationPR title identification (51b0eb0)
Matt McCormick (2):
Enhancements
Remote Module Changes Since v5.3rc04
AdaptiveDenoising:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (e1aeec2)
AnalyzeObjectLabelMap:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (13cbb7b)
AnisotropicDiffusionLBR:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (d46aab0)
BSplineGradient:
Tom Birdsong (6):
Enhancements
- Bump ITK to v5.3rc04 (38af7b6)
- Bump ITK and replace http with https using script (b2ea685)
- Refactor to depend on ITKMeshToPolyData (bd26924)
- Bump ITK to v5.3rc04 (78b467d)
- Bump ITK to v5.3rc04.post2 (fdb2aa1)
Style Changes
- Update template parameter names for KWStyle (f98ff9d)
BioCell:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (496b322)
BoneEnhancement:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (658b9cb)
BoneMorphometry:
Dženan Zukić (1):
Documentation Updates
- Fix misspelling ration -> ratio (07c5330)
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (5ddee82)
Cleaver:
Matt McCormick (4):
Enhancements
- Bump package version to 1.2.0 (bde5da1)
Documentation Updates
- Improve tagline description (91dcaca)
- Add Zenodo DOI badge (a50cb45)
- Add Citation File Format (CFF) file (9867c15)
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (4dbfa49)
Cuberille:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (3e04917)
CudaCommon:
Alexy Pellegrini (3):
Enhancements
- Replace deprecated PUBLIC_LINK with PUBLIC (1520198)
- Add python wrapping for CudaCommon (095abb2)
- Remove unneeded types from wrapping (3531dd0)
Simon Rit (9):
Enhancements
- add CI for Windows and Linux CUDA packages (2c5b730)
- Update GitHub actions for ITK 5.3 RC 4 (19db3a3)
- Define CUDACOMMONCUDAVERSION for wheel names and verify it (4b157fa)
- Bump CMake to v3.22.2 and Ninja to 1.10.2 (de2796e)
- Reduce downloads in self-hosted Github runners (58ffcd1)
Documentation Updates
- Update GitHub links to the new RTKConsortium repository (57296fc)
Platform Fixes
- use ITK's module mechanisme for EXPORT macros (097151f)
- add missing export for Windows DLL (afd01f3)
- Remove Cuda libraries from the Windows Python package (4e89624)
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (18ef765)
NeuralNetworks:
FPFH:
FixedPointInverseDisplacementField:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (e38e8a3)
GenericLabelInterpolator:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (2f37681)
GrowCut:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (21d982a)
HASI:
Tom Birdsong (2):
Enhancements
- Bump ITK and change http to https (d844cad)
Bug Fixes
- TBB path fix for Linux CI (e6d1f5a)
HigherOrderAccurateGradient:
Tom Birdsong (5):
Enhancements
- Bump ITK version (e13b416)
- Bump ITK and replace http with https using script (0539382)
- Bump to ITK v5.3rc04 (d3278b1)
- Bump ITK to v5.3rc04.post2 (4316ada)
Miscellaneous Changes
- Bump to v1.1.2 (d707496)
IOFDF:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (7969587)
IOMeshSTL:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https (7647736)
IOMeshSWC:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (212b367)
IOOpenSlide:
IOScanco:
Tom Birdsong (2):
Enhancements
- Bump ITK and change http to https (8338b08)
Miscellaneous Changes
- Bump version in setup.py (ed97d30)
IOTransformDCMTK:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (e97e0e8)
IsotropicWavelets:
Dženan Zukić (1):
Enhancements
- Update required CMake version (d163f14)
Pablo Hernandez-Cerdan (4):
Enhancements
- Use std::enable_if instead of itk::EnableIf (0a15890)
Platform Fixes
- Style, change template variable name (8f81db4)
- Fix warnings unused type and unreachable value (2b0463e)
- Fix wrapping for FrequencyFunction (b63d8d5)
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (f2eb399)
LabelErodeDilate:
Dženan Zukić (1):
Enhancements
- Bump version number to 1.2.0 and required ITK version to 5.3rc4 (af2525c)
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (f427170)
LesionSizingToolkit:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (58b95e8)
MGHIO:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (4b2e7bd)
MeshNoise:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (a01fae4)
MeshToPolyData:
Tom Birdsong (4):
Enhancements
- Bump ITK and replace http with https using script (f7e56d9)
- Bump ITK version to v5.3rc04 (8d3b273)
- Bump ITK to v5.3rc04.post2 (166e7d7)
Miscellaneous Changes
- Bump version in setup.py (669009f)
MinimalPathExtraction:
Stephen R. Aylward (3):
Enhancements
- Bump ITK to v5.3rc04(.post2) (#93) (444fc74)
- Bump github action to use ITK wheel v5.3rc04.post2 (7be9988)
Bug Fixes
- It is .post2, not -post2, for ITK 5.3 rc4 in setup.py (#94) (59931ed)
Montage:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (21f8eb9)
MorphologicalContourInterpolation:
Tom Birdsong (1):
Enhancements
- Bump ITK version and apply http to https reformatting (dbe1d9e)
MultipleImageIterator:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (046e70f)
ParabolicMorphology:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (2c6aa18)
PerformanceBenchmarking:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (950921a)
PhaseSymmetry:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (4d9cba2)
PolarTransform:
PrincipalComponentsAnalysis:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (2f8d8bf)
RANSAC:
RLEImage:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (0c79719)
RTK:
Mikhail Polkovnikov (3):
Enhancements
- Calculate parallel geometry parameters from projection matrix (8df460e4)
Documentation Updates
- Better description for the addProjection method for a parallel geometry (6a1a8047)
Style Changes
- use itk::Math::abs instead of fabs (9f910c8a)
Shengpeng YU (1):
Bug Fixes
- Activate displaced detector padding in iterative FDK (38af2e4d)
Simon Rit (19):
Enhancements
- Add self-hosted CI for Windows python package with Cuda (0751c885)
- Wait for Cuda packages to publish artifacts (e2ff4ce5)
- Update GitHub actions for ITK 5.3 RC 4 (92cf0def)
- Define RTKCUDAVERSION for wheel names and verify it in RTK (21dd15e1)
- Add Python wrapping of DrawQuadricImageFilter (10429e5c)
- Update GitHub actions for compatibility with ITK v5.3rc04.post4 (7cda37ac)
Documentation Updates
- Changed radART to medPhoton in RTK consortium (5daf3f54)
- Installation instructions for the CUDA-compatible Python package (cbebbade)
- Added Release.md which descries how to prepare a release (9fde849a)
- Update GitHub links to the new RTKConsortium repository (e92b1edb)
Platform Fixes
- Allow install lib directory name changes (55aa84bf)
- Select first wrapping directory of the NumPy bridge (f4c5e2c8)
- Remove Cuda libraries from the Windows python package (4e68af80)
Bug Fixes
- Lower tolerance on VerifyAngles in ThreeDCircularProjectionGeometry (f867f624)
- fix manylinux 2.28 tar file (94be5b7c)
- fix ITK git tag for CI with itk-5.3rc4.post3 (38f68e0c)
Miscellaneous Changes
- Release of RTK v2.4.0 (8d962668)
- Update GitHub actions for ITK v5.3rc04.post3 (d941e958)
- Release of RTK v2.4.1 (3f0aa314)
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (86d1e83d)
SCIFIO:
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (1054ece)
Shape:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (1fdb3ed)
SimpleITKFilters:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (877b9be)
SkullStrip:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (da5821a)
SplitComponents:
Matt McCormick (1):
Enhancements
- Support building manylinux2014 wheels (991b795)
Tom Birdsong (4):
Enhancements
- Bump ITK and change http to https (64137c3)
- Bump ITK to v5.3rc04.post1 (6593513)
- Bump ITK to v5.3rc04.post2 (fb875a5)
Platform Fixes
- Bump to minimum CMake 3.16.3 (5c07777)
Strain:
Matt McCormick (3):
Enhancements
- Build against ITK 5.3-RC3 (a5b9a2a)
- Build against pre-ITK 5.3RC4 (85dcfe0)
- Bump Python package version to 0.3.6 (95698c3)
Tom Birdsong (3):
Enhancements
- Bump ITK and change http to https (69cca73)
- Bump ITK to v5.3rc04 (77cd077)
- Bump ITK to v5.3rc04.post2 (9e76c98)
SubdivisionQuadEdgeMeshFilter:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (6e30c49)
TextureFeatures:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (b75d9da)
Thickness3D:
Tom Birdsong (2):
Enhancements
- Bump ITK and change http to https (62172a7)
Style Changes
- KWStyle empty lines fixup (cc8c960)
TotalVariation:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (1dda823)
TwoProjectionRegistration:
Tom Birdsong (2):
Enhancements
- Bump ITK and change http to https (fee9b31)
Style Changes
- Resolve KWStyle whitespace errors (d462945)
Ultrasound:
Tom Birdsong (13):
Enhancements
- Register default curvilinear FFT factory overrides (c20ea95)
- Bump to 0.5.4 (f8d31b5)
- Bump ITK version in CI (cabf862)
- Bump ITK and restyle with https (8b17b31)
- Bump ITKUltrasound to 0.5.5 (ea1d5e3)
- Remove PR notebook checks (b20cd45)
- Add ITKMeshToPolyData dependency from ITKBSplineGradient (71a26cd)
- Bump ITK to v5.3rc04 (2b04293)
- Bump ITK to v5.3rc04.post2 (1095f0f)
Platform Fixes
- Resolve build failures in
itk-stub-files(a99ac00)
Bug Fixes
- Resolve curvilinear image template method wrapping conflicts (629076d)
- Resolve Python module load warnings (5ba9c46)
Style Changes
- Resolve KWStyle failure in license URL (58e4bcc)
VariationalRegistration:
Tom Birdsong (1):
Enhancements
- Bump ITK and change http to https (7634013)
VkFFTBackend:
Tom Birdsong (9):
Enhancements
- Add VkMultiResolutionPyramidImageFilter (59418aa)
- Add example demonstration multiresolution pyramid speedup (00d4e98)
- Add
itk::VkDiscreteGaussianImageFilter(277b50b) - Bump GPU CI ITK git tag (b96b631)
- Package for Python 3.10 on Linux (df7759b)
- Add convolution scale metric comparison notebook (9f4720c)
- Bump ITK version and apply https styling (ebbeea3)
Miscellaneous Changes
WebAssemblyInterface:
Chris Harris (3):
Miscellaneous Changes
- fix(readDICOMTags): Allow webWorker to be null (9e5b2427)
- fix(worker): Ensure worker promises are reused (6075dd29)
- fix(docs): Fix typo (dd9d18df)
Forrest (3):
Miscellaneous Changes
- revert(#584): undo commit with invalid message (1dabba94)
- chore(github): add commitlint to github actions (6c047b3b)
- chore(commitlint): allow upper-case subject (0388e607)
Forrest Li (2):
Miscellaneous Changes
Matt McCormick (53):
Miscellaneous Changes
- feat(Docker): Bump ITK to 2022-05-07 master (8968c6a1)
- feat(itk-wasm-cli): Update default Docker image for (7b7575d3)
- doc(CFF): Initial addition (5721858d)
- feat(itkwasm): Initial package, Image, ImageType (59563355)
- feat(itkwasm): Mesh, MeshType (b2164f36)
- feat(itkwasm): Add PointSet, PointSetType (7113730e)
- test(Mesh): Expected default name is
mesh(bb88b037) - test(ImageTest): Default name is
image(bd8c46ea) - ci(PythonWASM): Add GitHub Action testing (1fe7d1a8)
- doc(README): Add Python WASM CI badge (f5a423a2)
- build(Docker): Add IOMeshSWC remote module support (82587720)
- feat(itk-wasm-cli): Update default Docker image for IOMeshSWC (0103696a)
- doc(MeshFormats): Add SWC (846037c8)
- test(Data): Add test SWC file (023da103)
- feat(extensionToMeshIO): Add SWC support (ca5e7ff5)
- feat(IOMeshSWC): Add ReadMesh WriteMesh WASM modules (e881b771)
- feat(version): Bump itkConfig version to 1.0.0-b.14 (988bec10)
- feat(Docker): Update WASI, Emscripten toolchains for LLVM 14 (1dc34433)
- feat(itk-wasm-cli): Update default Docker image for LLVM 14 (4728065e)
- feat(version): Bump version to 1.0.0-b.15 (c37bbd64)
- fix(loadImageIOPipelineModule): Continue when an exception occurs (bedc594a)
- feat(itk-wasm-cli): Update default Docker image for 1.0.0-b.15 (6ce30d03)
- feat(version): Bump version to 1.0.0-b.15 (97291e74)
- build(Webpack): Fix UMD config and add dev-server support (4ded52af)
- test(Cypress): Execution support (c68276b3)
- ci(Cypress): GitHub Actions testing (c1c1104d)
- test(DefaultCommand): fix cypress chrome / firefox invocation (9dd99106)
- fix(Pipeline): always use terminal colors with WASI (05b74bba)
- fix(UMDExample): revert change to script path (1ce564f1)
- test(UMDExample): upgrade to Cypress 10 (313566a7)
- ci(UMDExample): update for Cypress 10 (12928f9c)
- docs(Windows): recommend WSL 2 (9305dac3)
- build(ITK): Bump to 2022-07-02 master (6165bc0d)
- build(CLI11): bump version to address recursize meson test symlink (9c12ab79)
- test(Node.jsExample): bump to itk-wasm 1.0.0-b.17 (4849073b)
- build(Docker): update dockcross for Apple Silicon builds (c7063ed8)
- feat(itk-wasm-cli): update default Docker image for 1.0.0-b.18 (f99c8e08)
- feat(version): bump version to 1.0.0-b.18 (e37e225b)
- fix(Python): add name entry to Python itkwasm Image (cf086002)
- test(ViteExample): bump to Cypress 10 (5db507f1)
- test(ViteExample): bump to 1.0.0-b.18 (50e77b13)
- ci(ViteExample): update for Cypress Action 4 (445c3879)
- test(WebpackExample): bump itk-wasm to 1.0.0.-b.18 (8996acb8)
- test(WebpackExample): bump cypress to 10.3.0 (5895d151)
- build(itk-wasm): bump for itk-5.3rc4.post1 (8dde82ea)
- ci(TestingData): Update IPFS configuration (b9481cd0)
- docs(HelloPipeline): Initial addition (d8c89b5b)
- docs(InputsOutputs): Initial addition (321c3397)
- style(createWebWorkerPromise): Apply prettier (7f8a36f5)
- chore(Dependencies): Bump Cypress to 10.6.0 (deea581e)
- ci(Cypress): Constrain Node version to 18.2 (56cd0710)
- feat(itk-wasm-cli): Update default Docker image for DCMTK support (9fa8bd99)
- ci(Examples): More consistent job names (35878273)
Shreeraj Jadhav (3):
Enhancements
- return sorted file list when reading DICOM series (59c2b624)
Miscellaneous Changes
- feat(ReadImageDICOM): Return sorted file list when reading DICOM series (164bf8ba)
- feat(dcmtk): add ITKDCMTK to image-io pipelines (820bccc1)
Tom Birdsong (1):
Enhancements
- Update http to https links (d8cd5227)
- C++
Published by thewtex about 3 years ago
itk - ITK 5.3 Release Candidate 4: Distributed Computing
We are happy to announce the Insight Toolkit (ITK) 5.3 Release Candidate 4 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.3 is a feature release that accelerates performance, provides new segmentation and shape analysis algorithms, improves documentation, adds distributed computing support, among many more improvements. For more information about performance improvements, see the 5.3 RC 1 Release Notes. For more information about new segmentation and shape analysis algorithms, see the 5.3 RC 2 Release Notes. For more information about documentation improvements, see the 5.3 RC 3 Release Notes.
ITK 5.3 RC 4 highlights distributed computing support with Dask. Dask is a Python library that makes scaling analysis easy through simple programming on a laptop that can then be deployed to HPC or cloud computing resources. In ITK 5.3 RC 4, Dask support applied in medical imaging, bioimaging, and material science, is robust (caveat: import itk should be called in Dask worker functions). Furthermore, support was expanded from NumPy array views on itk.Image's to full metadata-preserving distributed computing with itk.Image, itk.Mesh, itk.PointSet, and itk.Transform. With ITK's Dask support, batch processing a cohort of thousands of medical images or processing biomicroscopy, histopathology, or geospatial images with trillions of pixels is now a matter of minutes instead of weeks.
ITK 5.3 RC 4 also includes advancements in Python interface file (.pyi) support and new remote modules to build WebAssembly processing pipelines to native executables and support ITK WebAssembly file formats, perform multimaterial tetrahedral meshing from segmentations, and read meshes from SWC files, a format for representing neuron morphology.

Knee MRI mapping of cartilage thickness in osteoarthritis that leverages ITK's Dask support for distributed processing of large patient cohorts over the preprocessing, segmentation, registration, and post-processing steps of the analysis pipeline.
Download
Python Packages
Install ITK Python packages with:
pip install --upgrade --pre itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
Python
- Python packages now include oneTBB support for improved performance
- Following CPython's deprecation schedule Python 3.6 is no longer supported
- Python packages added for Python 3.10
- Initial Python wrapping is available for the Video modules
TransformToDisplacementFieldis now available in Python- Pythonic IO functions
itk.imreadunderstandspathlib.Path's - New
reprforitk.Matrix np.asarrayworks onitk.MatrixDCMTKImageIOwrapping addressedGradientDifferenceImageToImageMetricwrappedSynImageRegistrationMethod,BSplineSynImageRegistrationMethodwrappedConjugateGradientLineSearchOptimizerv4wrapped- Wrap
ImageRegistrationMethodv4foritk.Mesh - Wrap
PointSetToPointSetMetric,PointSetToPointSetRegistrationMethod - Wrap
ANTSNeighborhoodCorrelationImageToImageMetricv4 - Nearly all registration v4 classes are now wrapped
VectorImageinput forDisplacementFieldTransform- Python wrapping for spatial orientation functionality
- PyImageFilter wrapped for additional types, supports pipeline functionality
- NumPy array interfaces for
itk.PointSet,itk.Mesh - manylinux228 and manylinux2014 wheels are provided
- Dask support for
itk.Image,itk.PointSet,itk.Mesh,itk.Transform
C++
- C++14 is now required
- The minimum CMake version required is now 3.16.3
- New functions:
MakePoint,MakeVector,MakeIndex,MakeSize. - Targets in Visual Studio and other IDE's are now organize hierachically by ITK Group and Module
- Most of
itk::mplmeta-programming functions replaced by C++14 equivalents - Performance accelerations for b-spline interpolation, Mattes mutual information metric computation
- Improved modern C++ adoption, e.g. additional adoption of
constexpr,auto itk::ReadMesh,itk::WriteMeshsimple reader functions available, similar toitk::ReadImage,itk::WriteImage- FFT backends are now registered through the object factory mechanism
cbegin()andcend()member functions toIndex,Offset,Size- Add
itk::MakeFilled<TContainer>(value) itk::ConvertNumberToString<TValue>(val)convenience functionitk::bit_cast<TDestination>(source)functionitk::PolyLineCellInputSpaceNameandOutputSpaceNamesupport foritk::Transformqfac,qt_xyzadded to Nifti metadataLZWcompression support- Support requested output region in FFT filters
- Many code coverage improvements
New filters
itk::TransformGeometryImageFilter: applies a rigid transform to anImage's metadata.- 1D FFT classes
- Interface classes for forward, inverse transformations
- Vnl implementations
- FFTW implementations
itk::TriangleMeshCurvatureCalculator- Gaussian curvature calculator foritk::MeshFFTDiscreteGaussianImageFilter-- discrete gaussian filters via FFTs
Remote module updates
New remote modules:
- HASI: High-Throughput Applications for Skeletal Imaging
- ITKGrowCut: segments a 3D image from user-provided foreground and background seeds
- ITKMeshToPolyData: Convert an ITK Mesh to a simple data structure compatible with vtkPolyData
- ITKCudaCommon: Framework for processing images with CUDA
- itk-wasm WebAssemblyInterface: Build WebAssembly processing pipelines to native executables and support ITK WebAssembly file formats
- ITKCleaver: Multimaterial tetrahedral meshing.
- ITKIOMeshSWC: Read meshes from SWC files, a format for representing neuron morphology.
Updated modules: AdaptiveDenoising, AnisotropicDiffusionLBR, BSplineGradient, BoneEnhancement, BoneMorphometry, Cuberille, GrowCut, HASI, HigherOrderAccurateGradient, IOFDF, IOScanco, IsotropicWavelets, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, RTK, SimpleITKFilters, SkullStrip, SplitComponents, Strain, TextureFeatures, Thickness3D, TotalVariation, TubeTK, and Ultrasound.
Third party library updates
- dcmtk
- eigen
- expat
- fftw
- gdcm
- googletest
- hdf5
- kwsys
- kwiml
- minc
- metaio
- niftilib
- vxl
- zlib migrated to zlib-ng
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 76 authors who contributed since v5.2.0, we would like to specially recognize the new contributors:
Michael Kuczynski, Tim Evain, Tomoyuki SADAKANE, Mario Emmenlauer, Andreas Gravgaard Andersen, Ebrahim Ebrahim, josempozo, Wenqi Li, Genevieve Buckley, Oleksandr Zavalistyi, Jose Tascon, Pranjal Sahu, ambrozicc1, Vagrant Ca scadian, MrTzschr, Philip Cook, Tihomir Heidelberg, Jason Rudy, Kian Weimer, z0gSh1u, Darren Thompson, Darren, Jose M Pozo, Paul Elliott, Gabriele Belotti, Rafael Palomar, Fernando Hueso-González, Mark Asselin, mrhardisty, Laryssa Abdala, Roland Bruggmann, Natalie Johnston, and ferdymercury.
What's Next
This is the last release candidate before the 5.3.0 release. 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.3rc03
Brad T. Moore (1):
Enhancements
- wrapped remaining v4 Registration classes (6310d36d35)
Bradley Lowekamp (7):
Enhancements
- Add option to disable the server side searching (1f6552cabe)
Bug Fixes
- Fix bad doxygen strings (ce8181b202)
- Fix numeric overflow in SLIC initialization (86f8215c67)
- Add DOXYGEN_(FORMAT) options to DoxygenConfig.cmake (6eba9df7b1)
- Fix Doxygen configuration for output formats (c505191505)
- Remove doxygen syntax markup for cmake lists (ac2199bed0)
Style Changes
- Fix typo in debug macro (87acfce9a9)
Bryn Lloyd (1):
Bug Fixes
- ReconstructBiasField is setting bias field regions incorrectly (f9b333c339)
Dženan Zukić (18):
Enhancements
- Refactor SpatialOrientation enumeration classes (182c018e7b)
- Add a Python test which demonstrates use of spatial orientation (446723653b)
- Follow-up to SpatialOrientationEnums refactoring (387cc7c23f)
- Update remote modules by using the script (d424d9da8e)
- Updating remote modules using the script (cef0b6511c)
- Update Remote modules using the script (865d0b0c7b)
- Git hooks were updated (8f8debd9b6)
- Add Python wrapping for SpatialOrientationAdapter (a3ac8de293)
- Make OrientationAdapterBase deprecated (c294138d23)
- Mark CMake variables as advanced (049ff7fe5a)
- Update UpdateRemoteModules.sh to use authenticated Git protocol (0d0fd8caf3)
- UpdateRemoteModules.sh now handles both master and main branches (b1d5111592)
- Updating remote modules to latest versions using the script (895148dcea)
- Mark more zlib-ng options as advanced CMake variables (b95c7be972)
- Simplify Nifti IO test 13 using ReadImage and testing macros (ee664da6bb)
Documentation Updates
- VLV CanBeDivided struct divides, not multiplies (114dcc15f2)
Platform Fixes
- Update use of SpatialOrientation in non-default module PhilipsREC (9a94f0a83d)
- Fix GPUCommon compile errors (9e78df2d7f)
Eigen Upstream (1):
Miscellaneous Changes
- Eigen3 2022-01-21 (803ae0ed) (ae8cd25889)
GDCM Upstream (1):
Miscellaneous Changes
- GDCM 2022-02-24 (ae0591f2) (91f7139a53)
Gabriel A. Devenyi (1):
Bug Fixes
- Fix isAffine insuffcient precision in caluclations (5ce861b0ba)
Hans J. Johnson (14):
Enhancements
- Suppress nullptr warnings (6f4751d602)
Platform Fixes
- Use nullptr instead of 0 or NULL (3a6eaee232)
- Remove single use variable alias (d5842b9198)
- Inline single use macros and unset local variables (75a1b9ab0e)
- Simplify submodule loading logic (c34fb01a30)
- Inline single use macros (4d31bbf12b)
- Inline code for add_subdirectory that acted like a macro (5eecf4de89)
- Simply prefix based on internal/external (15aa8d58a0)
Style Changes
- Add ; at end of macro for consistency (897ab27879)
- Give error message when deprecated filename is encountered (71fae7bf15)
- Make local variable names consistent (9161222644)
- Remove variable that is always set to OFF (53acbd4396)
- Prefer list mutation commands in cmake (55962b7e1a)
- Simplify the candidate generators list (243d4858e5)
Hans Johnson (40):
Enhancements
- Update DCMTK to more modern codebase (f89399aa35)
- Remove alias cmake macro (7348e447c6)
- Remove support for wrapping with TCL (dedcefaa0f)
- Remove support for wrapping with PERL (e49cc53c52)
- Remove support for wrapping with JAVA (2f9ee4ea99)
- Remove support for wrapping with RUBY (da7804c4c5)
- Remove empty macro call function (538f551508)
- Update doxygen.config.in with new options (9369958f06)
- Remove support for wrapping with WRAP_EXPLICIT (0eac15b7bb)
- Make conditional compilations (1610321267)
- Use function scoping for wrapping (dba14cdb28)
- Rewrite python generation files with comments (9e5d62dbb4)
Documentation Updates
- Document that ITKWRAPPING is equivalent to ITKWRAP_PYTHON (a58826b5cb)
- Provide a comment for required file (f2535dc3ea)
Platform Fixes
- Remove use of deprecated functions (50392d6f43)
- Usage requirements should include language standard (d6774dac04)
- Missing semi-colon after macro (94bc5a020f)
- C++20 ambiguous overloaded operator (945563752d)
- Simplify single use macros for wrapping (1ab3807e4d)
- Increased allowed size of doxygen.config.in (d27156be60)
- Remove deprecated WRAPPERLIBRARYGROUPS (88f3da19d1)
- Use same cmakeminimumrequired values as ITK. (b533f0679a)
- Use modern doxygenadddocs command ITKWRAPDOCS (a44fd28a8e)
- Use modern doxygenadddocs for BUILD_DOCUMENTAITON (a96d03fb5f)
Bug Fixes
- Fix bug for remote AdaptiveDenoising (d5e9e441c4)
- Fix generated file name pattern (bd448e5c80)
- XMLFileOutputWindowTest failed subsequent runs (6d1bda2c6f)
- RecursiveGaussianImageFilterEnums double wrapped (37239fea87)
- Add dependancy for bulding castxml before using it. (ee989dc89a)
Style Changes
- Use default member initialization (ac4c23412d)
- Prefer = default to explicitly trivial implementations (3671be23b8)
- Use vtk .clang-format for code style (fca8b06fee)
- Convert CMake-language commands to lower case (8761ffca97)
- Remove CMake-language block-end command arguments (3cd337fcf3)
- Remove SVN revision number tracking in code (c7ae377b96)
- Manually syncronize trivial fixes from VTK to ITK (ddc0a37f78)
- Prefer constexpr for zeroVector (fef7832144)
- Remove debugging script and support code (18ef48f1ab)
- Simplify wrapping macro variable scope (fe9bbb663b)
- Remove unnecessary files from tree (11ce56a7d8)
James Butler (1):
Platform Fixes
- Pass Windows specific OpenCV options to
ITKBridgeOpenCV(be81e62232)
Jean-Christophe Fillion-Robin (4):
Platform Fixes
- Fix build against ITK install adding "expat_external.h" install rule (1f7b427ec2)
- Update ITKModuleExternal CMake message to avoid CTest false positive (230839e71b)
- Fix older gcc build error including "cstddef" for "ptrdiff_t" (056325814a)
- Mangle hdf5 static symbols (d00bcc78bf)
Jon Haitz Legarreta Gorroño (85):
Enhancements
- Test streaming
itk::SpatialOrientationenum class types (e82f200edc) - Increase
itk::SumOfSquaresImageFunctionclass coverage (346c084a0b) - Check GTest test method return value (bb9d3c39d6)
- Improve
itk::ScalarImageKmeansImageFiltertesting (00a2987d93) - Add
itk::PointSetToImageFilterunit tests (3adda5a464) - Add
itk::LaplacianSharpeningImageFilterunit test (93d238ebf1) - Remove unnecessary/unused include statements (c69afa338c)
- Increase coverage for miscellaneous classes (7866523c8d)
- Increase coverage for miscellaneous classes (c932d192a2)
- Remove duplicate, commented
ITK_MANUAL_INSTANTIATIONguard (d553554ff5) - Increase
itk::MaskFeaturePointSelectionFilterclass coverage (4641ac4608) - Remove unreachable condition in FMUG all target reached mode (9f94dfccc1)
- Refactor FMUG filter target reached mode verification (b49aaa8e28)
- Increase
itk::FastMarchingBaseclass coverage (3a7a6f60c3) - Increase
itk::XMLFileOutputWindowclass coverage (bd1ba151d3) - Increase coverage for miscellaneous classes (8273f8b104)
- Fix typo in direction value exception macro message (7c26965f2a)
- Prefer using the
itkTypeMacroNoParentmacro for RTTI (748280c1af) - Add
itkBooleanMacrotoIFrameSafeboolean ivar (7cd8b768aa) - Add getter macro for boolean ivar (755e894560)
- Increase coverage for miscellaneous classes (67653638c0)
- Prefer using existing file for unsupported format test (cf66e47f0c)
- Add boolean macros to
itk::MeshIOBasedata update ivars (c14ee7b527) - Increase coverage for
MeshIOclasses (0fcfaf1288) - Call superclass
PrintSelfmethod in childPrintSelf(b5fdb855a0) - Increase coverage for miscellaneous classes (90d0270e30)
- Increase coverage for
itk::GDCMSeriesFileNames(f3c12edaf9)
Documentation Updates
- Document methods in header file (eafc48e491)
- Fix typos and grammar in class and method documentation (48010439a5)
- Increase
itk::MRASlabIdentifierdescription Doxygen syntax use (3d571f38cf) - Fix typo in warning macro message (26c4f2bd0c)
- Fix typos in miscellaneous comments (5026c574c4)
- Fix typo in variable names in test input argument usage (6b594352a9)
- Add
Writersgroup to Doxygen documentation (9bb0b7d830) - Prefer using ITK class names for syntax highlighting in Doxygen (7eefc2f7eb)
- Fix typos and improve Doxygen related pages documentation (2e481c4254)
- Fix typo in method documentation (af6b4b1f52)
- Improve Doxygen modules documentation (bcac6f9db2)
- Fix typos in documentation, comments and exception messages (a339bb6671)
Platform Fixes
- Fix missing initialization braces warning (1ec5c224c2)
- Add missing semicolon to
itkExceptionMacrostatement end (32d86d06be) - Remove duplicate include file (a6fd170b53)
Bug Fixes
- Initialize
itk::ExhaustiveOptimizer::m_MinimumMetricValue(b4f096c0ea) - Set image origin according to point set bounding box (8123eb3e91)
- Set mesh to join facet function in split facet function test (bee86352a9)
- Fix Superclass name in RTTI macro (9de2b57048)
- Fix gradient direction vector index (88e626bda4)
- Fix Superclass name in RTTI macro (91029d4995)
- Set number of targets for FMUG image filter (341050b1a3)
- Fix class name in RTTI (4bf79ac40d)
- Fix variable type (273d4ef8ea)
- Fix
itkXMLFileOutputWindowTestregression (4ff05c0866) - Fix Superclass type alias and name in RTTI macro (e00832acac)
- Fix Superclass name in RTTI macro (d05afe5f24)
- Provide appropriate enum value to
itkCellVisitMacro(bd556f0d32) - Avoid querying about null variable size (2eeb1b56d7)
- Fix test driver name for
MeshOBJandMeshOFF(b66ca3e61b) - Fix
itkRegionalMinimaImageFilterTestcalls in test driver (10c5475bf5) - Match iterations array size value to number of levels (f78d798ada)
- Fix test method call argument order (8b2a3d3fb3)
Style Changes
- Prefer using
EXPECT_EQin GTest value check (3f783a8be6) - Use the
itkNameOfTestExecutableMacromacro in tests (1c3c7baa57) - Prefer using
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (e484b4f32d) - Improve style in tests (ca84de0df0)
- Prefer using
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (49015b62aa) - Rename
itkImageToHistogramFilterTest3to honor tested class (9325b2a457) - Improve style in FMUG filter test file (a2c32681b4)
- Remove unnecessary empty comment blocks (513216c714)
- Allow a whitespace after variable in warning macro message (8d78d09086)
- Add a missing parameter message in test (79d8c13e22)
- Improve the
itkFastMarchingBaseTest.cxxstyle (23a216dc1d) - Use standard library exit codes in tests (a1dcb9e985)
- Check test input arguments at the beginning (7462c48d8d)
- Remove uninformative/unnecessary print messages in tests (4b0a50171a)
- Prefer using
ITK_TRY_EXPECT_NO_EXCEPTIONmacro in tests (5ff58ba746) - Use the
itkNameOfTestExecutableMacromacro in tests (ff80a247f1) - Prefer removing unused input arguments in tests (ab1a7d78a2)
- Conform to ITK style in constant and variable naming in tests (43630a0e13)
- Improve variable value testing information (9302d09298)
- Use the superclass name in
itkTypeMacro(43133866f4) - Remove unnecessary
nullptrassignment to smart pointer (25fb76f424) - Make style consistent with the ITK style (8f4939d871)
- Use the
itkNameOfTestExecutableMacromacro in tests (155f0d4236) - Improve wording in
itk::GiftiMeshIOexception messages (1509cb21d7) - Increase test style consistency (3887bee498)
Jose M Pozo (5):
Bug Fixes
- Limits check in ComputeJacobianWithRespectToPosition (46e2ab9a14)
- Non-isotropic spacing on Jacobian computation. (0bb068d9c9)
- Correct account of grid direction for Jacobian computation. (492f2f8bfe)
- remove unused variable size (3b2bc5bae4)
Style Changes
- Clarifying logic in ComputeJacobianWithRespectToPositionInternal (75bee914c7)
Julien Jomier (1):
Style Changes
- Wrong order of the arguments for the ITK book (99cd695a61)
Kian Weimer (11):
Bug Fixes
- Fixed init.pyi generation for python stub files. (cff58238af)
- Fixed import issues with Python stub interface files. (9f6a17f869)
- Prevent append from duplicating arrays contents. (fe0c52f059)
Style Changes
- Removed unused CMake statement and moved code location. (a2626d684b)
- refactored itkendwrapsubmodulepython macro (9216fac95c)
- consistent use of lib in wrapping macros. (a0b379b5c0)
- Unset local vars and added comments (00ac6f4ec7)
- Inlined macro that was called once. (38e30bce3c)
- Removed empty macros (1a3b189b48)
- Inlined single call macro. (5f21dc096c)
- Inlined single call macro (ea039670be)
Lee Newberg (24):
Enhancements
- Introduce itk::Boolean for use with std::vector (a837e7b5c7)
- Use https instead of http when https works (9cd0f2053f)
- Use https instead of http when https works (d6acfd26bf)
Performance Improvements
- Combine conditions in ImageRegion::IsInside(index). (f53e38ebce)
Documentation Updates
- Specify ```language in markdown. Clang-format code examples. (96724da54f)
- Do not end the subject line with a period (86038f15c2)
Platform Fixes
- Fix "warning: type qualifiers ignored on cast result type" (d0321f01be)
- Add #include "itkNumericTraitsVectorPixel.h" (b9d65ac97b)
- Fix overly narrow cast (ea5d759daa)
- Add 9cd0f2053f0cf18 to .git-blame-ignore-revs (1548b38298)
Bug Fixes
- Fix pointer to function returning unsigned int. (b8864723c7)
- FEM module has incorrect public member name (1837c0e916)
Style Changes
- Change
constexpr statictostatic constexpr. (e3147c16ee) - Change unsigned to unsigned int. (a812aa3cef)
- Apply
blackPython formatting. (3291538d94) - Ignore git commit that is only STYLE. (5202fc29db)
- Fix several spelling errors (16fd80e520)
- Ignore git commit that is only STYLE (0df9d43eff)
- Change template parameter name prefix N to V (4b43536c8b)
- Invoke pyupgrade --py37-plus on Python files (0fbf00ad6e)
- Remove
std::prefix from types that work without it (c173dfd803) - Avoid old, C-style cast (2fa80e8bd3)
- Drop
intfromlong intandshort int(e03a94119d) - Drop
signedfromsigned short,signed int,signed long(8c2c654f3d)
Mark Asselin (1):
Platform Fixes
- Fix Slicer vtkITK build on macOS (a5989825db)
Matt McCormick (41):
Enhancements
- Wrap PyImageFilter for all wrapped scalar pixel types (8f5241e9cf)
- Pass in the class instance to the PyImageFilter PyGenerateData (32186c8629)
- Add SetPyGenerateInputRequestedRegion to PyImageFilter (d41cc7bfcc)
- Add SetPyGenerateOutputInformation to PyImageFilter (76c82dabd0)
- Add SetPyEnlargeOutputRequestedRegion to PyImageFilter (e2c206afa8)
- Load factories in Python at runtime (67dbfc180a)
- Add MeshToPolyData remote module (e5627894a1)
- Add support for IPFS CID ExternalData content links (73e67962a1)
- Add WebAssemblyInterface remote module (ba581f0a74)
- Add Cleaver remote module (162ccd50c3)
- Transfer object name in xarray.DataArray conversion (952dcb34c3)
- Refactor xarray support into separate module (cf7580740b)
- Add IOMeshSWC remote module. (0dbaf37707)
- ITK 5.3rc04 content links (c66b4934f8)
Documentation Updates
- Improve factory registration disablement doc (2c94866637)
- Update Doxygen tarball URLs for new server (9eaed1dcfa)
- Use full URL logo in README (b19b881e34)
- Website Doxygen download is a tar.gz instead of a zip (f8c7a6e2bb)
- Update Linux aarch Python wheel base image for manylinux228 (81799a7bc2)
Platform Fixes
- Update CastXML x86_64 binaries for LLVM 13.0.0 (9a83f82f70)
- Add an option to not build the itkTestDriver executable (43d4dde82f)
- Do not enable ITKDYNAMICLOADING by default with Emscripten, WASI (c1088ecb13)
- Do not use ExternalData symlinks with WASI builds (81210a5988)
- Do not set instruction optimizations with WASI-SDK (66b1ef7133)
- Do not use ITKAUTOLOADPATH when ITKWRAPPYTHON is set (5a395eb593)
- Build errors when only ITKWRAPcovariantvectordouble is enabled (c10ff28e32)
Bug Fixes
- Do not let HDF5 set the CMAKEINSTALLPREFIX (04455fd631)
- Do not use git call-outs to obtain Nifti version (cfb3f28755)
- Provide module name with ITKWRAPDOC enabled (4c1f55f2e9)
- Replace WRAPPERMODULENAME use in CastXML wrapping configuration (aa2354eb54)
- Remove duplicate Size entry in ImportImageFilter PrintSelf (f372040a21)
- Correct xarrayfromimage image_dims type (3fbebc0042)
- Doxygen tarball links must be https (b470f2831d)
- Ignore third party *.h.in files for style checks (9c01b7b299)
- Skip whitespace checks for ZLIB ghostflow (9a6c2a0598)
- Prevent Image corruption in Dask serialization (594d602fb7)
- Add missing name to imagetodict (bb76947526)
- Remove extra dimension member from Mesh, PointSet dict's (28df2aff20)
- Do not use assert in Python wrapping builds (c44a7731f2)
- Remove wrapping configuration loading debug statement (ffaf1a767c)
Style Changes
- Apply black to base.py, helpers.py (bde926014e)
MetaIO Maintainers (1):
Miscellaneous Changes
- MetaIO 2022-03-10 (0b8c5284) (ea77266974)
Mihail Isakov (1):
Documentation Updates
- typo in itkMath comment (963d0a82b1)
Natalie Johnston (1):
Enhancements
- PointSet metric and registration method supports perspective proj. (5bd7088044)
Niels Dekker (75):
Enhancements
- Add
Size.FillGoogleTest unit test (9783af0c3c) - Add itk::BooleanStdVectorType as alternative to
std::vector<bool>(4a6de1ebbc) - Declare converting
Point(v)constructorsexplicit(8825834406) - Add
cbegin()andcend()member functions to Index, Offset, Size (ef44e3f730) - Declare begin(), end() of FixedArray, Index, Offset, Size constexpr (47bce26479)
- Test constexpr begin(), end() of FixedArray, Index, Offset, Size (35648fa724)
- Declare RGBPixel, RGBAPixel constructors from component
explicit(0d352bdc63) - Add
itk::MakeFilled<TContainer>(value), requested by issue #3230 (b7715b3e74) - Make Vector constructor from scalar explicit, unless LEGACY enabled (abb88ccc48)
- Add
NumberToString<>specialization, deducing its parameter type (b933c6b12e) - Add explicit
Matrix(const T (&)[VRows][VColumns])constructor (7dd9e49534) - Support C-style arrays as MetaDataObjectType for MetaDataDictionary (7299e5c59a)
- Add
itk::ConvertNumberToString<TValue>(val)convenience function (d3daa71b2f) - Add
itk::bit_cast<TDestination>(source)function (71e4c833f5)
Documentation Updates
- Mention changes scalar-to-container conversion in migration guide (48976dfdaa)
Platform Fixes
- Add #include "itkNumericTraitsVectorPixel.h", for
MeanVectorType(c679de253e) - Fix ImageBufferRange GTest clang
tautological-comparewarnings (41fc630741)
Bug Fixes
region.IsInside(zeroSizedRegion)should always return false (1295d23939)- Fix
ColorTableTestSpecialConditionCheckercomponent/pixel mix-up (490ef8ce90) - Quick-fix ContourSpatialObject::Update(), LINEAR_INTERPOLATION case (5b71d63a88)
- Fix
SetCenterInObjectSpacecalls in Registration test (12a501cddc) - Fix
TransformToDisplacementFieldFilterdisplacementPoint/Vector (dc70e38a5b) - Remove implicit conversions from a single value to
itk::Vector(7d732a3bd0) - Replace C-style casts from
_beginthreadexwithbit_cast<HANDLE>(548b45f46d) - Replace
bit_cast<HANDLE>calls withreinterpret_cast<HANDLE>(21870fa743) - Let MeshIOTestHelper AllocateBuffer return
std::shared_ptr<void>(db8d79733d)
Style Changes
- Default (
= default) special member functions ofNeighborhood(976baf8788) - Remove private
ImageScanlineConstIteratormemberIncrement()(b50207f64c) - Replace
NumericTraits<double>::ZeroValue()calls by0.0(5bb2a8cc7b) - Replace
NumericTraits<double>::OneValue()calls by1.0(7182b61a47) - Replace
NumericTraits<float>ZeroValue() and OneValue() calls (a0d4cef3ff) - In-class default member initializers for ExhaustiveOptimizer data (6914bfa40a)
- Remove obsolete
itkDebugMacro("Constructor")calls (48cc9e5f55) - Let assignment operators return a non-const reference (61367f541e)
- Use type alias
BooleanStdVectorTypeforstd::vector<uint8_t>(bc9ba8540f) - Remove unused
EnabledArrayType = std::vector<bool>from test (ee9116c4a8) - Replace
std::vector<bool>withstd::unique_ptr<bool[]>(b7b7416d6d) - Apply C++ "Rule of Zero" to
itk::FixedArrayand derived classes (b5e05140b5) - Rename
ColorTabletemplate parameterTPixeltoTComponent(7b399810e8) - Avoid
T var = elementValuesyntax to initialize a filled array (0c6c3a9b6d) - Fix SetIn/OutsideValue calls ConnectedComponentImageFilterTestRGB (c5ca654ea5)
- Clarify estimation ray position
RayCastInterpolateImageFunction(e4841aaba2) - Use direct-initialization for component-to-RGBPixel conversion (58a12673e0)
- Remove function-style casts to iterator from Index, Offset, Size (b85fc6202e)
- Replace type aliases with
using-declarations, in itkIntTypes.h (6ecb4dcf0c) - Use MakeFilled in Filled member functions FixedArray, Index, Size (b836eb1f2d)
- Use MakeFilled, () or {}, instead of
Vector(const ValueType &)(82001f3024) - Use MakeFilled, () or {}, instead of
Point(const ValueType &)(100133db89) - Use MakeFilled instead of component-to-RGB/RGBAPixel constructors (fa58a4db4a)
- Use MakeFilled in any fixed array
NumericTraitsspecialization (908a29aa3c) - Use ConvertNumberToString instead of local NumberToString objects (c00f18a7b2)
- Remove CMake checks on old MSVC versions (before version 1910) (f9e6ca623c)
- Encapsulate NiftiImage qto_xyz mat44 data as
Matrix<float,4,4>(e00bad0359) - Remove CMake code for old Apple compilers (GCC < 4.3/Clang < 3.2) (91da17b832)
- Remove CMake workaround
ITK_REQUIRED_CXX_FLAGSfor GCC 4.8 (e25750b8e6) - Remove duplicate MSVC
/bigobjflags from GPU test projects (aec9e223a1) - Replace unsafe
(T)xandT(x)casts withT{x}in Common/src (4bbccf2e80) - Remove casts from
MersenneTwisterRandomVariateGenerator::hash(59b001fac7) - Remove unnecessary
usingtype aliases from struct definitions (06808c4d52) - Remove unnecessary
usingtype aliases fromenumdefinitions (1839cbee67) - Catch exceptions by const reference (f222a5e06b)
- Use
bit_castto convert random seeds from uint32t to int32t (1d827a7868) - Remove unnecessary
(void *)casts fromByteSwapper(230617ae69) - Use the
Selftype alias withinByteSwapper<T>(21e5b173ad) - Reduce code redundancy from
ByteSwappermember functions (98761284a4) - Use
unique_ptrin "SwapWrite" member functions ofByteSwapper(88c2baa26f) - Add const to first parameter of ByteSwapper "SwapWrite" functions (faaae09983)
- Use
std::swapwithinByteSwapper(741dad21a4) - Use
constexprandbit_castwithinGE4ImageIO::MvtSunf(int)(3b9894a5ea) - Remove
this->andstatic_cast<__int64>fromRealTimeClock(61e6b3968a) - Clean-up code Windows version default-constructor
RealTimeClock(1979a8002e) - Remove extra spaces between parentheses of CMake command calls (7ba787a2d0)
- Pass
boolparameters by (const) value, not byconstreference (c9a24b1d03) - Pass numeric parameters by (const) value, not by const reference (a2e5248a83)
- Call convenience member function,
ImageBase::SetRegions(region)(358f537627)
Paul Elliott (1):
Style Changes
- Use ReadImage and WriteImage in a few iterator examples (cb436b8dd9)
Pranjal Sahu (23):
Enhancements
- Linux support for vectorcontainerfrom_array (8e0aed0dca)
- Adding SetPoints in PointSet for 1D input array (6827360fa6)
- Adding Set/GetCellsArray in Mesh (ff3c0b604c)
- Adding set/getstate in Python for Mesh serialization (a8ca6fbd5c)
- Adding test for Mesh serialization (bf8336d965)
- Adding set/getstate in Python for PointSet serialization (22661e0e6f)
- Adding test for PointSet serialization (6ec7adac49)
- Handle itk.ULL in getitk_pixelid for Windows (5884998601)
- Adding Support for Transform Serialization (abc5b22de8)
- Adding Module Dependency for Windows Python Test (375450227e)
- Adding itk::PolyLineCell (b7950e6b25)
- Adding changes for testing itk::PolyLineCell (366c51e181)
- Initialize PolyLineCell with 2 points (5b00720000)
- Moving PointSet Vector wrapping to itkPointSet.wrap (bf53f05ed2)
- Add InputSpaceName and OutputSpaceName in Transform (05754850fd)
- Remove TransformType key from Transform serialization (c7ed152db2)
- Add test for de-serialized transform output (0da21c2aef)
Performance Improvements
- Set parameters in one function call (9d7880b465)
Platform Fixes
- Remove un-necessary wrapping to remove Windows warnings (f2986ae944)
Bug Fixes
- Use itk.ULL type for Python Windows test (bbb5834cb8)
- First set fixed parameters then parameters (3e6352cec8)
- Solves intermittent corrupted cells during serialization (d244d4bf71)
Style Changes
- Use proper capital letters following ITK convention (22d0b9c688)
Rafael Palomar (1):
Platform Fixes
- Add minimum version for double-conversion (701c8c25ea)
Roland Bruggmann (1):
Style Changes
- Member method DICOMParser::CloseFile added (4b01ec460f)
Sean McBride (15):
Enhancements
- deprecate INVALIDHANDLEVALUE (f120a3d770)
- bug #3241: Add qfac and qto_xyz to itkNiftiImageIO metadata (9eb4c1209d)
- replaced all sprintf usage with safer snprintf (6cb089d45f)
Platform Fixes
- added override keyword on a dtor (b3c214d4d4)
- fixed warning about missing override (cf557c3891)
- removed/replaced unneeded #includes (89b973ed39)
- changed a NULL to nullptr (a4c648486c)
- added missing HDF5 symbol mangling (cb9952dde0)
- Remove GDCM-specific .gitattributes since they are in GDCM's own (a88887e376)
- be sure to import GDCM's .gitattributes file (007bfaf344)
- Fixed issue #1821 by conditionalizing ITKGPUCommon_* per-OS (ce936dee3e)
Bug Fixes
- fixed simultaneous read/write access of same ivar by different threads (142e254ac4)
- Protect itk::OutputWindow cerr usage with a mutex (5844e03af0)
- fixed threading bug, don't use vector
from multiple threads (915b8e48d8)
Style Changes
- removed obsolete and confusing old comment (b53f1aae20)
Simon Rit (1):
Platform Fixes
- add missing trailing semicolon after itkExceptionMacro (01fa5a5b02)
Stephen R. Aylward (8):
Enhancements
- Bump TubeTK to v1.1rc01 which is targeted for ITKv5.3rc03 (bb8dfff961)
- Bump TubeTK to v1.1 (6cbaa15c07)
- Updated to latest TubeTK that supports itk::BooleanStdVector (5c91fcbd9e)
- Bump TubeTK to support pending ITK53rc04 release (c8438e890f)
- Update TubeTK to support Write3DImagesAs4DImage in python (012ffc026d)
- SurfaceSpatialObject templated over point type (#3417) (6046668162)
- Bump ITKMinimalPathExtraction tag (7c222e40e7)
Bug Fixes
- Proper CastXML 0.45 hash for Windows (dfa33a74c6)
Tabish Syed (1):
Enhancements
- Enable LZW compression (93c7987b45)
Thomas Greer (1):
Platform Fixes
- Support VectorImage input to DisplacementFieldTransform (447b82b5f0)
Tom Birdsong (29):
Enhancements
- Expose kernel parameters in
DiscreteGaussianImageFilterinterface (3c1b13d7a3) - Add
FFTDiscreteGaussianImageFilter(a18d2e4887) - Add
FFTDiscreteGaussianImageFilterfactory override (50e5e9c124) - Expand FFT Gaussian kernel options + improve test coverage (93ad716eeb)
- Increase test coverage for
FFTDiscreteGaussianImageFilter(d1e7c9bac5) - Expose FFT filter dimension traits (f81d6636bc)
- Expose
itk::VariableLengthVectoroperators in Python wrapping (0e84a057ec) - Expose FFT factory image template parameters (10320a688d)
- Add configuration to disable Python factory loading (3255ef0905)
- Add ITKVkFFTBackend remote module (72a00f42a1)
- Resolve remote module CMake failures (b6ed27a1f5)
- Consider requested output region in FFT convolution (999193a47b)
- Add ConvolutionImageFilter streaming test (742d73a7f2)
- Add kernel helper methods to
itk::DiscreteGaussianImageFilter(74d01fa9b1) - Update
ApplyScriptToRemotes.shfor Github auth token protocol (9e9ee8a383) - Add utility scripts for managing remote modules (4c282a4381)
- Update list of http -> https links (36fb451b05)
Performance Improvements
- Reduce verbosity of
itk::GaussianOperatorwarning (a0890b1f13)
Platform Fixes
- Increase test coverage for
FFTDiscreteGaussianImageFilter(64f83128e9) - Resolve
itkDiscreteGaussianImageFilterwarnings (49e929b0e2) - Resolve MSVC Python stub file generation (a1a95febf4)
- Fix license in
NiftiImageIOTest13.cxx(de2ff56bc1)
Bug Fixes
- Fix
PythonVerifyGetOutputAPIConsistencytest on Windows (bfee9962fe) - Delete non-virtual function in DisplacementFieldTransform (93a3b5174d)
- Re-add coverage for
itk::RegistrationParameterScalestypes (dd6daf20cf) - Fix largest possible output region in
itk::ConvolutionImageFilter(389a3748d7) - Remove broken warning in
itk::GaussianOperator(0f39902432) - Add
itk::GaussianOperatordebug methods (5c44b7f5e3) - Copy to xarray by default (880143236f)
Ziv Yaniv (2):
Documentation Updates
- Improve/correct TransformGeometryFilter documentation. (9cc03219ee)
Bug Fixes
- GDCMImageIO accepted images with non-orthogonal direction cosine. (75baa8eb04)
Zlib-ng Upstream (2):
Miscellaneous Changes
- zlib-ng 2022-04-27 (d41f8ead) (f2bb813e99)
- zlib-ng 2022-05-12 (41d67396) (4cab5b3a50)
ferdymercury (1):
Enhancements
- Extend RawImage wrapper to other data types (#3190) (c601abc1e3)
ITK Sphinx Examples Changes Since v5.3rc03
Andinet Enquobahrie (4):
Enhancements
- Add an example that demonstrates interfacing with NumPy (d425d178)
- Update the notebook (4151f1b5)
- Fix unit test (1b1e53a1)
Documentation Updates
- Update documentation files (9bb1dec2)
Andinet enquobahrie (3):
Enhancements
- Turn off Git protocol by default. (8132a8d2)
- Add documentation for the example (d6a3af11)
- Add test and strengthen the documentation (03ae7deb)
Hans Johnson (3):
Platform Fixes
- ENABLE_QUICKVIEW code updates (9ac0bafe)
- Remove unnecessary shadow definition (f1651b31)
- Resolve deprecation warning for SphinxExamples (6b9e0fea)
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Switch Github Actions Linux environment (e1c3d118)
- Switch Github Actions macOS environment (ffdabca2)
Laryssa Abdala (1):
Enhancements
- Add example derivativeImage (#380) (ff92cc65)
Matt McCormick (14):
Enhancements
- Update Sphinx to 4.4.0 (7c77f795)
- Build documentation in CI with the Superbuild (74f34732)
- Migrate from gitstats to sphinx-contributors (66cbdd66)
- Update ITK to 5.3 RC 3 (231ac876)
- Update to ITK 5.3 RC 4 (183fd56b)
- Bump CI itk-git-tag to v5.3rc04 (7c195971)
Platform Fixes
- Sphinx warning node class 'meta' is already registered (550f3b92)
- Address unused SPHINXHTMLHELPOUTPUT in superbuild (4255ef27)
- Add indentation for NumPy toctree (cdb68bcf)
- Add ConvertNumPyArrayToitkImage.ipynb to Sphinx toctree (8794c2df)
- Add missing packages for testing notebooks (308e31f6)
- Bump CI Ubuntu version to 20.04 for newer Python (f3da5eaf)
- Downgrade itkwidgets from the alpha version for running in nbsphinx (99a307fb)
- Update itkwidgets to pre-release version (d2f5264d)
Natalie Johnston (2):
Enhancements
- Add Python Example GlobalRegistrationOfTwoImages (8b62ef28)
Style Changes
- Fixed Python styling (91751ea9)
Niels Dekker (9):
Enhancements
- Add
ImageBufferAndIndexRangeexample (0ba28901)
Documentation Updates
- Adjust title of
ImageBufferAndIndexRangeexample (65dee301)
Style Changes
- Catch exceptions by const reference (851d5436)
- Simplify C++ example of ReadAnImage by calling
itk::ReadImage(e714dbe5) - Remove extra spaces between parentheses of CMake command calls (94299f96)
- Use
autofor declaration of variables initialized byNew()(88b43bf9) - Remove parameters from
main(int, char *[])when both are unused (792225c7) - Replace postfix by prefix increment in C++
forloops (0613c331) - Use
${PROJECT_NAME}as CMake target name of example projects (b018c2bc)
Paul Elliott (5):
Enhancements
- Removed sphinx-bootstrap-theme (7f48a1ca)
- Add pydata-sphinx-theme. Add example download link. (3e44fd35)
- Higher res ITK logo. Edit navbar titles. (ef64dae9)
Miscellaneous Changes
- FIX: Update download example zip screenshots. (73d60578)
- FIX: avoid WARNING: image file not readable. (9688054c)
Pranjal Sahu (3):
Enhancements
- Adding Python example to create mesh and cells (88826a60)
- Adding Set and Get CellData in Python example (81f3b791)
Style Changes
- Changes for new code style (3663efec)
Tom Birdsong (23):
Enhancements
- Remove redundant ITK build step in docs CI (74878f04)
- Deploy docs to Fleek (3325d7b6)
- Adjust site dir for Fleek container reference (a6e600a7)
- Bump ITK version (50d60aa6)
ScaleAnImagePython example and baseline image update (bed0f6bd)- Add example on Python eager loading (c9e16e9e)
- Add Python example for module loading printouts (010dd230)
- Bump ITK and change http to https (9dc32aca)
Bug Fixes
- Fixes for HTML documentation (0f025e3a)
- Fix ITKDoxygenXML by copying instead of renaming directory (2d080691)
- Use https protocol for Superbuild CI (f1103ff8)
- Ignore breathe duplicate C++ warnings in docs CI (19d77271)
- Fix site unpack path (7c084818)
- Remove comma (8b0b3526)
- Update paths for Fleek source (9d8a0780)
- Fix github actions variable ref (a1f279d4)
- Revert deploy to Netlify (2d8514bb)
- Disable broken RegisterTwoPointSets tests (9183236c)
- Use Doxygen 5.2.0 archives rather than nightly (2b44a1c8)
Miscellaneous Changes
- Add .fleek.json (5d192756)
- Set Fleek workdir reference (d07c5936)
- Move
.fleek.json(f6073eb6) - Copy
.fleek.json(3ac107a7)
ITK Software Guide Changes Since v5.3rc03
Dženan Zukić (2):
Enhancements
Jon Haitz Legarreta Gorroño (2):
Enhancements
- Use https instead of http when https works (351ec22)
- Switch Github Actions Linux environment (ac80720)
Julien Jomier (3):
Enhancements
- Update new kitware logo (733dabb)
Style Changes
Lee Newberg (4):
Documentation Updates
- clang-format of code samples and other minted changes (dd10e33)
Style Changes
- Format Python code with black (b041051)
- Format c++ code with clang-format (061225e)
- Use Python f" formatting (cc3bbfc)
Matt McCormick (3):
Enhancements
- Bump ITK to v5.3rc03 (d833447)
- Update ISBN for new publication (7f6bf89)
- Bump ITK version to v5.3rc04 (9a94dc7)
Niels Dekker (1):
Enhancements
- Add "Trailing Return Types" section (c64b23b)
Tom Birdsong (1):
Bug Fixes
- Use https protocol for superbuild CI (6cc25d0)
Remote Module Changes Since v5.3rc03
AdaptiveDenoising:
Hans Johnson (4):
Platform Fixes
Bug Fixes
- ZScore computations invalid for small values (4b6b444)
Style Changes
- enforce ITK style defined by clang-format (c001c43)
AnalyzeObjectLabelMap:
Hans Johnson (2):
Platform Fixes
AnisotropicDiffusionLBR:
Hans Johnson (3):
Platform Fixes
- Modules need updated version of ITK (1d57bb6)
- Remove inclusion of .hxx files as headers (b66464f)
- Avoid single value vector constructor (66a74d2)
BSplineGradient:
Hans Johnson (2):
Platform Fixes
BioCell:
Hans Johnson (2):
Platform Fixes
BoneEnhancement:
Hans Johnson (2):
Platform Fixes
BoneMorphometry:
Dženan Zukić (1):
Platform Fixes
- Fix duplicate wrapping warnings. Closes #51. (893b043)
Hans Johnson (2):
Platform Fixes
mrhardisty (1):
Miscellaneous Changes
- Fix Error in BsBv formula (1c383c7)
Cleaver:
Matt McCormick (4):
Enhancements
Documentation Updates
- Add Jupyter notebook example (9bb34f8)
Bug Fixes
- Expose OutputMeshType * GetOutput(index) (a5b1d17)
Cuberille:
Hans Johnson (2):
Platform Fixes
CudaCommon:
Hans Johnson (2):
Platform Fixes
LucasGandel (1):
Platform Fixes
- Add CUDA include dirs to CudaCommonINCLUDEDIRS (8e2a7dc)
FixedPointInverseDisplacementField:
Hans Johnson (2):
Platform Fixes
GenericLabelInterpolator:
Dženan Zukić (1):
Enhancements
- update minimum required CMake version (d804834)
Hans Johnson (2):
Platform Fixes
GrowCut:
Hans Johnson (3):
Platform Fixes
Style Changes
- Prefer itk::Math::abs for consistency. (c8db62a)
Kian Weimer (3):
Platform Fixes
- Removed redundant variable declaration, resolving compiler shadow warning. (dac251e)
- Resolved shadowing of class member variables. (1f0fdf7)
- Removed unused variables causing compiler warning. (7e9959f)
HASI:
Dženan Zukić (7):
Enhancements
- Update required CMake and C++ standard to match ITK 5.3 (3f286b8)
- Add the overall segmentation pipeline in Python (e255566)
- Further changes identified from a complete run (3b4e723)
- Record per-label bone morphometry into a CSV file (fae2e7d)
- Loop over all available atlases (0f50ab5)
Bug Fixes
- Use subprocess invocation to avoid Elastix crash (f3bdd31)
Style Changes
- remove unused code (6eccaed)
Hans Johnson (2):
Platform Fixes
Kian Weimer (1):
Platform Fixes
- Removed redundant type alias. (9c9cbb7)
HigherOrderAccurateGradient:
Hans Johnson (2):
Platform Fixes
IOFDF:
Hans Johnson (1):
Platform Fixes
- Modules need updated version of ITK (0a17013)
IOMeshSTL:
Hans Johnson (1):
Platform Fixes
- Modules need updated version of ITK (7841c13)
IOMeshSWC:
IOScanco:
Dženan Zukić (2):
Enhancements
- remove unsupported write extensions (ebfcb2c)
- Make use of improvements in ImageIO file extensions (a3afede)
Hans Johnson (2):
Platform Fixes
- Modules need updated version of ITK (f56c97b)
Style Changes
- Prefer itk::Math::abs for consistency. (3ac09fa)
IOTransformDCMTK:
Hans Johnson (1):
Platform Fixes
- Remove inclusion of .hxx files as headers (649da7a)
IsotropicWavelets:
Hans Johnson (2):
Platform Fixes
LabelErodeDilate:
Hans Johnson (2):
Platform Fixes
LesionSizingToolkit:
Hans Johnson (2):
Platform Fixes
- Remove inclusion of .hxx files as headers (0525c1d)
Style Changes
- Prefer itk::Math::abs for consistency. (c1a8417)
MGHIO:
Dženan Zukić (1):
Style Changes
- Standardize parameter names to argc and *argv[], replace ac/av (b5b0d48)
Hans Johnson (2):
Platform Fixes
- Modules need updated version of ITK (645c035)
Style Changes
- Prefer itk::Math::abs for consistency. (8decfcf)
Jean-Christophe Fillion-Robin (2):
Documentation Updates
- Fix reference to continuous integration in README (b0e3c20)
- Update description in README and include an History section (7cac826)
Matt McCormick (2):
Enhancements
- Update CI for itk-5.3rc03 (2309a73)
Documentation Updates
- Update repository name to ISC repo naming convention (a75c889)
MeshNoise:
Hans Johnson (2):
Platform Fixes
MeshToPolyData:
Matt McCormick (2):
Enhancements
- Bump version in setup.py to 0.8.1 (a8f6f9c)
Platform Fixes
- Remove unused variables (18fce1a)
MinimalPathExtraction:
Hans Johnson (2):
Platform Fixes
Matt McCormick (1):
Enhancements
- Update Python package for itk-5.3rc4 (ac79466)
Stephen R. Aylward (3):
Bug Fixes
- Set FastMarching targets prior to reach mode (3639b9f)
Style Changes
- ITKHeader.h does not use https for apache license (065eadf)
Miscellaneous Changes
- Revert "STYLE: ITKHeader.h does not use https for apache license" (1c96e27)
Tom Birdsong (1):
Enhancements
- Bump ITK and replace http with https using script (c7cdbd8)
Montage:
Dženan Zukić (3):
Enhancements
- Use higher precision pixel accumulation type in Python wrapping (5b77535)
Platform Fixes
- Fix FFT factory failures by using a newer ITK in CI testing (4ed5b60)
- Update type correctness of point and vector math (d4d7e4a)
Hans Johnson (5):
Platform Fixes
Style Changes
- Prefer itk::Math::abs for consistency. (7ad5492)
- Prefer itk::Math::abs for consistency. (d595149)
- Match clang-format style (c11ec2a)
Tom Birdsong (1):
Miscellaneous Changes
- Default to C++14 (2ed2198)
MorphologicalContourInterpolation:
Dženan Zukić (2):
Enhancements
- Updating MCI for ITK 5.3RC3 (37a9ede)
Style Changes
- Applying clang-format (e518b40)
Hans Johnson (3):
Platform Fixes
Style Changes
- Prefer itk::Math::abs for consistency. (aa4cf17)
MultipleImageIterator:
Dženan Zukić (1):
Enhancements
- Fix CI (hashes MD5->SHA512, bump CMake version, ITK 5.3RC3) (1571225)
Hans Johnson (1):
Platform Fixes
- Modules need updated version of ITK (8fa63c8)
ParabolicMorphology:
Hans Johnson (2):
Platform Fixes
PerformanceBenchmarking:
Hans Johnson (2):
Platform Fixes
PhaseSymmetry:
Dženan Zukić (1):
Enhancements
- Update for ITK 5.3RC3. Bump version number. (0b6993c)
Hans Johnson (2):
Platform Fixes
PolarTransform:
Hans Johnson (3):
Platform Fixes
Style Changes
- Prefer itk::Math::abs for consistency. (aa5f6a0)
PrincipalComponentsAnalysis:
Hans Johnson (2):
Platform Fixes
RLEImage:
Dženan Zukić (1):
Platform Fixes
- Fix assertion condition. It failed to compile in Debug mode. (e18b8da)
Hans Johnson (3):
Enhancements
- Use ITK .gitignore patterns for module (1c46dc7)
Platform Fixes
RTK:
Antoine Robert (2):
Enhancements
- Add convenience functions ReadGeometry and WriteGeometry (1334e53c)
Style Changes
- Use convenience functions for writing and reading image and geometry (f34b10e4)
Fernando Hueso-González (1):
Enhancements
- add SetImageIO to ProjectionsReader (02913451)
Gabriele Belotti (1):
Style Changes
- Displaced Detector Filter variables name (e3b56edf)
GabrieleBelotti (1):
Documentation Updates
- Correct Parker reference and its implementation (72238ee8)
Hans Johnson (2):
Platform Fixes
- Remove inclusion of .hxx files as headers (4e48dc45)
Style Changes
- Prefer itk::Math::abs for consistency. (05f3ad2c)
Lucas Gandel (2):
Enhancements
Simon Rit (29):
Enhancements
- upgrade CI for python packages to ITK v5.3rc03 (e3b4d89a)
- add Elekta synergy geometry wrapping and Python application (d0b215f9)
- account for ImagingRing tilt available in newer versions (5a1af896)
- add test for Ora files with gantry tilt (e35dd986)
- update README.md file with target github action (af809930)
- Doxygen use svg and mathjax (f2d5e950)
- Make Forbild phantom file reader locale insensitive (942fa6f2)
- upgrade CI for python packages to ITK v5.3rc04 (79b711ae)
- add Windows Cuda CI (e7ae96d9)
Documentation Updates
- Update ITK Doxygen tarball URL (f6393252)
Platform Fixes
- Include missing header includes in src files (3a832edf)
- fix compilation of external project depending on RTK with Cuda (eff10ab1)
- set CMake vars for ITKCudaCommon targets (4f33472e)
- remove unused type warning (c4c8c532)
- fix incorrect casts from scalar or vector to points (abce7eee)
- avoid implicit conversion from scalar to itk::Vector (da1979ee)
- remove unused wrapping of FDKWarpBackProjectionImageFilter (4fa8de60)
Bug Fixes
- fix i-th ellipsoid of the Shepp Logan phantom (33f8275b)
- do not let tests write to the same temporary signal file (40e40d7c)
- test compiled with rtkaddcudatest should use USECUDA (f7dac1fe)
- expect exception with Cuda conjugate gradient on CPU images (7f23cbce)
- clone convex shapes to avoid double transformations (6d73ac05)
- add missing checks after Cuda memory allocation (fc9e8e2b)
- check matrix vector length before accessing an element (d2d22bb9)
Style Changes
- Prefer itk::Math::abs for consistency. (c759c9a9)
- fix clang-format style in a few RTK files (a9bd58e7)
- remove useless member for the union of 3 objects (5522ddd3)
- Prefer error checked std::stod over atof (e6c48ebc)
- Prefer error checked std::stoi over atoi (9f40cc05)
SCIFIO:
Hans Johnson (1):
Platform Fixes
- Modules need updated version of ITK (42b30ee)
Shape:
Hans Johnson (2):
Platform Fixes
SkullStrip:
Hans Johnson (2):
Platform Fixes
SplitComponents:
Hans Johnson (2):
Platform Fixes
Tom Birdsong (4):
Enhancements
- Bump ITK to v5.3rc04 (bbc62b1)
- Update Python build versions (4aa9248)
- Make ITK tags CI environment variables (3dfd577)
Bug Fixes
- Remove quotes from PATH (1942f48)
Strain:
Dženan Zukić (1):
Platform Fixes
- Fix duplicate wrapping of ImageToImageFilter for IV->ICV case (4fd046c)
Hans Johnson (2):
Platform Fixes
SubdivisionQuadEdgeMeshFilter:
Hans Johnson (2):
Platform Fixes
TextureFeatures:
Hans Johnson (1):
Platform Fixes
- Modules need updated version of ITK (8ff5106)
Thickness3D:
Hans Johnson (2):
Platform Fixes
TotalVariation:
Hans Johnson (2):
Platform Fixes
Pablo Hernandez-Cerdan (1):
Platform Fixes
- Set the default CXX_STANDARD to 14 (a9ba31a)
TubeTK:
Hans Johnson (2):
Platform Fixes
Kian Weimer (8):
Platform Fixes
- Fixed compiler warnings for tubeWriteTubesAsPolyData. (8c5d55f0)
- Resolved compiler warnings for itktubeRadiusExtractor3. (68b126a3)
- Removed unused variable for itkAnisotropicSimilarityLandmarkBasedTransformInitializer. (b9df7a3f)
- Resolved compiler warnings for itktubePointBasedSpatialObjectToImageMetric. (6435e55b)
- Removed several redundant typename statements. (2a726763)
- Removed unused typedefs from test files. (f5596d88)
- Converted while loop to for loop to prevent later name shadowing. (409dd089)
- Removed many unused max and min variables. (028f56de)
Stephen R. Aylward (21):
Enhancements
- Improved methods and examples for CTA processing (a36f38eb)
- Bump TubeTK Version (2a85aef3)
- Upgrade wheels to use ITK53rc02 (b03e89b4)
- Provide a demo of manipulating the radius of tubes in python (8f3a3e26)
- Add support for 2D images in the python wrapped RegisterImages (f1de8eea)
- Update baselines for ITKv53rc03 (a0cccc97)
- Include documentation file for pypi wheels (#102) (8565a00f)
- Add building of python wheels for Python 3.7 and 3.8 on Linux (#104) (0dfead80)
- Bump version to TubeTK v1.1 (8567b0f9)
- Provide a more complete PyPI description (fa9d2bf9)
- ValidTimeStep is back to being a bool. ENH: Github Workflow build using ITK master (7d643c7f)
- Updates to work with ITKv5.3rc04 (#108) (c33ba00b)
- Enable specification of target Size for image resampling (#109) (549e2c56)
Platform Fixes
- Updating to match API change in ITK for ValidTimeStep (#99) (a8a0ed3f)
- Reduce the templating of ImageMath python wrapping to save memory and increase swap size (#101) (a2efaca7)
Bug Fixes
- Missing typename's (1a0e7112)
- Template specification not needed (ec011a32)
- SlicerExecutionModel not finding ITK - updating path (3a50c1f8)
- Fix spelling of setup-readme.md (bcac5b2f)
- Update Write4D python API to support python ITK Image args (6bce62f9)
Style Changes
- Fixed spelling mistake (2455f836)
TwoProjectionRegistration:
Hans Johnson (3):
Platform Fixes
Style Changes
- Prefer itk::Math::abs for consistency. (8e77598)
Ultrasound:
Dženan Zukić (23):
Enhancements
- Update the minimum required version of CMake to match ITK 5.3 (0a46a65)
- Use override for destructors and = default where appropriate (eec7bf1)
- Adding Spectra1DAveragingImageFilter (d347bd4)
- Adding Spectra1DNormalizeImageFilter (814944b)
- Compute single attenuation number using image to histogram filter (99ad524)
- do not recompute variables in ComputeAttenuation method (f158edc)
- Reduce large safety erosion at segment end (03a1d39)
- Always compress mask output (a51810d)
- Compute attenuation from all pairs using inverted Gaussian weights (8e84789)
- Simplify the code a little (e911cac)
- Add two new (simpler) computation modes (acc89db)
- Do not run the filter twice (e310816)
- Expose computation mode parameter in the test (f2818b0)
- Add tests and baseline outputs for new computation modes (9e20e7c)
- Remove zeroes if not considering negative values (71d1368)
- Allow to run AttenuationImageFilter without a mask (c8e529e)
- Start and end of a segment are more informative than midpoint only (b0bad37)
Platform Fixes
- Fix compile error about VariableLengthVector (b8a8ecc)
Bug Fixes
- Make the attenuation test work with mask values other than 1 (e4a0665)
- Do not compute attenuation if segment is completely eroded away (4ed2a5e)
Style Changes
- Update clang-format style definition to match ITK (6da99f7)
- Reduce white space in itkAttenuationImageFilter.h (fa83c85)
Miscellaneous Changes
- Quote sys.executable path in PlotPowerSpectra because of spaces in name (4167992)
Hans Johnson (1):
Platform Fixes
- Remove inclusion of .hxx files as headers (382b074)
Jean-Christophe Fillion-Robin (7):
Platform Fixes
- ITKv5 no longer supports legacy method signatures for VNL (811104f)
- Fix -Wunused-parameter in itkBlockMatching classes (162f921)
- Fix -Wreorder in itkBlockMatchingDisplacementPipeline (4390a23)
- Fix -fpermissive error in StrainWindowBlockAffineTransformCommand (265d190)
- Fix -fpermissive error in OptimizingInterpolationDisplacementCalculator (d21d74f)
- Update StrainWindowBlockAffineTransformCommand::SetStrainImage constness (cb285e0)
- Fix -Woverloaded-virtual in MultiResolutionIterationCommand (6012bf0)
Tom Birdsong (16):
Enhancements
- Move Vnl and FFTW 1D FFT classes to ITK proper (4c631f1)
- Fix CI. Bump ITK Python to v5.3rc03. Add symlinks to TBB sources. (0c917ce)
- Add curvilinear image factory manual registration for testing (8dfad42)
- Add
itk::AttenuationImageFilter(fb31c11) - Generate output mask for attenuation statistics (46f2c99)
- Add practical data tests (d7ffd0e)
- Bump to ITK v5.3rc04 (06f791c)
- Make ITK tags CI environment variable (06732c0)
Documentation Updates
- Add RF attenuation statistics example (a616e90)
Bug Fixes
- Temporary workaround for wrapping failure (b6335eb)
- Make ITKVideo modules test dependencies (ffd62fb)
- Set module wrapping order (b4ea164)
Spectra1DAveragingImageFilteriterator fix (e836049)- Fix
itk::AttenuationImageFilterregion threading (1bc9bec) - Make ITKTestKernel a test dependency (0094c63)
- Fix Windows CI grep path (2ba0431)
VkFFTBackend:
Lee Newberg (2):
Platform Fixes
- Format code to address clang_format warnings (972ad64)
- Update clang-format-linter.yml to match ITK (cc15af1)
Tom Birdsong (9):
Enhancements
- Add script for FFT benchmarking (00fe715)
- Add Gaussian blur benchmarking notebook (6e24b23)
- Bump to ITK v5.3rc04 (18b4ebd)
- Make ITK tags CI environment variables (fe54f06)
- Add default factory initialization (3f1083e)
- Bump ITKVkFFTBackend to v0.1.4 (5c2b5b4)
- Add Python factory override test (7d48a62)
- Add example demonstrating FFT convolution over a subregion (30ca3f0)
- Benchmark FFT Gaussian blurring with different kernel sizes (2b82d04)
- C++
Published by thewtex over 3 years ago
itk - ITK 5.3 Release Candidate 3: Documentation
ITK 5.3 Release Candidate 3 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.3 Release Candidate 3 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.3 is a feature release that accelerates performance, provides new segmentation and shape analysis algorithms, improves documentation, among many more improvements. For more information about performance improvements, see the 5.3 RC 1 Release Notes. For more information about new segmentation and shape analysis algorithms, see the 5.3 RC 2 Release Notes.
ITK 5.3 RC 3 highlights documentation improvements. The ITK Software Guide has been updated for ITK's modern C++ improvements. The guide now also includes a helpful primer for debugging native Python extension modules across platforms. The PDF's remain available for free download (links below), and an updated hardcopy can be purchased from Amazon. ITK's Sphinx Examples were updated to the latest ITK and Sphinx. Join us for a hackathon to work on the examples on Friday, May 20th. Doxygen API documentation now uses MathJax and SVG, and Doxygen HTML archives are significantly smaller.
ITK 5.3 RC 3 also includes FFT backend registration through the object factory, Python wrapping for more registration methods, metrics, and registration of point sets, and new remote modules to facilitate rendering of meshes and ITK filtering with CUDA. And, there any many more improvements and fixes detailed in the log below.
In addition to the PDF's below, the ITK Software Guide for ITK 5.3 is available in hard copy form on Amazon. Book 1, Book 2.
Download
Python Packages
Install ITK Python packages with:
pip install --upgrade --pre itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Features
Python
- Python packages now include oneTBB support for improved performance.
- Following CPython's deprecation schedule Python 3.6 is no longer supported.
- Python packages added for Python 3.10
- Initial Python wrapping is available for the Video modules.
TransformToDisplacementFieldis now available in Python.- Pythonic IO functions
itk.imreadunderstandspathlib.Path's - New
reprforitk.Matrix np.asarrayworks onitk.MatrixDCMTKImageIOwrapping addressedGradientDifferenceImageToImageMetricwrappedSynImageRegistrationMethod,BSplineSynImageRegistrationMethodwrappedConjugateGradientLineSearchOptimizerv4wrapped- Wrap
ImageRegistrationMethodv4foritk.Mesh - Wrap
PointSetToPointSetMetric,PointSetToPointSetRegistrationMethod - Wrap
ANTSNeighborhoodCorrelationImageToImageMetricv4
C++
- C++14 is now required.
- The minimum CMake version required is now 3.16.3.
- New functions:
MakePoint,MakeVector,MakeIndex,MakeSize. - Targets in Visual Studio and other IDE's are now organize hierachically by ITK Group and Module
- Most of
itk::mplmeta-programming functions replaced by C++14 equivalents - Performance accelerations for b-spline interpolation, Mattes mutual information metric computation
- Improved modern C++ adoption, e.g. additional adoption of
constexpr,auto itk::ReadMesh,itk::WriteMeshsimple reader functions available, similar toitk::ReadImage,itk::WriteImage- FFT backends are now registered through the object factory mechanism
New filters
itk::TransformGeometryImageFilter: applies a rigid transform to anImage's metadata.- 1D FFT classes
- Interface classes for forward, inverse transformations
- Vnl implementations
- FFTW implementations
itk::TriangleMeshCurvatureCalculator- Gaussian curvature calculator foritk::Mesh
Remote module updates
New remote modules:
- HASI: High-Throughput Applications for Skeletal Imaging
- ITKGrowCut: segments a 3D image from user-provided foreground and background seeds
- ITKMeshToPolyData: Convert an ITK Mesh to a simple data structure compatible with vtkPolyData
- ITKCudaCommon: Framework for processing images with CUDA
Updated modules: AdaptiveDenoising, AnisotropicDiffusionLBR, BSplineGradient, BoneEnhancement, BoneMorphometry, Cuberille, GrowCut, HASI, HigherOrderAccurateGradient, IOFDF, IOScanco, IsotropicWavelets, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, RTK, SimpleITKFilters, SkullStrip, SplitComponents, Strain, TextureFeatures, Thickness3D, TotalVariation, TubeTK, and Ultrasound.
Third party library updates
- eigen
- expat
- fftw
- gdcm
- googletest
- hdf5
- kwsys
- kwiml
- minc
- metaio
- niftilib
- vxl
- zlib migrated to zlib-ng
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 59 authors who contributed since v5.2.0, we would like to specially recognize the new contributors:
Michael Kuczynski, Tim Evain, Tomoyuki SADAKANE, Mario Emmenlauer, Andreas Gravgaard Andersen, Ebrahim Ebrahim, josempozo, Wenqi Li, Genevieve Buckley, Oleksandr Zavalistyi, Jose Tascon, Pranjal Sahu, ambrozicc1, Vagrant Cascadian, MrTzschr, Philip Cook, Tihomir Heidelberg, Jason Rudy, Kian Weimer, z0gSh1u, Darren Thompson, Darren, and Jose M Pozo.
What's Next
We anticipate an additional release candidate following community testing before the 5.3.0 release. The following release candidate will provide an opportunity to test contributions for packaging, distributed computation, and GPU acceleration. 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.3rc02
Bradley Lowekamp (20):
Enhancements
- Add valgrind suppression file for Ubuntu 20.04 (af5dc21f77)
- Remove LBFGS2's pimpl member (2f60979bbb)
- CircleCI use large resource class (2cded6cf83)
- Update SimpleITKFilters remote module (fd67bcc443)
- Doxygen use svg and mathjax (a3a87b7b06)
- remove rendering datetime with Doxygen into HTML footer (510392c6ac)
- Move factory registration code to separate file (ab07c12492)
- Add factory names as optional argument (52c7d7479f)
- Use ITK<factoryname>FACTORYREGISTER_MANAGER (099b5621c8)
Platform Fixes
- Update suppress for KWSYS change (e723f6df36)
- Fix bit shift overflow warning (0501e417e2)
- Fix sign comparison to unsigned warning (b6246315ca)
- fix WorkUnitInfo shadow warning (68c607ed54)
Bug Fixes
- fix uninitialized memory warning in PeriodicBoundaryCondition test (f643a51f9c)
- Fix linking by making LBFGS2Optimizerv4 a template (825bb36dc6)
- warning in TIFFImageIO with component bit depth reduction (1d68414c4e)
- Enable using only FFT Factory Register Manager (42b6023c1e)
- internal fix for itkgeneratefactory_registration (db89ee5260)
- Include ITKFactoryRegistration in ITK build (f5e8eed193)
Style Changes
- Use recursive FFT registration for N to 1 (8350f9c8f9)
Dženan Zukić (31):
Enhancements
- add itk::Object::Register to the no-step-into list for VS2015+ (60d20a29b3)
- expose STL constant begin/end iterator types (e3b79dd0ab)
- add filter progress overflow check (fa8e5c87ac)
- add a new ContinuousIntegration job: LinuxLegacyRemoved (6853d63728)
- Update remote modules using a script (f5898b9428)
- make BresenhamLine test more sensitive to numerical problems (ea72435239)
- reduce code duplication by reusing code from ImageIOBase (7a0599ccdb)
- itkMGHImageIO moved to InsightSoftwareConsortium (f84c9ef090)
- modify rasterizer Test2 to exercise negative indices (cd8a17cb9c)
- use the new CMake mechanism to specify MSVC's static or DLL CRT (4b010e724d)
- Update MINC UpdateFromUpstream.sh to use update-third-party.bash (fc46ec6bce)
- Better progress reporting for 3 LabelMap filters (e3d4021d2a)
- Make progress more accurate in case of filter restarts (6f238108a1)
- Improve progress for GradientMagnitudeRecursiveGaussianImageFilter (6c32f95d77)
- Avoid repeating progress in pool multi threader (ecd025e181)
- Simplify LabelMapToLabelImageFilter slightly (11eb20b344)
- Add a test for reading float vector image as Image
> (df6e287ad1)
Documentation Updates
- improve description of BresenhamLine (bc0d7a7940)
Platform Fixes
- Turning off EZMINC option in libMINC (da253550db)
Bug Fixes
- fix a crash in QuadEdgeMeshFilter tests (759b8ffa17)
- fix filter progress overflowing due to bad logic in atomic add (840bae7174)
- Enforce strictly positive image spacing values (17a1266e8f)
- BresenhamLine was producing more indices than necessary (5edff15fc9)
- fix handling of negative and non-zero region indices in rasterizer (0756bd3ad6)
- Filter's progress would sometimes regress (0eb55f2a91)
- BinaryGeneratorImageFilter's progress did not reach 1.0 (5c6497fad7)
- properly serialize output in SimpleFilterWatcher (a3a8a33b28)
- Avoid duplicate progress reporting in general case (f09104d503)
- Do not refuse to read images of vectors with many components (54926893bc)
Style Changes
- Simplify GradientMagnitudeRecursiveGaussianFilterTest (83d2379ea2)
- Standardize parameter names to argc and *argv[], replace ac/av (103e0a9329)
Eigen Upstream (1):
Miscellaneous Changes
- Eigen3 2022-01-10 (332b838c) (a2662ce136)
Genevieve Buckley (1):
Enhancements
- pickle serialization for itk images (issue 1091) (27242f4aa5)
HDF5 Maintainers (1):
Miscellaneous Changes
- HDF5 2021-07-06 (820695a7) (43cb3bb988)
Hans Johnson (40):
Enhancements
- Allow users to have a CMakeUserPresets.json file (e32e05ac31)
- Use build tree working directories (9e41a45038)
- Removing circular header includes (836210b23e)
Documentation Updates
- Add project documentation supported by mordern cmake (0d9fdf455c)
Platform Fixes
- Use modern macro name for GetModifiableObjectMacro (7fdb6d6ced)
- Remove processing missing Ruby directories. (0afe97d0e7)
- Conditional build logic for WRAP_PYTHON (758ad339cb)
- Working directory must pre-exist (36ffcf9045)
- Remove implicit conversions (bf2e67a6ad)
- Allow use of older system vxl (04012696bc)
- Duplicate symbol name with #define (d75910d150)
- Include .h instead of .hxx file (8976a581fc)
- Place public interface in .h file (09926f0f5a)
- Remove inclusion of .hxx files as headers (aafd1f9631)
- Modernize searching in list (b524b12093)
- Simplify H5Tinit.c file generation (568e311d4a)
- Allow ITK to manage cmakeminimumrequired version (452b99c241)
- Remove redundant cmake_policy setting (d51f29c28d)
- Hard-code HDF5 options to suppress messages (3780d66798)
- Macro redefinition on windows (7aa5646a8f)
Bug Fixes
- Fix constexpr linkage issue (ad86850385)
- Ensure that the itk-stub dir exists (f732f05f24)
- Condition building python stubs on python wrapping (4f33aab02e)
- Syntax bug in ruby wrapping code (9ba7322376)
- Test configured an invalid image spacing (d80b751c6c)
- Conditional python 3.8 code optional (c779d09bc6)
- setting unused variable named '0' from macro (0b8a2ec2a3)
Style Changes
- Use correct type for boolean expressions (b379d1c1c7)
- Fix minor spelling error (e31d336943)
- Address clang-tidy warnings in itkNumericTraitsTest.cxxv (89f1bca360)
- Remove IsInteger and replace with std::is_integer (b3f80bb295)
- Remove IsSigned and replace with std::is_signed (da13473cb0)
- Prefer itk::Math::abs over abs or fabs (d715b098ba)
- Allow use of clang-tidy as part of cmake compilation (55db25c240)
- Do not use double underscore defines (191e122087)
- Remove recursive inclusion of .h files (f84720ee08)
- Include .hxx files inside .h header guards (70351d1fe4)
- Use simplified modern cmake directive (6da612134b)
- Disable MSVC settings for non-MSVC (8cf8bf3632)
- Allow hdf5 to specify it's own clang-format (c73b9f0884)
James Butler (1):
Documentation Updates
- Fix possessive "its" usage (b69598e23c)
Jon Haitz Legarreta Gorroño (52):
Enhancements
- Use latest
checkoutrelease inclang-format linterworkflow (091a1ab635) - Avoid setting a negative spacing to test exception (5f85a5de85)
- Increase code coverage (58f738a8c4)
- Add wrapping for
itk::GradientDifferenceImageToImageMetric(7e60a39968) - Increase
itk::ImageBasecoverage (217c0d4084) - Add RTTI to
itk::InvertDisplacementFieldImageFilter(0f2fe8f986) - Increase coverage for
ImageStatisticsmodule classes (a0c32bbe61) - Add boolean macros to miscellaneous boolean ivars (ce00b06dfe)
- Use
itkPrintSelfObjectMacroto print objects that can be null (5d860e62a9) - Add boolean macros to
itk::SpatialObjectWriterboolean ivars (ac7272c04c) - Add boolean macros for
itk::JPEGImageIOboolean ivars (d4c6b33f67) - Exercise basic object methods for
itk::JPEGImageIO(7408df465a) - Increase coverage for miscellaneous classes (748ddf7768)
- Use
itkPrintSelfObjectMacroto print objects that can be null (ffe6b2ccc1) - Add RTTI to
itk::DisplacementFieldToBSplineImageFilter(57ef2ac9f5) - Increase coverage for miscellaneous classes (5deb0c39cf)
- Add getter macro to ivar (48eacfe518)
- Add missing getter/boolean macro methods (4db7880575)
- Increase coverage for miscellaneous classes (e2511e7c0f)
Documentation Updates
- Fix typos and improve grammar (b14b95ab5e)
- Fix typo in comment (3687637deb)
- Fix
itk::BuildInformationclass documentation typo (77557e7fd4) - Fix Insight Journal reference typos (291ee7b685)
Platform Fixes
- Fix
absmethod not being found (b655b02ce8) - Use and move ITKDISALLOWCOPYANDMOVE calls to public section (ac1d0aa1ef)
- Fix testing macro call and array initialization errors (7e37b19646)
- Fix spline order return type in getter macro (8683d4254e)
- Fix variable type and syntax errors (109047a2e9)
- Fix missing initialization braces warning (98bc61493f)
Bug Fixes
- Remove declared but undefined method (98e030b20d)
- Disallow zero-valued determinant directions (c4960ee19c)
- Fix class names in
itkTypeMacro(ed0f6d3cf2) - Fix superclass name in
itkTypeMacro(2d63eb0aa0) - Do not print non-self member variables in
PrintSelf(44e3199900) - Fix superclass name in
itkTypeMacro(9175d4ca68) - Use the superclass name in
itkTypeMacro(8e1220c538) - Fix superclass name in itkTypeMacro (007970e369)
- Guarantee array contains enough elements for access in loop (90f7396296)
- Initialize
itk::ExhaustiveOptimizerivars (bd55ef3f7d) - Initialize
itk::Arrayvariable values in test (06d5ed1d10)
Style Changes
- Make
ImageLabelandImageNoisemodules test style consistent (922ff82a1c) - Use the
itkNameOfTestExecutableMacromacro in tests (7997ef3eaa) - Use
argcandargvto name test argument variables (03a3af21ef) - Use local include syntax to include ITK files (05d48c66cd)
- Use exit return codes consistently in tests (a98f7a898e)
- Use auto for variables initialized by
New()in Examples (2f291f8dc5) - Use the
itkNameOfTestExecutableMacromacro in tests (706ff726cc) - Improve the
JPEGmodule tests' style (bc3ac22332) - Use strongly typed enum class ostream overload in
PrintSelf(69b4178dc7) - Use the
itkNameOfTestExecutableMacromacro in tests (82520a8db9) - Use the superclass name in itkTypeMacro (6a1575d68c)
- Prefer returning
intinstead ofboolin test method (8fa5a8041e)
Jose M Pozo (3):
Enhancements
- Add test for inverse Jacobian of AffineTransform. (7c7233f0b3)
Bug Fixes
- ComputeInverseJacobianWithRespectToPosition didn't do inversion (9111b93afa)
Style Changes
- auto declarator when initializing with New() (dd7d0d6cf0)
KWSys Upstream (1):
Miscellaneous Changes
- KWSys 2021-11-01 (572f2a65) (59cf980b33)
Kian Weimer (5):
Enhancements
- Generate stub-files to support type hints (faa3ab0a7e)
Platform Fixes
- Initialized derivs array to zero. (06b1be939f)
Bug Fixes
- Generate itk-stubs file before running igenerator.py. (8bfd35bb4a)
- Corrected .pyi output file names in custom command. (d8fa6abc35)
- Prevented duplicate pyi definition generation in igenerator.pyi. (3820b1cb00)
Lee Newberg (3):
Performance Improvements
- Use binary search for threshold in ThresholdLabelerImageFilter (340f6f4064)
Platform Fixes
- Fix unsigned<0 warning for itkSetClampMacro. (b11a9981b9)
Style Changes
- Removing extraneous colons from '::itk' and '::std'. (24e7b452b4)
Lucas Gandel (1):
Enhancements
- Load and execute modules init file (3084580381)
Mario Emmenlauer (1):
Enhancements
- Added template parameter for texture mask type (9273616e19)
Matt McCormick (13):
Enhancements
- Wrap SynImageRegistrationMethod, BSplineSynImageRegistrationMethod (3e27a46124)
- Add itk::ReadMesh (eb98045d6d)
- Add itk::WriteMesh (bd2a2e484d)
- Add checks to itkMeshFileReaderWriterTest (b00d11bf00)
- Use literate identifiers in Dask serialization. (c99232aa06)
- Add MeshToPolyData remote module (8ecef7b8a0)
- Content link updates for ITK 5.3rc03 (590dd29f00)
Platform Fixes
- Use nifti_clib master (6105ebd2e7)
Bug Fixes
- Create CellData when requested in Mesh::GetCellData (3474342014)
- Provide consistent shape on Fortran-order np.ndarray views (a4419d8259)
Style Changes
- Use keyword style for HeaderTest targetlinklibraries (1a599f4d2f)
- Move type declaration into itkMeshCellDataTest function (fa2a3a2f3b)
- Remove old FFT 1D implementation includes (6eaa4623e1)
Mihail Isakov (14):
Enhancements
- JPEG IO: check integer overflow (de5f8e8513)
- add a test for verifying a JPEG image is corrupted and throws (4f770cb6bd)
Bug Fixes
- fixed undefined behaviour with corrupted JPEG file (d43311d3e9)
- GDCM IO: reset internal variables (d9f4b77b65)
- PNG IO fails on corrupt file (31ce397623)
- JPEG IO: only allow 8 bits (f28dcb1087)
- JPEG IO: disallow UINT input images (b4a6a21b14)
- JPEG IO: ensure same dimensions in Read and ReadImageInfo (e45f3edef8)
- JPEG IO: set correct max dimensions (07214e8ad5)
- JPEG IO: handle all possible number of components (139fa77ce4)
- JPEG IO: delete pointer on setjmp, other (a9c38a0fa2)
- JPEG IO: handle CMYK correctly (ca4babd252)
Style Changes
- updated error message, improved size check (bb759349a2)
- OpenJPEG: removed outdated comment (9da82ba301)
NIFTI Upstream (1):
Miscellaneous Changes
- nifti 2021-10-26 (53f295cf) (af75181f29)
Niels Dekker (23):
Enhancements
- Make Parameters empty, do not warn in Transform default-constructor (20249ece00)
- Test BuildInformation GetValue, GetDescription for an l-value
key(d6778a3d22)
Performance Improvements
- Use the faster
TransformPhysicalPointToIndexoverload in filter (eb6ac88c82) - Use the faster
TransformPhysicalPointToContinuousIndexoverload (6a8569ef11)
Platform Fixes
- No longer disable MSVC warning C4503 on "decorated name length" (1bba12cf10)
- Fix unreachable code (af32a779c4)
- No longer delete (
= delete) PreFillDirection() function template (a328737726) - Fix BuildInformation GetValue, GetDescription
keyparameter type (7324ffe083)
Bug Fixes
- Add missing single argument ImageAdaptor Transform member functions (2d06a6a583)
Style Changes
- Do not do
return;directly after throwing an exception (ad64a79f65) - Use the faster
TransformPhysicalPointToIndexoverload in tests (c1f266aa75) - Remove
TimeStampdefault-constructor, assignment (Rule of Zero) (83f6cab3c4) - Remove dead code (#else...#endif) BSplineInterpolateImageFunction (0c87e1f9fc)
- Move BSplineInterpolateImageFunction member functions into class (d832119218)
- Use unique_ptr for threaded BSplineInterpolateImageFunction data (3923f261c3)
- Use
unique_ptrforImageToImageMetricdata members (3c6f2984df) - Use
Transformdefault-constructor instead ofTransform(0)(1d119967ce) - Remove remaining
voidfrom empty function parameter lists (93d3f3b3c0) - Declare local
ImageRegionvariablesconst(ac3156140b) - Clean-up default-constructed local
inputRegionvariables (55eb65b3c6) - Declare local zero-filled
Indexvariablesconstexpr(c46354736b) - Code clean-up initializing local
ImageRegionvariables (f9cef65782) - ConstNeighborhoodIterator in-class default member initializers (0eac1bdb6b)
Pablo Hernandez-Cerdan (3):
Enhancements
- Update Eigen3 to 3.4 (2b82b7755c)
Platform Fixes
- Disable Eigen3 warning Wused-but-marked-unused (9d9b4165c3)
Miscellaneous Changes
- Revert "ENH: Updated script for Eigen third party update" (f3d7c99d77)
Pranjal Sahu (23):
Enhancements
- Adding python wrapping for ConjugateGradientLineSearchOptimizerv4 (028c37c6fe)
- Adding Gaussian Curvature Calculator in ITK Mesh with tests (5f180c6e41)
- Removing relative header imports from multiple cxx files (ebc115e41e)
- Adding Python Wrapping for itkImageRegistrationMethodv4 with Mesh (fab7112d91)
- Triangle Cell Casting and Raw Pointer for Wrapping (f57fe85b06)
- Adding Tests for Non-Triangle Mesh (18005c81eb)
- Wrapping only for 3D (05ae9a5061)
- Wrap PointSet To PointSet Metric and RegistrationMethod (b23d73ef96)
- Python Wrapping for Array PixelType in Mesh (abb1d19328)
- Adding Test for Array PixelType in Mesh Wrapping (d85bb67249)
- Adding Python wrapping for CellInterface VectorContainer (b3fb53f979)
- Adding Python Wrapping for SyNImageRegistrationMethod (653ab122ea)
- Adding Mesh in SwigInputGenerator notWrapped list (63239c68f2)
- Adding test for itkConnectedRegionsMeshFilter (4bf1434852)
- Renaming ExtractMeshConectedRegionsTest (232c9c7f26)
- Adding Module dependency for Python test (aec78197f5)
Platform Fixes
- Read Only access to GaussCurvatureData (42160f8434)
- Delete cell before SetCell to avoid memory leak (0cf2c13709)
- Use itk.ULL for windows (7e59d1bf73)
Bug Fixes
- Correct Name Mangling for BSplineSmoothing DisplacementFieldTransform (2b56a143e9)
- Fix for incorrect number of connected regions (6746880dea)
- Fix for incorrect cell extraction when SpecifiedRegions (91c27ff30f)
- Fix for incorrect number of cells in output mesh (94df2c14d4)
Sean McBride (21):
Enhancements
- Use std::once_flag for GlobalSingletonIndexInitializer (bd8adf987b)
- eliminate last uses of kwiml (1ac26e7231)
- delete kwiml now that nothing uses it (3a4fbd65a7)
- Repoint HDF5 from 1.10.7 tag to hdf5110 branch (33eaada395)
- tag=hdf5-1121 (95b3437a43)
- Various changes after merging new HDF5 (4eafe84f63)
- updated HDF5 symbol mangling (f21b8f9eaf)
Platform Fixes
- fixed more clang -Wreserved-identifier warnings (2cc4bdb5e3)
- seems all use of kwiml is no longer actually needed, removed it. (85072c0afc)
- had to remove these... (0d6aa661c2)
- removed obsolete option for Objective-C++ flags (ae74e4122a)
- Added mangling for 3 HDF5 functions that were missed (4804adc4c1)
- add C++11 override to various HDF5 methods that indeed override (1be1b170e6)
- fixed -Wset-but-unused warning building in Release (db431226cb)
Bug Fixes
- Changed a lazy one-time initialization to use call_once. (c3d108322d)
- fixed various incorrect mutex use, found by TSan (19330580e0)
- fix several threading bugs in itkThreadPool found by TSan (d63a4f8387)
- fixed thread safety errors found by Thread Sanitizer (b66133ab53)
- fixed missing mutex acquisition noted by Thread Sanitizer (d5a91d150d)
- fixed concurrant writes to an ivar found by Thread Sanitizer (ed6d2d1329)
- fixed issue #3032: fixed mutation from several threads simultaneously (379f5e0137)
Simon Rit (2):
Enhancements
- add CudaCommon remote module (2cd4d82307)
Platform Fixes
- fix warning triggered by setjmp (b2c2c341cf)
Stephen R. Aylward (3):
Enhancements
- Adding test for Index member var of SpatialObjectToImageFilter (f09f575480)
Platform Fixes
- Eliminate unnecessary complexity of logic for setting Index. (4fb006b0fe)
Bug Fixes
- SpatialObjectToImageFilter didn't use reference image's index (7c2cd637cc)
Steve Robbins (1):
Bug Fixes
- Do not unconditionally assume SSE2 when building on i386. (1a3c66ee05)
Tihomir Heidelberg (1):
Enhancements
- Add UTF-8 support for ImageSeriesReader when reading series of images (3fb1dec607)
Tim Evain (1):
Platform Fixes
- Add cmake clause when DCMTKUSEICU is OFF overwriting DCMTK config (209f2056b8)
Tom Birdsong (25):
Enhancements
- Update Windows MKL path and prioritize user path if supplied (a78269b2ba)
- Select Forward1DFFTImageFilter backend with object factory (67762eefa6)
- Hide FFT factory registration manager implementation detail (6452747dbe)
- Add ANTSNeighborhoodCorrelation metric wrapping (5b25bfada6)
- Standardize complextocomplex fft with two-arg template (ec145cfb13)
- Add object factory registration for FFT classes (bb3c27e877)
- Manually register FFT factories in testing (a7d1fdfda9)
- Remove TestDriver duplicate macro for Nonunit tests (896cd89ae8)
- Query class name rather than subclass in test macro (441fbd083d)
- Add default FFT object factories to TestKernel initialization (10f8abbc8d)
- Register default FFT factories for 4D images (87ebb47912)
- Update FrequencyIterators GTest for factory registration setup (0e642456c1)
- Add Python FFT object factory tests (955ec5c0c2)
- Add macro to selectively catch factory instantiation failures (32599f1b8e)
- Add test to verify itkFactoryOnlyNewMacro functionality (6c841b05ef)
Documentation Updates
- Remove lingering Ultrasound dependency (4b95bcfc2c)
Platform Fixes
- Add ITKImageIntensity as a test dependency for ITKFFT (d856379505)
Bug Fixes
- Fix ANTS metric type macro (26f8d0ba9e)
- Fix 1D FFT doxygen groups (536bb1b9cf)
- Remove duplicate required input in BlockMatchingImageFilter (845e661e87)
- Make FFT factories available across Python modules (35df104b3e)
- Condition FFT wrappings on complex types (0cea2d0831)
- Synchronize the object factory across Python modules (51eae89a74)
- Remove name check in GCC-compiled tests and uncomment FFT checks (934d2c2bdf)
Miscellaneous Changes
- Revert "BUG: Make FFT factories available across Python modules" (263c603e6a)
VXL Maintainers (3):
Miscellaneous Changes
- VXL 2021-12-10 (318538cf) (af8c2f6093)
- VXL 2021-12-13 (f1eb4db2) (186057dc2e)
- VXL 2021-12-25 (fe6889da) (1f8b1373c4)
Vagrant Cascadian (1):
Enhancements
- Use UTC timestamp in CONFIGURE_DATE. (89b8fd3ce9)
Vladimir S. FONOV (1):
Miscellaneous Changes
- MINC 2022-01-01 (4fa81b33) (131ff69466)
Wenqi Li (2):
Enhancements
- GetMatrixFromArray to accept ArrayLike sequences (a89145bccd)
- Ignore Distributed import errors (5f1af152ba)
josempozo (5):
Enhancements
- Added non-trivial (time-varying) test (36850a19f8)
- TimeBounds' normalization made optional (7ae8a4ec19)
- Modified time-varying test switching off time normalization (b668ce6192)
Bug Fixes
- Runge-Kutta wrong TimeBounds implementation (1d705b4879)
Style Changes
- Remove always false if body. (186fd8d737)
z0gSh1u (1):
Documentation Updates
- Add comment for
SetNumberOfWorkUnitsto correct documentation. (28763032ee)
ITK Sphinx Examples Changes Since v5.3rc02
Andinet enquobahrie (1):
Enhancements
- Turn off Git protocol by default. (8132a8d2)
Dženan Zukić (5):
Enhancements
- require C++14 for examples (079d8826)
- use new version of super linter (a9e11bd1)
- use CMake version 3.16.3 as new required minimum (345b1d0d)
Platform Fixes
- fix compile errors by aggressive code cleanup (4927d96e)
Style Changes
- fix lint errors by applying clang-format (1bb21249)
Hans Johnson (9):
Platform Fixes
- Remove inclusion of .hxx files as headers (01ed5763)
- Modules need updated version of ITK (e78bb01e)
- ENABLE_QUICKVIEW code updates (9ac0bafe)
- Remove unnecessary shadow definition (f1651b31)
- Resolve deprecation warning for SphinxExamples (6b9e0fea)
Style Changes
- Prefer itk::Math::abs for consistency. (28820f48)
- address unused variable warnings. (89a73005)
- Remove outdated pre ITKv4 code (5b3015a7)
- Remove python style warnings (e4742994)
Jon Haitz Legarreta Gorroño (11):
Enhancements
- Add
constsmart pointer type alias (4aba13d6)
Platform Fixes
- Use and move ITKDISALLOWCOPYANDMOVE calls to public section (fc34c701)
- Mark class destructors with
override(b9974602)
Bug Fixes
- Include the appropriate implementation file (bc2ccaf2)
- Fix the class name in the
ImageSourcesource files (7c159ea3) - Inherit
ImageSourcefromProcessObject(be9d4e69) - Make the include guards match the filenames (aaa8c25a)
Style Changes
- Do not use double underscore defines (b260806a)
- Move default construtor to .h (4d22d731)
- Prefer = default to explicitly trivial implementations (0ef6f6bd)
- Use typename instead of class in template definitions (84afaf0c)
Kian J Weimer (1):
Bug Fixes
- Switched incorrect 'imagetovtkimage' function calls to 'vtkimagefromimage'. (7acdc497)
Matt McCormick (6):
Enhancements
- Update Sphinx to 4.4.0 (7c77f795)
- Build documentation in CI with the Superbuild (74f34732)
- Migrate from gitstats to sphinx-contributors (66cbdd66)
- Update ITK to 5.3 RC 3 (231ac876)
Platform Fixes
- Sphinx warning node class 'meta' is already registered (550f3b92)
- Address unused SPHINXHTMLHELPOUTPUT in superbuild (4255ef27)
Tom Birdsong (19):
Enhancements
- Remove redundant ITK build step in docs CI (74878f04)
- Deploy docs to Fleek (3325d7b6)
- Adjust site dir for Fleek container reference (a6e600a7)
- Bump ITK version (50d60aa6)
Bug Fixes
- Initialize image buffer in Inverse FFT example (ff614cbb)
- Fixes for HTML documentation (0f025e3a)
- Fix ITKDoxygenXML by copying instead of renaming directory (2d080691)
- Use https protocol for Superbuild CI (f1103ff8)
- Ignore breathe duplicate C++ warnings in docs CI (19d77271)
- Fix site unpack path (7c084818)
- Remove comma (8b0b3526)
- Update paths for Fleek source (9d8a0780)
- Fix github actions variable ref (a1f279d4)
- Revert deploy to Netlify (2d8514bb)
- Disable broken RegisterTwoPointSets tests (9183236c)
Miscellaneous Changes
- Add .fleek.json (5d192756)
- Set Fleek workdir reference (d07c5936)
- Move
.fleek.json(f6073eb6) - Copy
.fleek.json(3ac107a7)
ITK Software Guide Changes Since v5.3rc02
Dženan Zukić (2):
Enhancements
Jon Haitz Legarreta Gorroño (12):
Documentation Updates
- Print backslash mark (002ea47)
- Fix Doxygen special command markup and provide example (aa77a56)
- Fix Doxygen link (7db4436)
- Remove uses of
itk::ImageTraits(67a88b4) - Make test ending messages consistent (42d950b)
- Override destructor and prefer = default for trivial bodies (60e70f5)
- Match the current function deletion practice in ITK (ce05540)
- Prefer using pre-increment over post-increment (747ffae)
- Update the ITK code style to current automatically enforced (7b34899)
- Document brace and brace list initialization preference (f6f73fe)
- Update
itk::N4BiasFieldCorrectionImageFilter::Sharpendefinition (55ea845) - Remove recursive inclusion of .h files (eb1b24c)
Julien Jomier (3):
Enhancements
- Update new kitware logo (733dabb)
Style Changes
Lee Newberg (4):
Documentation Updates
- clang-format of code samples and other minted changes (dd10e33)
Style Changes
- Format Python code with black (b041051)
- Format c++ code with clang-format (061225e)
- Use Python f" formatting (cc3bbfc)
Matt McCormick (2):
Enhancements
Niels Dekker (2):
Enhancements
- Add "Trailing Return Types" section (c64b23b)
Style Changes
- Do not use
voidin empty function parameter list (c4d9284)
Tom Birdsong (2):
Documentation Updates
- Add section on debugging Python wrappings (891fff6)
Bug Fixes
- Use https protocol for superbuild CI (6cc25d0)
Remote Module Changes Since v5.3rc02
BoneEnhancement:
Matt McCormick (1):
Enhancements
- Bump itk to 5.2.1.post1 (aec0745)
MGHIO:
MeshToPolyData:
Montage:
Dženan Zukić (1):
Platform Fixes
- avoiding deprecated itkGetStaticConstMacro (c5f9214)
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Fix initializer list lifetime warning (2fd431a)
PerformanceBenchmarking:
Dženan Zukić (4):
Enhancements
- use C++14 and CMake 3.16.3 for compatibility with ITK 5.3 (b8c92d0)
- use a recent commit of ITK to avoid build errors and warnings (6a27b32)
Platform Fixes
Jon Haitz Legarreta Gorroño (4):
Enhancements
- Bump ITK to latest commit in
master(f960087)
Documentation Updates
- Remove deprecated shell script reference from
README(adac509) - Add Python to requirements list in
README(5940c80)
Style Changes
- Use double backticks for inline literals in
README(0b75ca7)
RTK:
Andreas Gravgaard Andersen (1):
Bug Fixes
- Fix varian reader memory bugs (16e97605)
MrTzschr (1):
Bug Fixes
- Fixed CudaFDKConeBeamReconstructionFilter not using GPU default projection subset size (7ba9a51c)
Simon Rit (23):
Enhancements
- Update CI for ITK 5.2.1 (5f0e9560)
- Update CI builds systems from Ubuntu 18.04 to 20.04 (cf925530)
- add simulations of Forbild cones (8b0197db)
- wrap geometry readers for all constructors (5978cef3)
- add Varian OBI Python application (569ec779)
- install python application for Varian OBI geometry (b9ff8dcf)
- add python application for Ora geometry (60171528)
- wrap rtk::GlobalResourceProbe for timing Python (bbf5461e)
Documentation Updates
- merge double entry for ModuleRTKGIT_TAG in INSTALLATION.md (1ccea89b)
Platform Fixes
- Replace itkGetStaticConstMacro(name) with Self::name (62b8c0a2)
- provide nvcc location to CMake package CUDAToolkit (2a05f389)
- add Linux x64 self-hosted CI for CUDA (d3b52188)
- use 5.2 as the default Cuda architecture (baffa738)
Bug Fixes
- Update Python Git tag to v5.2.1.post1 (2111bdf3)
- fix orientation of Forbild ellipsoids (4c2621cf)
- let ITK initialize C++ standard and build type (a21ff588)
- fix computation of rotation matrix for axis in Forbild (0191861f)
- correctly handle the union of three objects (eba1d8fc)
- deal with (half-)lines when intersecting quadric with a rays (009ef926)
- fix ray quadric intersection for tangent rays (25567c62)
Style Changes
- remove backward compatibility with ITK v5.1 (a025c810)
- Replace itkStaticConstMacro with static constexpr (b54a188c)
Miscellaneous Changes
- Release of RTK v2.3.0 (461c1693)
SimpleITKFilters:
Bradley Lowekamp (2):
Miscellaneous Changes
Strain:
Tom Birdsong (5):
Enhancements
- Update ITK CI version to 5.2.1 (4597dd5)
- Add float type to StrainImageFilter wrappings (ac8b58a)
- Wrap TransformToStrainFilter (e0b751d)
- Update Python package version (17a7a05)
- Add script and notebook strain examples (701a5ef)
Ultrasound:
Matt McCormick (2):
Enhancements
Tom Birdsong (7):
Enhancements
- Wrap itkSpeckleReducingAnisotropicDiffusionImageFilter for Python (dfd8047)
- Add example to demonstrate NRRD ultrasound sequence -> VideoStream (9ed1961)
- Bump ITK cxx CI git tag (172bd04)
- Add common data paths to .gitignore (1abec41)
- Wrap normalized cross correlation class hierarchy (d6ae9d6)
Bug Fixes
- C++
Published by thewtex almost 4 years ago
itk - ITK 5.3 Release Candidate 2: Grow Cuts
ITK 5.3 Release Candidate 2 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.3 Release Candidate 2 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.3 is a feature release that accelerates performance, provides new segmentation and shape analysis algorithms, and makes over 200 more improvements. For more information about performance improvements, see the 5.3 RC 1 Release Notes.
ITK 5.3 RC 2 highlights a new remote module, ITKGrowCut, which segments a 3D image from user-provided seeds. This method was popularized by 3D Slicer and was improved for inclusion in Seg3D with support from the National Institute of General Medical Sciences (NIGMS) of the National Institutes of Health (NIH) under grant numbers P41 GM103545 and R24 GM136986. This module can also be scripted in Python through a package installed with:
pip install itk-growcut
Seeds for ITKGrowCut module.
Results produced by ITKGrowCut module.
Download
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
Python
- Python packages now include oneTBB support for improved performance.
- Following CPython's deprecation schedule Python 3.6 is no longer supported.
- Python packages added for Python 3.10
- Initial Python wrapping is available for the Video modules.
TransformToDisplacementFieldis now available in Python.- Pythonic IO functions
itk.imreadunderstandspathlib.Path's - New
reprforitk.Matrix np.asarrayworks onitk.MatrixDCMTKImageIOwrapping addressed
C++
- C++14 is now required.
- The minimum CMake version required is now 3.16.3.
- New functions:
MakePoint,MakeVector,MakeIndex,MakeSize. - Targets in Visual Studio and other IDE's are now organize hierachically by ITK Group and Module
- Most of
itk::mplmeta-programming functions replaced by C++14 equivalents - Performance accelerations for b-spline interpolation, Mattes mutual information metric computation
- Improved modern C++ adoption, e.g. additional adoption of
constexpr,auto
New filters
itk::TransformGeometryImageFilter: applies a rigid transform to anImage's metadata.- 1D FFT classes
- Interface classes for forward, inverse transformations, half-hermetian transformations
- Vnl implementations
- FFTW implementations
Remote module updates
New remote modules:
- HASI: High-Throughput Applications for Skeletal Imaging
- ITKGrowCut: segments a 3D image from user-provided foreground and background seeds
Updated modules: AdaptiveDenoising, AnisotropicDiffusionLBR, BSplineGradient, BoneEnhancement, BoneMorphometry, Cuberille, GrowCut, HASI, HigherOrderAccurateGradient, IOFDF, IOScanco, IsotropicWavelets, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, RTK, SimpleITKFilters, SkullStrip, SplitComponents, Strain, TextureFeatures, Thickness3D, TotalVariation, TubeTK, and Ultrasound.
Third party library updates
- expat
- fftw
- gdcm
- googletest
- hdf5
- kwsys
- metaio
- niftilib
- vxl
- zlib migrated to zlib-ng
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 41 authors who contributed since v5.2.0, we would like to specially recognize the new contributors:
Pranjal Sahu, Darren Thompson, Tomoyuki SADAKANE, Oleksandr Zavalistyi, Jose Tascon, Kian Weimer, Michael Kuczynski, Ebrahim Ebrahim, Philip Cook, ambrozicc1, Jason Rudy, josempozo, Andreas Gravgaard Andersen, and Hastings Greer.
What's Next
We anticipate an additional release candidate following community testing before the 5.3.0 release. The following release candidate(s) 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.3rc01
Aaron Bray (1):
Enhancements
- Create an IDE folder structure (#2791) (569f96529e)
Andreas Gravgaard Andersen (4):
Enhancements
- Update expat files (9e337d3a23)
- Update expat CMake config (95ab3c2a3d)
- Update exported symbols for expat (ea54bc77d7)
- re-apply ITK symbol export definitions (0e9afe968a)
Brad King (3):
Enhancements
- Update to newer third-party update script (28bf772844)
- Convert MetaIO import script to use update-third-party.bash (b59cfe70d3)
- Update to newer third-party update script (19155f3996)
Bradley Lowekamp (6):
Enhancements
- Refactor TransformGeometryImageFilter pipeline i/o (2de73abe37)
- Use InPlaceImageFilter for base class, run in-place by default (4379b75c2a)
- Support generic linear Transform (978bc5b9f5)
Bug Fixes
- Use GenerateOutputInformation and pipeline isolation (374940a1c6)
- Fix ImageRegionSplitters with zero sized image (63f4ab7dd8)
- Install ITKInitializeCXXStandard.cmake (98f0f5c5ed)
Bryn Lloyd (2):
Bug Fixes
- pythonic itk should understand pathlib.Path (051ad61e26)
- failing test - only pythonic api knows PathLike paths (0178cf01af)
Dženan Zukić (14):
Enhancements
- use std::enable_if instead of itk::mpl::EnableIf (6b58ee8fce)
- deprecate itk::EnableIf and the header which implements it (9f3a6243bf)
- replace instances of mpl::IsSame by std::is_same (c28930c90f)
- deprecate itk::IsSame and the header which implements it (342845e644)
- replace itkStaticAssert by STL's static_assert (cd43985eba)
- fully cover the logical test cases in MetaProgrammingLibraryTest (dcd7dfd469)
- replace usage of IsBaseOf by std::isbaseof (e90519eeed)
- deprecate mpl::IsBaseOf and the header which implements it (d458298bdd)
- Deprecated mpl::IsConvertible and the header which implements it (2f29c8d2d0)
- switch to zlib-ng official repository (dcaecbe147)
Platform Fixes
- remove a workaround for a bug in Visual Studio 2015 (2f732c0f05)
- fix VS2017 compile error in itkFEMElementStd.h (182d302823)
Style Changes
- niftiinstalledtargets message is gray instead of default red (83a51e21c6)
- remove unnecessary parentheses around logical conditions (e092a3df47)
Hans Johnson (3):
Enhancements
- Update FFTW to 3.3.10 (03338d41c9)
Bug Fixes
- Wrong superclass identified for child class. (e64795cee5)
Style Changes
- Avoid repeating parent aliases (4f309803b9)
Hastings Greer (1):
Enhancements
- Make representation match repr(itkVector) (5210cc23ab)
HastingsGreer (1):
Enhancements
- Add a useful repr for itkMatrix (152ed0028f)
Jason Rudy (1):
Platform Fixes
- Fix Python wrapping of DCMTKImageIO. Closes #2762. (40235a57b4)
Jon Haitz Legarreta Gorroño (25):
Enhancements
- Add further regexes for the issue/PR labeler (bffcf331db)
- Improve KLCompareHistogramImageToImageMetric coverage (77fc43ba1b)
- Improve KLCompareHistogramImageToImageMetric coverage (eec8c4dd2a)
- Increase forward/inverse 1D FFT filters' coverage (89837f6b80)
- Increase code coverage (c4a359cc98)
Platform Fixes
- Fix missing initialization braces warning (c7641fc000)
- Fix missing initialization braces warning (33d1d0d3cc)
- Fix missing initialization braces warning (c19cdcdf4e)
- Fix undeclared identifier error (94dfea440b)
- Mark class destructors with
override(1daf2182f8) - Mark class destructors with
override(7ef2496a26)
Bug Fixes
- Provide missing template parameter to superclass (280c43e6a2)
Style Changes
- Avoid repeating parent aliases in operator classes (babece933d)
- Improve
itk::SimilarityIndexImageFilterclass test file style (ada00b5a00) - Sort the infrastructure regexes in labeler dictionary (8225a45cad)
- Remove unnecessary implementation file manual instantiation guard (36bb69db44)
- Improve the ivar printing in
PrintSelfmethods (286fca2694) - Make
itkLabelImageToLabelMapFilterTeststyle consistent (014c08fc68) - Improve the ivar printing in
PrintSelfmethods (ef5a73456a) - Make
IODCMTKmodule test style consistent (9cf28765c8) - Make
FFTmodule test style consistent (59f16e7094) - Make style consistent in miscellaneous tests (5ce113f95b)
- Prefer = default to explicitly trivial implementations (85e80f1fb0)
- Prefer = default to explicitly trivial implementations (9b7464014d)
- Make CMake flag help text third-party toolkit names consistent (867bf80e16)
KWSys Upstream (1):
Miscellaneous Changes
- KWSys 2021-10-08 (b8c734ba) (bdbe89864e)
Lee Newberg (1):
Bug Fixes
- Correct extra reference count from ObjectFactory
::Create() (d8742f00b8)
Matt McCormick (11):
Enhancements
- Support np.asarray on itk.Matrix (76fa38c13f)
- Add MD5 content links for ITK 5.3RC2 (b218281460)
Documentation Updates
- Recommend GitHub CLI (5e0a11483f)
- Document Linux ARM Python package builds (509a66e176)
- Software Guide link to GeodesicActiveContourShapePriorLevelSetImageFilter (911430821c)
Platform Fixes
- Avoid Superclass type alias GCC compile errors (230be6be26)
- Update CircleCI image to cimg/python:3.9 (b9e51f1c0d)
- Initialize CXX standard in ITKUSEFILE (9233ef9a7d)
- Update KWStyle for macOS unknown -Wdeprecated-copy (0cc6867f37)
Bug Fixes
- Improve dimension-dependent BSplineInterpolationWeightFunction wrapping (61f98c7fff)
- Remove unused FFT1D testing data content links (ae983e8170)
MetaIO Maintainers (2):
Miscellaneous Changes
- MetaIO 2021-06-24 (3f37ad78) (f3adb4ec2e)
- MetaIO 2021-09-28 (5e87f062) (9b85a2fe1a)
Niels Dekker (24):
Enhancements
- Add static
FastEvaluate(u)toBSplineDerivativeKernelFunction(760ae1246c) - Add
RegisterInternalFactoryOnce<TFactory>()to ObjectFactoryBase (9f29a52d6c) - Improve thread-safety of registration of internal IO factories (fb47ffaf62)
Performance Improvements
- Use FixedArray for table within BSplineInterpolationWeightFunction (974540982b)
- Use FastEvaluate in MattesMutualInformationImageToImageMetric + v4 (9961ccd672)
- Remove unnecessary
IdentityTransform::m_ZeroJacobian(eec9fe6705) - Remove protected
itk::Transformdata memberm_DirectionChange(0539a2c4dd)
Platform Fixes
- Copy BSplineInterpolationWeightFunction::SupportSize within lambda (27e4815bb8)
- Workaround VS2017 error C2653/C2886 using-declaration compiler bug (066ddb8859)
- Use trailing return type instead of
typename+ dependent type (c54ad6715a) - Fix KWStyle check errors from cxx files Modules/Core/Common/CMake (809f14958a)
- Declare
IOFactoryRegisterManagerconstructorsexplicit(72782b8f01) - Remove pointer-to-bool conversions from
IOFactoryRegisterManager(49c910a1fe) - Add "const" to
IOFactoryRegisterManagerimplementations (f56cc7ef17) - Fix error: constexpr variable 'ImageIOFactoryRegisterRegisterList' (3ad34a16e8)
Style Changes
- Use modern C++
TRealValueType{ x }syntax (c9b05ab2f9) - Improve const-correctness of protected CompositeTransform members (a4693b5074)
- Do not use itkGetStaticConstMacro in ITK/Modules/Filtering (4408bd4b72)
- Replace itkStaticConstMacro ImageSink, BinaryGeneratorImageFilter (f4e12a0b4b)
- FUTURELEGACYREMOVE itkStaticConstMacro, itkGetStaticConstMacro (bb217ca4a7)
- clang-format AlignEscapedNewlines Left (for macro definitions) (7829ef68ad)
- git blame should ignore "clang-format AlignEscapedNewlines Left" (b3bceaf2b8)
- Use
autofor declaration of variables initialized byNew()(828453d1bf) - Remove redundant overrides of Get and Set member functions (5b155aec50)
Philip Cook (1):
Enhancements
- Test NIFTI I/O with small voxels (6fc6164252)
Sean McBride (6):
Enhancements
- make BSplineWarping2Test run serially, as it's quite slow (0836c79324)
Platform Fixes
- fixed compile errors due to incorrect superclass identification (9e2b8841ef)
- modified several sed invocations to be BSD compatible (b76ff2cfe5)
- fixed various Wunused-but-set-variable warnings from Clang 13 (b85f24600a)
Bug Fixes
- fixed various threading errors in logging code, found by TSan (9599fc6cc0)
Style Changes
- fixed repeated spelling mistake/typo (54731ef592)
Simon Rit (3):
Enhancements
- test exception handling in multithreading (24c3ad91db)
Bug Fixes
- fix exception handling in itk::PoolMultiThreader (ec43890e1a)
- fix installation of the generated file expat_config.h (9b74f7b38b)
Stephen R. Aylward (3):
Enhancements
- Bump TubeTK (6c82281a35)
- Bump TubeTK to v1.0.0 (04a50e4cd6)
- Use v1.0.0 for tag (fc3178008f)
Tom Birdsong (8):
Enhancements
- Add ITKShape as a remote module (fdd52cecc4)
- Add 1D FFT classes from ITKUltrasound (0487709dc6)
Platform Fixes
- Replace itkStaticConstMacro with constexpr in 1D FFT classes (cb25661a12)
Bug Fixes
- Respect UseImageSpacing flag in LaplacianImageFilter (8f7a832b14)
- Fixups for adding 1D FFT classes from ITKUltrasound to ITK (9332084028)
- Replace deprecated macro in 1D FFT classes (2c2a48494c)
Style Changes
- Use itkGetConstMacro for getting 1D FFT direction (d88c631d98)
- Mark FFTW 1D FFT class destructors with
override(eb6001490b)
Ziv Yaniv (1):
Bug Fixes
- VersorTransform did not update offset in SetParameters (fb64eb2a89)
Zlib-ng Upstream (1):
Miscellaneous Changes
- zlib-ng 2021-10-13 (a7b77369) (394fd57aff)
ambrozicc1 (1):
Bug Fixes
- Disable all floating point exceptions (cd3f05eb0b)
josempozo (1):
Style Changes
- itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.hxx (#2722) (52477f353f)
ITK Sphinx Examples Changes Since v5.3rc01
Dženan Zukić (1):
Bug Fixes
- filling the buffer was forgotten in CreateImage (fc491a42)
Hans Johnson (3):
Platform Fixes
Bug Fixes
- Missed setting file from command line. (3930982d)
Jon Haitz Legarreta Gorroño (1):
Enhancements
- Add labeler workflow (3f8d0a2b)
Mathew Seng (1):
Enhancements
- BinaryMathematicalMorphology baseline testing (a91c350b)
ITK Software Guide Changes Since v5.3rc01
Jon Haitz Legarreta Gorroño (1):
Enhancements
- Add labeler workflow (1fca7b9)
Niels Dekker (4):
Platform Fixes
- Fix compile errors from *.cxx files in SoftwareGuide/Cover/Source (ca70c18)
Bug Fixes
- Replace "assigment" with "initialization" in the
autosection (fb9eb1e)
Style Changes
- In code examples, use
autofor variables initialized byNew()(49c2bf0) - Use
autofor declaration of variables initialized byNew()(d7f79dc)
Remote Module Changes Since v5.3rc01
Shape:
TubeTK:
Stephen R. Aylward (9):
Enhancements
- Improve radius estimation and refactor tube-to-image registration framework (#82) (ef72833a)
- Updated ITK to v5.3rc01 throughout github workflow (119f23ca)
- Update Linux wheel to cp39 for github action (575517b7)
- Update version to 1.0 (#89) (cee053ac)
Bug Fixes
- MultiThreader not needed to set number of workers (#84) (d487bc13)
- Spatial Object Registration Optimization (#86) (3911cc78)
- Fix cmd-line args to RegisterSpatialObjectsToImage app (9d052906)
- Create link to oneTBB for linux (b0670cf1)
Miscellaneous Changes
- Fix dashboards (#83) (e6a435c7)
- C++
Published by thewtex over 4 years ago
itk - ITK 5.3 Release Candidate 1: Performance
We are happy to announce the Insight Toolkit (ITK) 5.3 Release Candidate 1 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.3 is a feature release that accelerates performance, provides new segmentation and shape analysis algorithms, and makes over 200 more improvements.
Release Candidate 1 highlights performance improvements. For deformable image registration, b-spline sampling was improved by ~30%. Multi-threading in Python was improved by adding Threading Building Blocks (oneTBB) to the cross-platform binaries, which improves multi-threaded parallelism by ~5-10%. Compression time with zlib, used by common medical imaging file formats like NIFTI, NRRD, or MetaImage, was dramatically reduced through migration to zlib-ng.

| name | description | zlib duration [ms] | zlib C.Ratio | zlib-ng duration [ms] | zlib-ng C.Ratio | zlib-ng Speed-up | zlib-ng C. Ratio improvement | | ----------------- | ---------------- | ---------------- | ------------ | ------------------- | --------------- | ---------------- | ---------------------------- | | wbPET.mha | whole body PET | 672 | 9.7% | 661 | 9.3% | 2% | 4% | | mra.nrrd | MR angiography | 1300 | 49.0% | 1097 | 49.1% | 19% | 0% | | CBCT.nrrd | ConeBeam CT | 11281 | 42.5% | 9486 | 41.3% | 19% | 3% | | input.nii | brain MRI | 4818 | 57.6% | 3353 | 57.4% | 44% | 0% | | scan7.mha | mouse ultrasound | 5939 | 45.4% | 4694 | 46.2% | 27% | -2% | | TBR5_clinpet.nii | label map | 782 | 0.5% | 91 | 0.5% | 759% | -2% | | WhiteMatter.nii | label map | 185 | 5.6% | 76 | 5.8% | 143% | -4% | | Average | | | | | | 145\% | 0\% |
Comparison of image compression with traditional zlib library and the new zlib-ng replacement introduced with ITK 5.3 using the default compression level.
Download
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
Python
- Python packages now include oneTBB support for improved performance.
- Following CPython's deprecation schedule Python 3.6 is no longer supported.
- Initial Python wrapping is available for the Video modules.
TransformToDisplacementFieldis now available in Python.
C++
- C++14 is now required.
- The minimum CMake version required is now 3.16.3.
- New functions:
MakePoint,MakeVector,MakeIndex,MakeSize.
New filter
itk::TransformGeometryImageFilter: applies a rigid transform to anImage's metadata.
Remote module updates
New remote modules:
- HASI: High-Throughput Applications for Skeletal Imaging
- ITKGrowCut: segments a 3D image from user-provided foreground and background seeds
Updated modules: AdaptiveDenoising, AnisotropicDiffusionLBR, BSplineGradient, BoneEnhancement, BoneMorphometry, Cuberille, GrowCut, HASI, HigherOrderAccurateGradient, IOFDF, IOScanco, IsotropicWavelets, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, RTK, SimpleITKFilters, SkullStrip, SplitComponents, Strain, TextureFeatures, Thickness3D, TotalVariation, TubeTK, and Ultrasound.
Third party library updates
- gdcm
- niftilib
- zlib migrated to zlib-ng
- hdf5
- kwsys
- metaio
- googletest
- vxl
Congratulations
Congratulations and thank you to everyone who contributed to this release.
Of the 32 authors who contributed since v5.2.0, we would like to specially recognize the new contributors:
Pranjal Sahu, Darren Thompson, Tomoyuki SADAKANE, Oleksandr Zavalistyi, Jose Tascon, Kian Weimer, Michael Kuczynski, Ebrahim Ebrahim, and Philip Cook.
What's Next
We anticipate an additional release candidate following community testing before the 5.3.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.2.0
Brad T. Moore (1):
Bug Fixes
- fixed reference leak when SWIG passing tuples or lists (95ee15a07e)
Bradley Lowekamp (12):
Enhancements
- Add additional testing for zero sized label object (bc95f51d9f)
- StatisticsLabelMapFilter use improve integer histogram (daa2a20f4b)
- Rename ResampleInPlaceImage to TransformGeometryImageFilter (9827449b4b)
Platform Fixes
- Address braces around initializer warning. (dae904e3d9)
- Use C99 int types over libtiff's (f98f6a8920)
Bug Fixes
- Register ComposeScaleSkewVersor3DTransform transform (8c7784d183)
- Fix SpatialOrientationAdapter::FromDirectionCosines (8801247049)
- Add tests demonstration current behavior of histogram based median (c6da8be54c)
- Fix StatisticsLabelMap median for even number of pixels (208d7e32d7)
- Fix HDF5 installation with cmake targets (4ecd711eab)
- Propagate usage of HDF5 findpackage NOMODULE arg to install (f83a0ba9f4)
- Add tests demonstration current behavior of histogram based median (55d0fdfafa)
- Fix StatisticsLabelMap median for even number of pixels (3abace1991)
- Correct stop condition description (362dd4c7cf)
Dave Chen (1):
Enhancements
- add support for direction in VTK image (80bcb13d9b)
Dženan Zukić (50):
Enhancements
- Add ResampleInPlaceImageFilter (53f8473c2d)
- Update style and use the test of ResampleInPlaceImageFilter (e08395a7c0)
- Add Transform::ApplyToImageMetadata method (510586750a)
- Add support for long long pixel types to ImageDuplicator wrapping (18ae7502f0)
- update remote modules using the maintenance script (c6f4685638)
- Python wrapping reads VLV pixel type correctly (231ecb7d3d)
- add HASI remote module (2798c2a85f)
- Add GrowCut remote module (22524c5f71)
- Remove WriteCompilerDetectionHeader (d3e151f09d)
- Port GTest update script to update-third-party.bash (9661691ded)
- Update GTest branch name to
masterin order to "Live at Head" (001cd1440b) - fix Python multi-processing hang on unix (597a6dfe6f)
- Python wrapping reads VLV pixel type correctly (4ae3749a61)
- Add support for long long pixel types to ImageDuplicator wrapping (278ac68e40)
- remove HDF5 customization to work with older versions of CMake (83bff5e537)
- fix Windows Bitmap (BMP) channel order ABGR -> BGRA (29e60cdeca)
- respect initial position in itkExhaustiveOptimizerv4 (7777908fe8)
- Update remote modules using the script (1b16b76599)
- Switch to modern maintained zlib-ng fork of zlib (f352883354)
- Temporarily use a fork of zlib-ng until outstanding PRs are merged (ac071fa0f2)
Documentation Updates
- Fix broken documentation in ResampleInPlaceImageFilter (047fa6934a)
- Fix usage information in ImageReadExtractWrite example (c901eff21c)
- document that 0 pixel count causes every chunk to report progress (aa36784239)
- improve commands for updating mangling symbols on Windows for HDF5 (af1c73cad5)
Platform Fixes
- Tests depend on GTest (e4a76a888b)
- Use non-deprecated ITKDISALLOWCOPYANDMOVE in ResampleInPlace (6500affdb5)
- Update KWStyle to fix compile warnings on Ubuntu 20.04 (32501b4230)
- Restore generation of static runtime library on MSVC (dbb34f96cc)
- an explicit cast is required to convert itksys::Status into bool (b8ea8a11d4)
- use WRAPITKSCALAR instead of WRAPITKREAL in mesh filters (4009370c61)
- Update KWStyle's version to avoid compile errors with C++23 (769981b974)
- test fails to compile when legacy support is removed (041261e563)
- directly use [[deprecated]] in itkLegacyMacro - C++14 allows that (196a4c8a69)
- add ITK_ prefix in itkStochasticFractalDimensionImageFilterTest (dab652d279)
- Update KWStyle's version to avoid compile errors with C++23 (3d85fafc77)
- use WRAPITKSCALAR instead of WRAPITKREAL in mesh filters (68944d52d7)
- add Windows symbols to the mangling list (97105c3ae1)
- add Linux and MacOS symbols to the mangling list (21cb724c2c)
- a method should not return an integer instead of an std::string (f9f2ea833a)
- update KWStyle (so it reports its version number) (581c4445ca)
- modify zlib-ng to make it build within ITK (3bcc933052)
Bug Fixes
- Fix wrong argument count comparison in ResampleImageFilter example (a652269b21)
- add support for long long pixel types in PyBuffer (ae7079c4fd)
Style Changes
- remove pixel count parameter which is no longer used (791534a99e)
- enable git blame to use ignoreRevsFile by default (ce4fd8fe21)
- remove uninformative comments in BMPImageIO (b6ccca64a6)
- move initialization of iVars to itkExhaustiveOptimizerv4.h (9b2000ac21)
Miscellaneous Changes
- Revert "COMP: Use CMake 3.18.4 in macOS CI builds" (ae01547bec)
Ebrahim Ebrahim (3):
Enhancements
- Split Hausdorff distance test (ab15f0a343)
- Simplify a directed Hausdorff distance test (3a63e79d17)
Style Changes
- Make job piece naming consistent (03024da662)
GDCM Upstream (2):
Miscellaneous Changes
- GDCM 2021-06-07 (4404b770) (aae9fdc684)
- GDCM 2021-06-07 (4404b770) (47e97596b9)
Gabriel A. Devenyi (3):
Enhancements
- Ignore more bulk changes for git blame (6b5578ceb1)
- Prepare for update to NIFTILIB3.0.1 (68221fdd30)
- Cleanup in preparation for zlib-ng (9bc41df7c7)
GoogleTest Upstream (3):
Miscellaneous Changes
- GoogleTest 2019-10-03 (703bd9ca) (d685cc3ba5)
- GoogleTest 2021-07-09 (8d51ffdf) (1b539548fc)
- GoogleTest 2021-08-06 (aefb4546) (b73f9c3f95)
HDF5 Maintainers (1):
Miscellaneous Changes
- HDF5 2020-10-16 (db30c2da) (044057f763)
Hans Johnson (6):
Enhancements
- Run unexecuted NiftiImageIOTest12 (5b54be0b78)
- Use language features directly without macro (2e8e4df315)
Platform Fixes
- Fix compilation for ITKFUTURELEGACY=ON (e88e234de1)
Bug Fixes
- Missed wrapping of itkResampleInPlaceImageFilter (71e04b4fba)
Style Changes
- Improve attribution by ignoring bulk formatting (3a969e556a)
- utizes -> utilizes spelling fix (97945bc332)
Jon Haitz Legarreta Gorroño (23):
Enhancements
- Improve
itk::ResampleInPlaceImageFiltercoverage (897351edfd) - Add Python wrapping for
itk::ResampleInPlaceImageFilter(3d492cfb85) - Bump labeler action version (13b709360d)
- Add further regexes to PR labeler config file (3bd6b6c715)
- Add missing getter method to
itk::GaussianDerivativeOperatorivar (d8856ebb1a) - Add RTTI information to
itk::GaussianDerivativeOperator(3a7bd3a328) - Make
PixelTypealias bepublicinitk::AnnulusOperator(8aacef9f1d) - Add missing getter method to
itk::LaplacianOperatorivar (d94d9ed8c8) - Add RTTI information to
Commonoperator classes (3f07584abd) - Increase
Commonoperators' code coverage (71bb6a99fe) - Increase
Reviewmodule classes' code coverage (230d319fde)
Documentation Updates
- Improve
itk::ResampleInPlaceImageFilterdocumentation (6fecdb5a57) - Improve documentation in
Commonoperator classes (fc822d75f7) - Document members in header methods (67632ac0dc)
- Fix enum class name in documentation (b4cb2d50cf)
Bug Fixes
- Fix labeler action file regexes (#2516) (21793c61b1)
- Fix Python wrapping labeler action regex (0c047d580d)
- Initialize member in
itk::AttributeLabelObject(ce012968d1)
Style Changes
- Improve style in miscellaneous files (68d73baecb)
- Make test style more consistent (8132e06fe0)
- Prefer aliasing template pixel type in
commonoperator classes (9f31b6a1c3) - Prefer implicitly deriving array size in test (30e6e2b6c7)
- Increase tests style consistency (16cadc05d0)
KWSys Upstream (1):
Miscellaneous Changes
- KWSys 2021-07-08 (d5a1dc68) (12acc786e8)
Lee Newberg (9):
Enhancements
- Propagate StatisticsLabelMapFilter's default NumberOfBins (bb54bad693)
- Wrap itkAdaptiveHistogramEqualizationImageFilter for Python. (974c63db99)
Platform Fixes
- Change ::uint32t to std::uint32t, uint32 to uint32_t, etc. (12f7fede22)
- Add ITKTEMPLATEEXPORT to some class declarations. (5efe8f3359)
Bug Fixes
- Ellipsis is not iterable (ca0690069a)
- Add run-time type information to FFT filter base classes (c693dbc830)
Style Changes
- Apply "black -l 88" to format Python (fbbc7aa38c)
- Add pyproject.toml to set default configuration for black Python format (935237cdf1)
- Add recent Python-formatting commit's hash to .git-blame-ignore-revs. (4705a3e692)
Matt McCormick (40):
Enhancements
- Bump ITK version to 5.3.0 (0eacf4e96e)
- Update CastXML source builds to v0.4.3, LLVM 11.1.0 (67fdd3067e)
- Add CastXML binary for macOS arm64 (fde7fa6ce8)
- Add Linux arm64 CastXML binaries (42aa3be3e4)
- Updated CI cached testing ExternalData to 5.2.0 (356710288b)
- Required VTK 8 or newer (9f88ad2007)
- Bump the ITK CMake version to 5.1.0 (9f3fc5dd12)
- Content link synchronization for ITK 5.2.1 (8be208ee1f)
- Check for C++ standard after defaults applied (74fbb88ec4)
- Content link synchronization for ITK 5.3 RC 1 (6dd08e6a55)
Documentation Updates
- Add a pointer to good first issues (ca39327b60)
- Remove indication NarrowBandCurvesLevelSetImageFilter not wrapped (f7e67070d5)
- Add Professional Services section to the README (88085c0177)
- Improve Apple Clang error to include C++14 requirement (6e3d31d138)
Platform Fixes
- Backport CastXML arm64 Eigen support (a3996fe99a)
- Do not add IPO to Python wrapping if not supported (3d2e898400)
- Only use np.float128 when available (1237a57a3d)
- Make floating point exceptions a no-op with MUSL, Linux, ARMv8 (0afa3f06a1)
- Replace np.bool with np.bool8 (5c5e679675)
- Require Python 3.7 or newer (dfa43f3837)
- Use Python 3.9 in macOS.Python CI build (a654bc0317)
- Remove MultiThreaderBase pixelCount (e086988337)
- Use numpy==1.20.3 for CI testing (b667ce4d25)
- Provide default values for floating point macros (26b2a2fb4d)
- Do not enable remote module examples when building Doxygen docs (c754b5d010)
- Use mallinfo2 when available (54fe14a568)
- Revert "COMP: Use numpy==1.20.3 for CI testing" (04fd61e3e0)
- Add missing template exports to ResampleInPlace,N4Bias,Py ImageFilters (cafb5ff591)
- Add missing template export macro to SLICImageFilter (c3e40927f8)
- Bump KWStyle to address Boost warnings with GCC 11.2 (a2aab1bb9c)
Bug Fixes
- Add vnlvectorfromarray to extras _all__ (3f8b14be54)
- Do not create global multiprocessing RLock (cfdb5023a8)
- Support double colons in Changelog commit summary (62804d09e9)
- Use consistent ITKUSECLANG_FORMAT variable name (8ecdebad1e)
- Ignore ImageToVTKImageFilter in VerifyGetOutputAPIConsistency test (b085d40c02)
- Initialize C++ standard for remote modules (9ef180e254)
- Remove slicer.kitware.com as a content link server (453fc6be24)
- Improve dimension-dependent BSplineInterpolationWeightFunction wrapping (61f98c7fff)
Style Changes
- Apply black to AuthorsChangesSince.py script (7504f6e45c)
- Use CLANG_FORMAT in CMake variable names (90398b4aad)
MetaIO Maintainers (1):
Miscellaneous Changes
- MetaIO 2021-06-24 (3f37ad78) (8131832530)
NIFTI Upstream (1):
Miscellaneous Changes
- nifti 2020-08-07 (96b9954f) (9c2c9fa9b8)
Niels Dekker (49):
Enhancements
- Overload
PhasedArray3DSpecialCoordinatesImageTransform functions (3d7b84e6ed) - Add explicit
itk::Vector(const std::array &)constructor (4ce3383a46) - Add operator==, operator!= to MetaDataObject and MetaDataDictionary (694bbc0a1f)
- Upgrade ITK from C++11 to C++14 (daec0fdd70)
- Add numbers to the three
itkPyBufferMemoryLeakTestprint messages (8d2de7122a) - Add
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION, definingoperator!=(5efdd93749) - Add
NthElementPixelAccessor::operator==(c97191e6f6) - Add
ITK_EXPERIMENTAL_CXX20_REWRITTEN_UNEQUAL_OPERATORmacro (2e5ffc8bd4) - Add MakePoint, MakeVector, MakeIndex, MakeSize function templates (8aed68490b)
- Declare Filled and operator[] of Index, Size, FixedArray constexpr (829bb066a0)
- Replace GetNumberOfWeights() by static constexpr
NumberOfWeights(34f3db8d8a) - Replace BSpline GetSupportSize() by static constexpr
SupportSize(c178324e39) - Add static member function
BSplineKernelFunction::FastEvaluate(u)(99f04d7df4)
Performance Improvements
- Make
ResampleImageFilter::LinearThreadedGenerateDatafaster (c64a58d42a) - Use FixedArray for BSplineInterpolationWeightFunction OutputType (9bf745bda5)
- Use FixedArray for BSplineBaseTransform ParameterIndexArrayType (bc7c5dff2d)
- Remove BSplineInterpolationWeightFunction Kernel, use FastEvaluate (c23944ba54)
Platform Fixes
- Require compiler versions that support C++14 (4e812d6074)
- Adjust CMAKECXX...COMPILEOPTION for _castxmlcc_flags to C++14 (577ba4380a)
- Support non-EqualityComparable pixels Image template instantiation (a293c03b46)
- Require Apple Clang 7.0.2 as minimum in itkCompilerChecks.cmake (ae4c0ab756)
- Add missing
#include <iostream>to Deprecated module test (2a7f5ed199) - Remove comparison to FixedArray in MatrixOffsetTransformBase GTest (feb845afb1)
Bug Fixes
- Avoid crash TranslationTransform::SetParameters when too few params (deb0af73c0)
- Remove unused virtual operator!=, operator== from ColormapFunction (384fc45b0c)
Similarity3DTransform::SetScaleshould recomputem_Offset(53bb498ba4)Similarity3DTransform::SetScaleshould recomputem_Offset(dd893faf8a)- BSplineInterpolationWeightFunction should not print NumberOfWeights (8dba2bdefe)
Style Changes
- Replace postfix by prefix increment in
forloops in Core/Common (f81578bbb6) - Replace postfix by prefix increment in
forloops in ITK/Modules (971aef211c) - Replace postfix by prefix increment in
forloops in Examples (878fa6f435) - Matrix constructors vnlmatrix/vnlmatrix_fixed explicit/implicit (7f5f3360a2)
- Combine code
MatrixOffsetTransformBaseconstructors (e6f5f96975) - Remove obsolete FixedArray::operator[] workaround for Visual C++ (fc100111c4)
- Replace
newby C++14std::make_unique(22bce725ae) - Use C++14
template aliases instead of nested types (0f139ccfff) - Use C++14
make_reverse_iteratorinsideCoLexicographicCompare(4ed1cf4035) - C++14 auto return type for ConnectedImageNeighborhoodShapeOffsets (6ccf7bc3e0)
- Use
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTIONin Core/Common (0ad6ef1b55) - Use
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTIONin Modules/Core (27f26685cc) - ITKUNEQUALOPERATORMEMBERFUNCTION when
==just returns true (f820eef7a5) - Use ITKUNEQUALOPERATORMEMBERFUNCTION in Modules/Filtering (647efb8507)
- Use ITKUNEQUALOPERATORMEMBERFUNCTION in Numerics, ..., Video (29da972077)
- Make operator!= of UnsharpMaskingFunctor and SliceIterator const (be45faec96)
- Add TanHelper::operator== + ITKUNEQUALOPERATORMEMBERFUNCTION (16607aa7b7)
- Add default member initializer
truetom_LetArrayManageMemory(67d4cf7cfe) - Use MakePoint, MakeVector, MakeIndex, MakeSize from itk namespace (5ac7407986)
- Remove
Makefunctions from itk::GTest::TypedefsAndConstructors (558ea67a35) - TransformInitializers constructors = default; default-member-init (d2548ce321)
Oleksandr Zavalistyi (1):
Bug Fixes
- Fix initializing FixedImageMarginalPDF with garbage (0de9cfe31d)
Pablo Hernandez-Cerdan (2):
Enhancements
- Increase hook-max-size for next GDCM update (e25fbbffc2)
Platform Fixes
- CastXML, ITKVtkGlue, include only when property exists (0c31aa688e)
Philip Cook (1):
Bug Fixes
- Fix matrix check rejecting NIFTI sform for small voxels (6278c4171f)
Samuel Gerber (1):
Enhancements
- Adapt LBFGS2Optimizerv4 to inherit from GradientDescentOptimizerV4 (c34fb54e10)
Sean McBride (3):
Enhancements
- Updated HDF5 update script's HDF5 git tag from 1.10.6 to 1.10.7 (15f1e33e8c)
- Made a few slow tests run serially, so they won't timeout (d794791c7e)
Platform Fixes
- Increased min cmake from 3.10.2 to 3.16.3 (0c3b8cbf9b)
Stephen R. Aylward (8):
Enhancements
- Bump TubeTK to TubeTK 0.9.0 rc1 (b8d95b7cad)
- Bump TubeTK to version the fixes linux CI (e230e6d322)
- Updated SpatialObject wrapping to support CONST_POINTER (28cb8507fd)
Documentation Updates
- Fix description of SpatialObjectToImage registration (11c2977314)
Platform Fixes
- Update SpatialObjects to correct const-ness (903f7c152e)
Bug Fixes
- SpatialObject writes object color (3bf34f6cc5)
- TubeSpatialObject missing CopyInformation (3060a6d1e5)
- TubeSpatialObject didn't preserver Artery flag (2c3d27c9ee)
Tabish Syed (1):
Bug Fixes
- Call Specialized Curvature Computation for 3D (faccaa9681)
Thompson, Darren (IM&T, Clayton) (2):
Platform Fixes
- Removed constructor template parameters from the VNL library (103ffa4372)
- Removed constructor template parameters from itkSmapsFileParser (867dda0585)
Tom Birdsong (8):
Enhancements
- Add ITKVideoCore Python wrapping (b31c5d4b73)
- Add
floatwrappings for itkSymmetricSecondRankTensor (11fbc6ecce) - Add wrappings for video IO (ad6e718858)
- Add ImageToVideoFilter and accompanying wrappings (546ba05c37)
- Add vector image support to VideoStream and ImageToVideoFilter (9125fca8f8)
- Add
floatwrappings for itkSymmetricSecondRankTensor (5378dae447) - Wrap TransformToDisplacementField for Python (f87c9bdaee)
Bug Fixes
- Resolve warnings with MakeIndex and MakePoint (7f1469270a)
VXL Maintainers (2):
Miscellaneous Changes
- VXL 2021-07-15 (d8888fd5) (afa97fa43b)
- VXL 2021-07-19 (22f874db) (82e8027330)
Zlib-ng Upstream (1):
Miscellaneous Changes
- zlib-ng 2021-09-07 (547e8bc1) (f0790950ed)
ITK Sphinx Examples Changes Since v5.2.0
Brad T. Moore (2):
Enhancements
- Added ImageMomentsCalculator test and Jupyter example. (25716277)
- Add CalculateImageMoments and fix cookiecutter and other issues. (22f432f6)
Dženan Zukić (2):
Enhancements
- Update build-test-documentation to use v5.2.0 (59473cb3)
Style Changes
- Switch to the new code order: Python before C++ (5db4da31)
Jose Tascon (5):
Style Changes
- Use itk::WriteImage in ScaleAnImage (fe75959c)
- Use itk::ReadImage and itk::WriteImage in src/Core examples (9ab36963)
- Use itk::ReadImage and itk::WriteImage in src/Filtering examples (6fa7e3c9)
- Use itk::ReadImage and itk::WriteImage in src/ Reg., Seg., Num. (7ab88a63)
- Use itk::ReadImage and itk::WriteImage in remaining modules (367b6b56)
Kian Weimer (12):
Enhancements
- Added ThinImage Python script (c1ca53f6)
- Added WriteAnImage Python script (ce855854)
- Added RescaleIntensity Python script (62407af0)
- Added ApplyKernelToEveryPixel Python script (473c1c27)
- Added missing Python licensing files (8d0cf11e)
- Added ReadAnImage Python script (35ca99d7)
- Added CombineTwoImagesWithCheckerBoardPattern Python script (1a6ddb3f)
- Added CreateAListOfFileNames Python script (6918c50b)
- Added ComputeInverseFFTOfImage Python script (1c1318bc)
- Added SobelEdgeDetectionImageFilter Python script (5e4adf5c)
- Added LaplacianRecursiveGaussianImageFilter Python script (38987907)
- Modified most Python examples to make use of
argparse. (29857829)
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)
Bug Fixes
- Fix continuous integration failure of ResampleAnImage (66b8d2f0)
Style Changes
- Reformat Jupyter labs using jblack. (6fb0e9c8)
Matt McCormick (15):
Enhancements
- Update ITK to v5.2.0 (5377df13)
- Simplify ResampleAnImage output parameters (e148246a)
- Add Python version of RegisterImageToAnotherUsingLandmarks (5f341060)
Documentation Updates
- Install titlecase package for CreateNewExample.py script (7489cce3)
- Update example Download link instructions (c17864d3)
- Update build instructions for example .zip files (249b93e9)
Platform Fixes
- Make the Sphinx linkcheck optional (7eae01a1)
Bug Fixes
- 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
- Only output downloadable .zip archives for examples (567b01c6)
Stephen Aylward (4):
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
- Style: Fix remaining lint issues (94d58947)
ITK Software Guide Changes Since v5.2.0
Jon Haitz Legarreta Gorroño (3):
Documentation Updates
- Adapt enum section to strongly typed enums (088a010)
- Add
long longspecifier C++ and mangling types (cf51385)
Style Changes
- Use
itkNameOfTestExecutableMacromacro for test names (e116243)
Matt McCormick (3):
Enhancements
Documentation Updates
- Correct signed long mangling and C++ variables (1481a04)
Niels Dekker (2):
Enhancements
- Update compiler versions for C++14 (80b8f89)
- Update Xcode Apple Clang compiler for nightly dashboard (f65f786)
Remote Module Changes Since v5.2.0
AdaptiveDenoising:
Hans Johnson (1):
Platform Fixes
- Replace SetUseImageSpacingOn() with SetUseImageSpacing(true) (a31fc7d)
AnisotropicDiffusionLBR:
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post2 (690cfa5)
BSplineGradient:
Dženan Zukić (1):
Enhancements
- Update CI to 5.2 (85e38ff)
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post2 (a93687b)
Tom Birdsong (1):
Enhancements
- Update Python CI for ITK v5.2.0.post2 (11e7430)
BoneEnhancement:
Dženan Zukić (7):
Enhancements
- update CI to 5.2.0 (b21721f)
Platform Fixes
- Tests depend on GTest (1b8f2b4)
Bug Fixes
- disable unit tests which fail on CI but not locally (0faa86d)
Style Changes
- update style in the reverted code (91217df)
Miscellaneous Changes
- Revert "ENH: Move itkHessianGaussianImageFilterTest to GTest" (5b5e9d5)
- Revert "ENH: Move itkMaximumAbsoluteValueImageFilterTest to GTest" (8f95864)
- Revert "ENH: Move itkMultiScaleHessianEnhancementImageFilterStaticMethodsTest to GTest" (0dd70c5)
Mathew Seng (1):
Platform Fixes
- updating CI to ITKv5.2RC3+ (ece9d47)
Tom Birdsong (1):
Enhancements
- Bump for ITK Python v5.2.0.post2 (a36ab2f)
BoneMorphometry:
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post2 (10d3eb2)
Cuberille:
Matt McCormick (1):
Enhancements
- Update CI for ITK v5.2.0 (023878d)
GrowCut:
Dženan Zukić (6):
Enhancements
- use unsigned char as label type in wrapping (debd1ac)
- update CI to 5.2.0.post3 (bbc9938)
- big refactoring to follow Slicer's version (777ba0e)
- Minor fixes to the build system (eadab30)
- bump version number to 0.1.2 (713c468)
Bug Fixes
- re-introduce region padding radius (e6e978a)
HASI:
HigherOrderAccurateGradient:
Dženan Zukić (1):
Enhancements
- Update CI to 5.2.0 (c816e46)
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post2 (03d1753)
Tom Birdsong (1):
Enhancements
- Update Python CI for ITK v5.2.0.post2 (64ff5e5)
IOFDF:
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post3 (90e0ad6)
IOScanco:
Dženan Zukić (5):
Enhancements
- add support for writing metadata (71c2511)
- Compare the image with updated metadata (80ea796)
- Avoid re-scaling when image is converted to AIM format (348ca2e)
Bug Fixes
- fix Windows packages CI path (505976e)
Style Changes
- initialize the header fields in the order of declaration (69e6de6)
Matt McCormick (11):
Enhancements
- Update ITK to 5.2.0 (3c5fbe0)
- Bump Python package version to 0.9.1 (c02636b)
- Add notebook CI testing configuration (4854428)
- Update Binder requirements (28dcd99)
- Update Binder itk-ioscanco requirement to 0.9.1 (84e570b)
Documentation Updates
- Add basic usage documentation to the README (8b14461)
- Update basic notebook (cabe055)
- Add Convert Scanco Volumes To Open Standard Formats example (e416a5b)
- Remove Nifti from the formats notebook (45f7c3a)
Bug Fixes
- Update itk package requirement to 5.2.0 (957ac6d)
Style Changes
- Move binder/ to .binder/ (fb7c12f)
Michael Kuczynski (1):
Enhancements
- Apply rescaling to compressed images (#56) (e585671)
IsotropicWavelets:
Dženan Zukić (3):
Enhancements
- Getting an up to date CI configuration v5.2.0.post3 (f33b5e9)
- enable building this module's examples as part of ITK's examples (9d9ce5c)
- build examples as part of CI testing (2549b15)
Pablo Hernandez-Cerdan (5):
Enhancements
- Add .editorconfig from ITKModuleTemplate (07eea36)
- Set RieszRotationMatrix ValueType to std::complex (31c4d79)
- Add python wrappings for expand with zeros and decimate (9469396)
- Python, wrap utilities free functions intro a struct (3330ffe)
Miscellaneous Changes
- Style: Rename itkStructureTensor to itkStructureTensorImageFilter (1c28ed0)
pranjal.sahu@kitware.com (3):
Miscellaneous Changes
- Adding the executables for two additional sample in CMake. One small function change as well. (96b3a8e)
- Correct way of setting the boundary condition (67afc40)
- Adding the header for itkConstantBoundaryCondition (eed32b8)
MinimalPathExtraction:
Matt McCormick (1):
Enhancements
- Update CI for ITK 5.2.0 (2dc7ed8)
Montage:
Dženan Zukić (1):
Enhancements
- Update CI to 5.2.0 (e2039b9)
MorphologicalContourInterpolation:
Dženan Zukić (1):
Enhancements
- Update CI to v5.2.0.post3 (44854a4)
RTK:
Antoine Robert (2):
Bug Fixes
- Fix attenuation correction of zeng projectors (0b21f74f)
- Fix test for attenuated joseph forward projector (d13d60b8)
Lucas Gandel (1):
Platform Fixes
- Fix hardcoded path in RTK install (42f0c5fc)
Simon Rit (16):
Enhancements
- Update CI to ITK v5.2.0 (b65c6e3a)
- wrap attenuated versions of Joseph forward and back projectors (1d0bef5b)
- Update GitHub Actions to checkout v2 (a7158ef1)
- Build for itk-5.2.0.post3 (0f93554a)
- allow displaced detector weighting for 4D sinogram (1c7b6656)
Platform Fixes
- Install newer Python for cookiecutter testing (fe0d1f3d)
- remove warnings due to unused type and lambda capture (835d4e3b)
- remove warnings due to the use of deprecated CUDA declarations (184d0cad)
- fix CMake CMP0106 witk RTKBUILDDOXYGEN (6399e12a)
- do not set C++ standard manually, use cmake property (f66e98ac)
- clean and modernize CMake handling of CUDA compilation (642ad254)
- add missing depedency of lib RTK to lib ITKCudaCommon (4d288a55)
Bug Fixes
- Do use use shallow version of checkout for clang format linting (fea2a1c6)
- unsigned int is already wrapped by ITK (9401a38c)
- fix joseph forward and backprojector with attenuation (581f3b3f)
- fix wrapping of Joseph attenuated forward and backprojection (0a77b542)
Tomoyuki SADAKANE (1):
Platform Fixes
- Fix compilation error with VS 2019 (16.9.5) and CUDA 11.1 (3bd80190)
SimpleITKFilters:
Bradley Lowekamp (8):
Miscellaneous Changes
- Update checkout version 2 (83cc86d)
- Update to ITK tag v5.20 (9450615)
- Update Ubuntu 20.04 (4cd0a63)
- Update used python version in setup (8a7586c)
- Update setup.py version (2ff7b07)
- Add test case for report matrix with an INVALID orientation (0a6d1bf)
- Update to greedy algorithm for determining closes orientation (a728f6d)
- Fix CI to use Ubuntu 18.04 (432d457)
Mathew Seng (2):
Platform Fixes
- Update GitHub Actions from ITKModuleTemplate (6917415)
Bug Fixes
- Incorrect expectations for tests (be21024)
SkullStrip:
Matt McCormick (2):
Enhancements
- Update package for itk-5.2.0.post2 (51fc9be)
Documentation Updates
- Add PyPI, License badges (fcb84ce)
SplitComponents:
Dženan Zukić (1):
Enhancements
- Update CI to 5.2.0 (ff8b58d)
Matt McCormick (1):
Enhancements
- Update Python package for itk-5.2.0.post2 (faea2f4)
Tom Birdsong (1):
Enhancements
- Update Python CI for ITK v5.2.0.post2 (58bde35)
Strain:
Dženan Zukić (2):
Enhancements
Matt McCormick (1):
Enhancements
- Update package version for itk-5.2.0.post2 (892c54d)
Tom Birdsong (1):
Enhancements
- Update Python CI for ITK v5.2.0.post2 (b09e3bd)
TextureFeatures:
Matt McCormick (2):
Enhancements
Thickness3D:
Dženan Zukić (1):
Enhancements
- Update package versions to v5.2.0.post3 (4f29b73)
TotalVariation:
Matt McCormick (1):
Enhancements
- Update package for itk-5.2.0.post2 (9ac40a6)
TubeTK:
Matt McCormick (1):
Enhancements
- Update for ITK 5.2.0.post2 (#56) (9a93871e)
Pablo Hernandez-Cerdan (1):
Documentation Updates
- Fix links and small typo in README (#53) (ce024a88)
Stephen Aylward (6):
Enhancements
- Make Applications available as examples. (66c60ce4)
- Update ConvertTubes demos (3eb57bc9)
- Sphinx documentation for read-the-docs (7b3a0a35)
- Add requirements.txt file for sphinx docs (5288d615)
Bug Fixes
- Update path in AtlasBuilder app (6cba3508)
- Fix landmark registration to use versorrigid3dtransform (8e236e38)
Stephen R. Aylward (17):
Enhancements
- Tube path interpolation uses stepsize (max dist between interp pnts) (#61) (f5524ca3)
- Update README.md to point to proper license file (fe0d22e9)
- Add sphinxautodoctypehints (e0cecfa0)
- require sphinxrtdtheme (cf4e4fc5)
- Upgrade readthedocs to use cpython3 (#73) (59622ce2)
- Add apt-get update to remove stale repos (1ad63f72)
- Reduce list in requirements.txt to essential top-level (ca5f67d9)
- numpy removed from setup.py (b340c719)
Platform Fixes
- Removed shadowed typedefs from tubeTubeMathFilters.hxx (#60) (0abd1cfe)
Bug Fixes
- SlicerExecutionModel requires ITK_DIR (#59) (a3853605)
- SEM requires path for ITK_DIR for linux wheel building (#65) (f8cae3ae)
Style Changes
- Remove year from copyright notice (3be3736a)
Miscellaneous Changes
- Itk5.2.0 vtk2 (#55) (9fd4c12d)
- Convert tubes to tube tree baseline (#62) (dd6d95a5)
- v0.9.0 (#67) (61f1156b)
- Update Readme.md (48ac0028)
- Update Readme.md (4a80fc80)
Ultrasound:
Dženan Zukić (8):
Enhancements
- update CI to ITK v5.2.0 (260de1d)
- replace VectorResampleIdentityNeumann by ordinary Resample filter (343afab)
- remove ResampleIdentityNeumannImageFilter (7de39b3)
- Example notebook for Spectral generation and visualization (2e4918c)
- add symbolic link to requirements.txt in .binder directory (29937ee)
- Set a longer cell execution timeout (8ee4f97)
- Cover all (Continuous)Index<->PhysicalPoint conversion signatures (d5d9f41)
Platform Fixes
- Fix CI. Closes #143. (8c2a21f)
Lee Newberg (1):
Style Changes
- Add semicolons at end of macro invocations. (1f3a06f)
Matt McCormick (4):
Enhancements
- Update Python package builds to v5.2.0.post1 (bde69e7)
- Update package version to 0.4.0 (ca5342c)
- Bump Python package builds for itk-v5.2.0.post3 (7a796b0)
Bug Fixes
- Update Binder requirement to itk-ultrasound>=0.3.2 (b4b30e0)
Tom Birdsong (7):
Enhancements
- Add wrapping files for forward and inverse 1D FFT filter (581e97d)
- Add analytic filter wrappings (5429066)
- Add example for generating power spectral distribution plot (3c8be0a)
- Add descriptive comments to spectra filter files (067677e)
- Add example notebook for BMode image generation steps (a664fa3)
- Fix frequency axis in PlotPowerSpectra example notebook (2f0a6f0)
- Add SRAD denoising filter with data and testing (e1bcd9b)
- C++
Published by thewtex over 4 years ago
itk - ITK 5.2.1
ITK 5.2.1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.2.1! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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
ITK 5.2.1 is a patch release that makes improvements to issues found in the 5.2.0 release. For more details on ITK 5.2, see the ITK 5.2.0 Release Notes.
This release addresses various issues like improved combination of itk's native thread pool with Python's multiprocessing module in contexts like MONAI and Dask. Other improvements include more robust label map statistic computation, expanded Python support for additional datatypes, fixes for tube spatial objects when processing with the TubeTK module, support for GCC 11, and compatibility with the C++20 and C++23 standards. A detailed list can be found in the changelog below.
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.3, the next feature release, is anticipated in September.
Enjoy ITK!
ITK Changes Since v5.2.0
Bradley Lowekamp (7):
Enhancements
- StatisticsLabelMapFilter use improve integer histogram (daa2a20f4b)
- Add additional testing for zero sized label object (1fba0db29b)
Bug Fixes
- Register ComposeScaleSkewVersor3DTransform transform (8c7784d183)
- Add tests demonstration current behavior of histogram based median (55d0fdfafa)
- Fix StatisticsLabelMap median for even number of pixels (3abace1991)
- Fix HDF5 installation with cmake targets (4ecd711eab)
- Propagate usage of HDF5 findpackage NOMODULE arg to install (f83a0ba9f4)
Dženan Zukić (9):
Enhancements
- fix Python multi-processing hang on unix (2370517505)
- Python wrapping reads VLV pixel type correctly (4ae3749a61)
- Add support for long long pixel types to ImageDuplicator wrapping (278ac68e40)
Platform Fixes
- Update KWStyle to fix compile warnings on Ubuntu 20.04 (32501b4230)
- Restore generation of static runtime library on MSVC (dbb34f96cc)
- Update KWStyle's version to avoid compile errors with C++23 (3d85fafc77)
- use WRAPITKSCALAR instead of WRAPITKREAL in mesh filters (68944d52d7)
Bug Fixes
- add support for long long pixel types in PyBuffer (ae7079c4fd)
Miscellaneous Changes
- Revert "COMP: Use CMake 3.18.4 in macOS CI builds" (07176983ed)
GDCM Upstream (1):
Miscellaneous Changes
- GDCM 2021-06-07 (4404b770) (47e97596b9)
Lee Newberg (3):
Enhancements
- Propagate StatisticsLabelMapFilter's default NumberOfBins (509751d5f5)
- Wrap itkAdaptiveHistogramEqualizationImageFilter for Python. (974c63db99)
Bug Fixes
- Ellipsis is not iterable (ca0690069a)
Matt McCormick (16):
Enhancements
- Update CastXML source builds to v0.4.3, LLVM 11.1.0 (67fdd3067e)
- Add CastXML binary for macOS arm64 (fde7fa6ce8)
- Add Linux arm64 CastXML binaries (42aa3be3e4)
- Bump the ITK CMake version to 5.1.0 (9f3fc5dd12)
- Content link synchronization for ITK 5.2.1 (8be208ee1f)
Platform Fixes
- Backport CastXML arm64 Eigen support (a3996fe99a)
- Do not add IPO to Python wrapping if not supported (3d2e898400)
- Only use np.float128 when available (1237a57a3d)
- Make floating point exceptions a no-op with MUSL, Linux, ARMv8 (0afa3f06a1)
- Use numpy==1.20.3 for CI testing (b667ce4d25)
- Use mallinfo2 when available (f540091c6a)
- Add missing template export macro to SLICImageFilter (c3e40927f8)
Bug Fixes
- Add vnlvectorfromarray to extras _all__ (3f8b14be54)
- Do not create global multiprocessing RLock (cfdb5023a8)
- Support double colons in Changelog commit summary (62804d09e9)
Style Changes
- Apply black to AuthorsChangesSince.py script (7504f6e45c)
Niels Dekker (1):
Bug Fixes
Similarity3DTransform::SetScaleshould recomputem_Offset(dd893faf8a)
Pablo Hernandez-Cerdan (1):
Enhancements
- Increase hook-max-size for next GDCM update (f913c0b6ed)
Stephen R. Aylward (5):
Enhancements
- Updated SpatialObject wrapping to support CONST_POINTER (28cb8507fd)
Platform Fixes
- Update SpatialObjects to correct const-ness (903f7c152e)
Bug Fixes
- SpatialObject writes object color (3bf34f6cc5)
- TubeSpatialObject missing CopyInformation (3060a6d1e5)
- TubeSpatialObject didn't preserver Artery flag (2c3d27c9ee)
Thompson, Darren (IM&T, Clayton) (2):
Platform Fixes
- Removed constructor template parameters from the VNL library (f27ab3f91f)
- Removed constructor template parameters from itkSmapsFileParser (4c320b1d49)
Tom Birdsong (1):
Enhancements
- Add
floatwrappings for itkSymmetricSecondRankTensor (5378dae447)
VXL Maintainers (1):
Miscellaneous Changes
- VXL 2021-07-19 (22f874db) (2e42c87c6e)
ITK Software Guide Changes Since v5.2.0
Jon Haitz Legarreta Gorroño (3):
Documentation Updates
- Adapt enum section to strongly typed enums (088a010)
- Add
long longspecifier C++ and mangling types (cf51385)
Style Changes
- Use
itkNameOfTestExecutableMacromacro for test names (e116243)
Matt McCormick (3):
Enhancements
Documentation Updates
- Correct signed long mangling and C++ variables (1481a04)
Niels Dekker (2):
Enhancements
- Update compiler versions for C++14 (80b8f89)
- Update Xcode Apple Clang compiler for nightly dashboard (f65f786)
- C++
Published by thewtex over 4 years ago
itk - ITK 5.2.0
ITK 5.2.0 Release Notes
We are happy to announce the release of Insight Toolkit (ITK) 5.2.0! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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 LBFGSERRROUNDINGERROR 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.imagefromxarray 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::IsInsideInObjectSpace (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::unordered_map in itkContourExtractor2DImageFilter. (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 CMAKESYSTEMPROCESSOR (27216ceb98)
- Constrain x8664 optimization flags according to CMAKESYSTEM_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 CMAKEAPPLESILICON_PROCESSOR (4fbacb9513)
Niels Dekker (27):
Enhancements
- Add explicit OptimizerParameters(inputData, dimension) constructor (800e59e9ea)
- Make itk::Matrix trivially copyable, following Rule of Zero (59ebc33c6e)
- Add static member function,
itk::Matrix::GetIdentity()(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::ERROR: itk::ERROR: " from itkExceptionMacro (df0a977dd4)
- Remove duplicate "itk::ERROR: " from itkSpecializedExceptionMacro (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::New() (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::string::c_str() never throws (bf82b3cfee)
- Follow Rule of Zero and use std::shared_ptr in ExceptionObject (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::ERROR" by "ITK ERROR" in description of exception (2b34388159)
- Inherit constructors (C++11) inside itkDeclareExceptionMacro (301a0482ee)
- Remove ITKMACROENDNOOP_STATEMENT calls from exception macro's (3f6c15eb53)
- Remove dynamic_casts PosteriorImage BayesianClassifierImageFilter (faf3d3b223)
- Remove
;from itkExceptionMacro PatchBasedDenoisingImageFilter (c9f07d9d73) - Default ImageBase default-constructor, call Matrix::GetIdentity() (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 CTESTDROPMETHOD 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
- VXL 2021-03-16 (e323b72d) (1044055af6)
- VXL 2021-03-24 (188a98c0) (74eaa203d2)
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: Python before C++ (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::ReadImage and itk::WriteImage in ApplyAffineTransform (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.imagetovtk_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
- Style: 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
- Fixed issue 220 (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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 cmakeminimumrequired to top level CMakeLists.txt (05b347c4)
Stephen Aylward (3):
Enhancements
- Combine jupyter notebooks into single .py file for CTP-Head (53a34786)
- Remove cmakeminimumrequirements 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)
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 LBFGSERRROUNDINGERROR 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.imagefromxarray 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 CMAKESYSTEMPROCESSOR (27216ceb98)
- Constrain x8664 optimization flags according to CMAKESYSTEM_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 CMAKEAPPLESILICON_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 ITKMACROENDNOOP_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 CTESTDROPMETHOD 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
- 1044055af6 (1044055af6)
- 74eaa203d2 (74eaa203d2)
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.imagetovtk_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 cmakeminimumrequired to top level CMakeLists.txt (05b347c4)
Stephen Aylward (3):
Enhancements
- Combine jupyter notebooks into single .py file for CTP-Head (53a34786)
- Remove cmakeminimumrequirements 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)
- C++
Published by thewtex over 4 years ago
itk - ITK 5.2 Release Candidate 3
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! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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.fromnumpy(a) r = itk.medianimage_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 :shamrock: to make improvements to the ITK Sphinx Examples -- everyone is welcome to participate. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
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)
- 81312d110b (81312d110b)
GoogleTest Upstream (1):
Miscellaneous Changes
- 2ad0bea3c2 (2ad0bea3c2)
Hans Johnson (8):
Enhancements
- Provide better failure diagnostics (41c1765f42)
Platform Fixes
- Use ITKMACROENDNOOP_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
- xarrayfromimage "c" coords uint32 type (2e4cb26705)
- Module configuration exec to import (59ed43b127)
- Add itk.transformread, itk.transformwrite (d09b0647bc)
- imageio kwarg for imread, imwrite (d3012f54ea)
- xarrayfromimage .attr, imagefromxarray MetaDataDictionary support (66b9008455)
- Content link synchronization for v5.2rc03 (d6951962a4)
Platform Fixes
- Remove invalid Emscripten HDF5 link flags (6146b3a0dd)
- Declare H5O_fsinfoset_version (09f0b6a417)
- Provide H5CXsetapl declaration in H5Odeprec.c (44fb096785)
- Provide H5CXgetohdr_flags declaration in H5Oint.c (7822911d2d)
- Declare H5CXsetlibver_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
- 955baa5403 (955baa5403)
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 trycompile fenvt 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
- 9139c57cec (9139c57cec)
- 19c6f33592 (19c6f33592)
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)
- C++
Published by thewtex almost 5 years ago
itk - ITK 5.2 Release Candidate 2
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! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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.fromnumpy(a) r = itk.medianimage_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 ITKDEFAULTTHREADER definition (0cb20b764c)
- Add ITKDEFAULTTHREADER 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 NIFTIINTENTNONE 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
- 84dc94c226 (84dc94c226)
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 imagefromxarray (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
- 04c65436e4 (04c65436e4)
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)
- C++
Published by thewtex about 5 years ago
itk - ITK 5.2 Release Candidate 1
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! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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.fromnumpy(a) r = itk.medianimage_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
- 8afc60c202 (8afc60c202)
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 BUILDSHAREDLIBS 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
- fbe9859fd6 (fbe9859fd6)
GCC-XML Upstream (1):
Enhancements
- pygccxml v2.0.1 (reduced) (f8322d75a1)
GDCM Upstream (3):
Miscellaneous Changes
- 7b73de152f (7b73de152f)
- 0353bb40ed (0353bb40ed)
- e161cd573c (e161cd573c)
Gregory Lee (1):
Documentation Updates
- update references for recursive Gaussian filters (1cf7142055)
HDF5 Maintainers (1):
Miscellaneous Changes
- de4ebc585a (de4ebc585a)
Hans J. Johnson (3):
Enhancements
- Prefer to use sform over qform when both are set (34231b5702)
- Exercise converting Object (d9e464c702)
Miscellaneous Changes
- ab7a9e378c (ab7a9e378c)
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 ITKDISALLOWCOPYANDASSIGN (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 ITKINSTALLNO_* 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)
- WRAPPERLIBRARYOUTPUT_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
- ee6c209d0a (ee6c209d0a)
KWSys Upstream (1):
Miscellaneous Changes
- 2e004cc754 (2e004cc754)
Kenji Tsumura (1):
Bug Fixes
- Fix itkGPUDemonsRegistrationFilterTest fails (78e84e7c49)
LIBPNG Upstream (1):
Miscellaneous Changes
- 5770e1c41c (5770e1c41c)
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.vtkimagefromimage and itk.imagefromvtkimage (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 FEDIVBYZERO FEINVALID 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 CMAKELIBRARYOUTPUT_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 imagefromxarray (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
- ITKWRAPPYTHONPROCCESS to ITKWRAPPYTHONPROCESS (166be4d32b)
MetaIO Maintainers (2):
Miscellaneous Changes
- 17e74402bd (17e74402bd)
- 04975bdb65 (04975bdb65)
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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE (7d177ca0c7)
- Call ITKDISALLOWCOPYANDMOVE, not ITKDISALLOWCOPYANDASSIGN (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 ITKWRAPIMAGE_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 ITKLIBRARYBUILD_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
- 548567e20b (548567e20b)
- 1695ab1e45 (1695ab1e45)
- 29caa5ae3f (29caa5ae3f)
- df92e582d8 (df92e582d8)
- 7b13770a10 (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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN 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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_REMOVE=OFF. (7a0cd1a)
AnisotropicDiffusionLBR:
Hans Johnson (1):
Platform Fixes
- Update to new ITKDISALLOWCOPYANDMOVE 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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 TYPEDTESTCASE to TYPEDTESTSUITE (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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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
- Fix ReadAIMHeader to work with short images (#36) (67b64cc)
IOTransformDCMTK:
Mathew Seng (1):
Style Changes
- Rename ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_REMOVE=OFF. (eafe0c5)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges (0e1d728)
LesionSizingToolkit:
Mathew Seng (4):
Bug Fixes
- Incorrect classe references for EXERCISEBASICOBJECT_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKEXPORT with ITKTEMPLATE_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 BUILDSHAREDLIBS = OFF, a 'test not run' error is thrown. Changing the names of tests and adding them to the TestDriver allows them to run with BUILDSHAREDLIB = OFF and not throw any sort of error. (c8941e6)
Style Changes
- Rename ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 CMAKEMODULEPATH (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 RTKPROBEEACH_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 ITKLIBRARYBUILD_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 ITKDISALLOWCOPYANDMOVE, not ITKDISALLOWCOPYANDASSIGN (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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_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 TRYEXPECTNOEXCEPTION to ITKTRYEXPECTNOEXCEPTION. Also it changes EXERCISEBASICOBJECTMETHODS to ITKEXERCISEBASICOBJECTMETHODS. (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 ITKDISALLOWCOPYANDASSIGN to ITKDISALLOWCOPYANDMOVE Fixes changes made in #2053. ITKDISALLOWCOPYANDASSIGN will be used if ITKFUTURELEGACY_REMOVE=OFF. (f879274)
Matt McCormick (1):
Documentation Updates
- Remove old CI badges (8dfed42)
- C++
Published by thewtex about 5 years ago
itk - ITK 5.1.2
ITK 5.1.2 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.1.2! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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)
- C++
Published by thewtex about 5 years ago
itk - ITK 5.1.1
ITK 5.1.1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.1.1! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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
- 0353bb40ed (0353bb40ed)
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 FEDIVBYZERO FEINVALID 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 CMAKELIBRARYOUTPUT_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 imagefromxarray (3da4926531)
- Add missing enumerate with multi-ndarray-output itk filters (c7595ff794)
- Do not wrap unsigned char for connected component output (f3e328657f)
Style Changes
- ITKWRAPPYTHONPROCCESS to ITKWRAPPYTHONPROCESS (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)
- C++
Published by thewtex over 5 years ago
itk - ITK 4.13.3
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 ```
- C++
Published by thewtex over 5 years ago
itk - ITK 5.1.0
We are happy to announce the Insight Toolkit (ITK) 5.1.0 release! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
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.xarrayfromimage(image) smoothed = itk.medianimagefilter(da, radius=3) print(smoothed) ```
results in:
```
```
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
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
- efdd2cab95 (efdd2cab95)
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 isvector identification in imagefrom_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 MSCVER definition (47a85f15a1)
Bug Fixes
- Correct imageviewfrom_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.imageviewfrom_array (60afb52f5b)
- Use linspace for coords in xarrayfromimage (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
- 21e619bf69 (21e619bf69)
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 findpackage(ITK) dependent (NOT ITKSOURCE) (#4) (892a43bc)
- Make findpackage(ITK) dependent (NOT ITKSOURCE) (#5) (30a909d2)
Miscellaneous Changes
- 077e4a93 (077e4a93)
- C++
Published by thewtex over 5 years ago
itk - ITK 5.1 Release Candidate 3
We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 3 is available for testing! :tada: 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.xarrayfromimage(image) smoothed = itk.medianimagefilter(da, radius=3) print(smoothed) ```
results in:
```
```
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
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 REMOTEGITTAG_{name} is empty do not update remote (9131f9a9cd)
- Rename REMOTEGITTAG${name} to Module${name}GITTAG (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 ITKMINIMUMCOMPLIANCE_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)
- ITKMINIMUMCOMPLIANCE_LEVEL is an advanced feature (bc6deb1e30)
- ITKNIFTIIOANALYZEFLAVOR 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 MODULECOMPLIANCELEVEL 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
- 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 ITKDISALLOWCOPYANDASSIGN 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
- Remove CMake-language block-end command arguments (6411401)
- Convert CMake-language commands to lower case (80c4cc1)
- Prefer = default to explicitly trivial implementations (ac4aa6e)
- Remove redundant void argument lists (d2e9298)
- C++
Published by thewtex almost 6 years ago
itk - ITK 5.1 Release Candidate 2
ITK 5.1 Release Candidate 2
We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 2 is available for testing! :tada: 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.
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.xarrayfromimage(image) smoothed = itk.medianimagefilter(da, radius=3) print(smoothed) ```
results in:
```
```
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
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
- ea2256dce4 (ea2256dce4)
Eigen Upstream (2):
Miscellaneous Changes
- 6cff008723 (6cff008723)
- 32bc2354f4 (32bc2354f4)
Flavien Bridault (1):
Platform Fixes
- Fix compiling an app with Clang when ITK is built with GCC (eb8ce3c619)
GDCM Upstream (2):
Miscellaneous Changes
- b49b0b84fc (b49b0b84fc)
- efd187a17d (efd187a17d)
GoogleTest Upstream (1):
Miscellaneous Changes
- ce3de393b2 (ce3de393b2)
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.xarrayfromimage and itk.imagefromxarray (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
- 4d6afaf597 (4d6afaf597)
- be6b9cb616 (be6b9cb616)
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
- ITKUSEFFTW 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 InsightSoftwareConsortium/ITK@42bfdd5a4ca8c51211dd2ee2c42cc070a064b925 (b5a199ca)
Bug Fixes
- fix wrapping for ITKWRAPdouble and unwrap itk (3bfd8400)
- number of buffered projections wrongly hard-coded (3fc00efa)
- option ITKUSECUDA 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)
- C++
Published by thewtex almost 6 years ago
itk - ITK 5.1 Release Candidate 1
ITK 5.1 Release Candidate 1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.1 Release Candidate 1 is available for testing! :tada: 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 filter interface, clang-format enforced coding style, enhanced modern C++ range support, 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
Tomographic sphere reconstruction with the RTK remote module. Reproduce this result by installing the RTK Python packages, pip install itk-rtk, and run the FirstReconstruction.py example.
Pass NumPy Array's to ITK Image Filters
The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy array'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) ```
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
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 are now follow a consistent <Description>Enum naming conversion, which results in a Python interface:
<Description>Enum_<EnumValue1>
<Description>Enum_<EnumValue2>
[...]
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.
Congratulations
Congratulations and thank you to everyone who contributed to this release. Of the 50 authors, we would like to specially recognize the 20 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.
What's Next
As we work towards the next release candidate, we will improve strongly typed enum adoption in the toolkit, consistent with the soft commitment to backwards compatibility to address any potential API or architectual issues until the 5.1.0 release. 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.0.0
``` Aurélien Coussat (1): ENH: wrap IterationReporter
Bradley Lowekamp (63): BUG: Use ProcessObject GetInput to obtain base pointer BUG: Fix ProcessObject::RemoveOutput for null objects. COMP: Address missing fftw include in CurvatureRegistrationFilter BUG: Fix ProcessObject::RemoveOutput for null objects. BUG: Add casting for vector pixel types STYLE: Use CTESTTESTTIMEOUT ENH: Add testing for CastImageFilter for more type conversions BUG: Restore support for Cast between explicitly cast-ed pixel type BUG: Use ProcessObject GetInput to obtain base pointer ENH: Add testing for CastImageFilter for more type conversions BUG: Restore support for Cast between explicitly cast-ed pixel type BUG: Add DataObject::New method BUG: Install FFTW headers in same location as ITK Revert "BUG: InterpolateImageFunction::GetRadius hidden in ITKV4COMPATIBILITY" BUG: Preserve Interpolate GetRadius behavior with ITKv4Compatibility Revert "COMP: forgotten class for ITKV4COMPATIBILITY in 2aae174" BUG: HDF5 is clobbering ctest TIMEOUT variables COMP: Fix not marked 'override' for ImageSink destructor BUG: Use enableif with SFINAE to dispatch ENH: Add Vector constructor from C arrays with cast COMP: Work around uninitialized value warnings ENH: Update ITKv4 registration example to use resample over warp BUG: Specify specific CircleCI docker image with platform COMP: Address compilation warning with aggregate initializer BUG: Specify specific CircleCI docker image with platform ENH: Adding VS2019 v142, VS2017 v140 Azure Pipelines on merge DOC: Tweak internal documentation in SliceImageFilter BUG: Address bug with small size in output of SliceImageFilter ENH: Add more test cases for the SliceImageFilter COMP: Address internal compiler error on MSVC 19.0.24234.1 (v140) ENH: Add check expected input in HistogramMatchingImageFilter COMP: Add missing enum typename from prior enum declaration style ENH: Check physical location consistency after PermuteImageFilter BUG: Address bug with small size in output of SliceImageFilter COMP: Address internal compiler error on MSVC 19.0.24234.1 (v140) COMP: Add missing include for VectorLinearInterpolateImageFunction ENH: Move ImageToHistogram test to Statistics module BUG: Fix outside buffered region exception in ImageToHistogramFilter BUG: Fix ImageHistogram printing null inputs ENH: Add basic object testing methods for ImageToHistogramFilter ENH: Add testing for ImageToHistogram with AutoMinimumMaximum ENH: Add missing boolean setter methods for AutoMinimumMaximum BUG: Add valgrind suppression for zlib slide_hash ENH: Add testing for OBB vertices and image with direction BUG: Correct ShapeLabelObjectes OBB vertices DOC: Update documentation for OBB vertices method BUG: Add missing suppression name for zlib BUG: Explicitly initialize CovariantVector in VectorImageTest DOC: Adding migration guide for "vector" filters BUG: Use default CircleCI resources DOC: Grammar fixes in vector filter section of migration guide ENH: Mark deprecated GDCM API as ITK legacy remove ENH: Adding new test for GDCM ImageIO for different pixel types BUG: Fix GDCMImageIO define order BUG: Address buffer overflow with deprecated GDCM1 interface BUG: Don't use InsertElement which modifies MTime ENH: Update CircleCI docker image to python:3.7-stretch ENH: Adding Valgrind suppression file for CentOS 7 system BUG: Remove noisy cerr output when magic number fails COMP: Address deprecated implicit vnl matrix conversions BUG: Remove tiff from supported extensions for LSMImageIO BUG: Wait for all threads when abort or exception occurs BUG: Fix leaky dynamically allocated raw point
Csaba Pinter (2): BUG: Fix loading of DICOM files with no preamble ENH: Add test for DICOM without preamble for DCMTK and GDCM
Dave Chen (1): Type fixing (#1233)
Davis Vigneault (1): BUG: Make BuildCellLinks method const
Dženan Zukić (72): BUG: number of work units was greater than 1 even for 1 thread BUG: fix a crash with ITKDEFAULTMAXTHREADS greater than 250 BUG: resample filter no longer triggers unnecessary exception COMP: change export specification to template for un-specialized method COMP: forgotten class for ITKV4COMPATIBILITY in 2aae174 ENH: use double-conversion's CMake targets COMP: fix warning about missing override in CastImageFilter DOC: wrong class name for PlatformMultiThreader COMP: get rid of MSVC's warning 4661 ENH: enable GaussianInterpolateImageFunction to work with streaming STYLE: reduce space in ivar declarations STYLE: ITK indentation style in test STYLE: invert the name and internal logic of waiting for threads BUG: ThreadPool::DoNotWaitForThreads did not work properly STYLE: Add ITK prefix to testing macros in release branch DOC: invocation of AddWork uses -> because instance is always a pointer ENH: updating remote modules ENH: PoolMultiThreader uses one less thread ENH: documenting supported compilers ENH: updating remote modules STYLE: more consistent code formatting in test driver BUG: offset was not updated after changing Euler angle order (ZYX) Fix broken link in Data.md ENH: support RGB image in windowed sinc interpolation ENH: support RGB image in windowed sinc interpolation ENH: updating remote modules ENH: back-porting #1165 to support Visual Studio 2019 ENH: updating remote modules COMP: fixed enum name error when legacy is OFF and ITKUSEGPU is ON ENH: removing deprecated Python functionality: imp ENH: removing deprecated Python functionality: sys.versioninfo 2/3 ENH: removing deprecated Python functionality: import printfunction ENH: update remote modules to comply with new enum class style ENH: update Visual Studio debug visualizers DOC: spelling correction in BSpline documentation COMP: update VTKTetrahedralMeshReader to enum class ENH: avoid repeated allocation of logSharpenedImage ENH: publicly expose method ReconstructBiasField BUG: wrong number of parameters was checked in itkTestDriverInclude ENH: update OpenCV bridge ENH: update tests' include files for OpenCV 4 ENH: add IsPositive() and friends to RGB's and RGBA's NumericTraits ENH: updating remote modules ENH: adding BoneEnhancement remote module ENH: updating clang-format bash script to allow versions 8.0.x STYLE: running clang-format ENH: update PhaseSymmetry remote module ENH: disable test whose failure is not reproducible COMP: compile the test with legacy disabled BUG: fix null deref in 'itkTreeContainerTest'. Closes #1358. ENH: remove ivar m_End which is always equal to nullptr ENH: adding JPEGBaseline1 DICOM reading test ENH: update remote modules Montage and Examples ENH: various DICOM compliance tests ENH: DICOM compliance test for JPEG2000 YBR-RCT encoding ENH: add regression test for conversion of MONOCHROME1 into MONOCHROME2 ENH: update KWStyle to fix potential buffer overflow ENH: Updating remote modules ENH: updating Cuberille and Montage remote modules ENH: wrap StreamingImageFilter for all the dimensions COMP: fixing a couple of VNL related linking errors ENH: improving exception handling in PoolMultiThreader ENH: stop this thread's work on first exception ENH: update BoneEnhancement remote module ENH: update remote modules ENH: support testing multi-frame DICOMs (3D images) BUG: avoid undefined behavior (dereferencing nullptr). Closes #1358 STYLE: Visual Studio static analysis fixes in MultiThreaders STYLE: produce result directly in 64-bit precision (avoid a cast) ENH: optionally write intermediate image in test ENH: DiscreteGaussian filter is compatible with SmoothingRecursive one ENH: update ITKExamples remote module version
Eigen Upstream (1): Eigen3 2019-10-24 (5d8ba9ed)
Francois Budin (4): BUG: ImageBase regions and ImageRegion properties are returned as reference DOC: Add ITK 5.0 release notes BUG: mNumberOfPointPixels was set equal to mNumberOfPoints ENH: Adds swig include directory to command line
GDCM Upstream (5): GDCM 2019-05-22 (cc5358a1) GDCM 2019-10-08 (e470b82d) GDCM 2019-10-23 (fcacc159) GDCM 2019-10-24 (4b164b45) GDCM 2019-11-04 (d11271f8)
Genevieve Buckley (1): BUG: All exceptions must be derived from python's BaseException class
Gina Helfrich (1): Create FUNDING.yml
Hans J. Johnson (75):
ENH: Update SphinxExamples to lastest master branch
COMP: Add attribute for large doxygen config file.
DOC: Remove ITKFUTURELEGACYREMOVE from documentation
ENH: Disable remote module processing when creating doxygen.
STYLE: Prevent double initialization
DOC: Purge outdated media wiki WikiExamples
BUG: Missed propagation of library dependancies
ENH: Deprecate Neuralnetwork module
Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4"
STYLE: Remove deprecated support for ITKWRAPPYTHONLEGACY
DOC: Only warn when ModuleNeuralNetworks is selected
ENH: Use consistent project name with module name
COMP: Fix clang-format nesting of empty macros
DOC: Deprecate https://itk.org/Wiki/ITK/Examples content.
DOC: Provide doxygen links for sphinx
DOC: Improve the documentation clarity for NormalizeImage.
DOC: Moved wiki examples to sphinx examples part2
ENH: itkObjectToObjectOptimizerBase Must be explicitly instantiated
COMP: Terminate conditional doxygen sections
DOC: Set class name for StreamingProcessObject doxygen
ENH: Update the DoxygenLayout.xml file
ENH: Update template files for Doxygen.
BUG: Patch submission scripts conflict with doxygen
COMP: Resolve 1000's of alias warnings in 1.8.15
DOC: Moved wiki pages to sphinx examples
BUG: Flawed logic for itkExceptionObject.h guards
STYLE: Use override statements for C++11
STYLE: Prefer c++11 'using' to 'typedef'
COMP: Another work around uninitialized value warnings
ENH: Prefer c++11 'using' to 'typedef' for structs
COMP: Update AnalyzeObjectMapIO remote for ITKv5.0
COMP: Suppress warning about file that is too large
STYLE: Use = default for trivial constructors
STYLE: For loops can have a space before ;
STYLE: Suppress longstanding kwstyle violations
STYLE: Use templated function over macro
ENH: Add LONGLONG & ULONGLONG types
STYLE: Remove unused protected ivar mMyProduct
COMP: Isolate RAWIO non-templated code in cxx file
PERF: Byteswap only when request != system byte order
STYLE: Suppress longstanding kwstyle violations
STYLE: Define the .clang-format config file
ENH: Add script to assist with running clang-format on topic-branches
ENH: Update C++/C attributes for itk style conformance.
ENH: Add copy of git-clang-format from llvm binaries
ENH: Add cmake configuration for clang-format
ENH: Setup clang-format hooks for pre-commit-style
DOC: Add missing line separator for ingroup ITKCommon
DOC: Fix spelling typo VeriyInput -> VerifyInput
ENH: Refactor to allow ReferenceHistogram instead of ReferenceImage
COMP: Remove One Definition Rule conflict
COMP: Fix missing type specialization for unsigned long long int
STYLE: Convert 'enum' to 'enum class' objects with print enum function
ENH: Workaround MSVC preprocessor name conflict
STYLE: Prefer enum class definitions internally
STYLE: Prefer consistent capitalization of Colormap
ENH: Ignore wrapping warnings for enum class
BUG: Missing ImageAdapter function signatures
COMP: Change KWStyle to allow reformat to pass.
STYLE: No-space inside <> () []
STYLE: Change the packing of parameters.
STYLE: Use shorter column length for Software Guide.
STYLE: End of history preceeding clang-format-8.0 style
STYLE: Fix spelling error foramt -> format
ENH: Prefer explicit casting over implicit casting for vxl
STYLE: Only python > 3.5 is supported
BUG: castxml fails with C++11 'enum class'
ENH: Clarify the use and interaction of LEGACY Reporting
ENH: Run larger memory tests if supported
PERF: Provide hints regarding test timing
BUG: Warning macros for ITKLEGACYSILENT are wrong
ENH: Improve diagnostic warnings for ResampleImage misuse
DOC: More clearly describe foreground/background
ENH: Avoid alias names for [Fore|Back]groundValue
ENH: Shadowed typedef warnings removed
ITK Maintainer (1): STYLE: Enforce ITK style defined by .clang-format
James Butler (1): COMP: Add cmakeminimumrequired to ITKNumericsFEM
Jean-Christophe Fillion-Robin (3): ENH: Support building ITKNumericsFEM as external module COMP: Disable CMake user registry lookup by find_package. COMP: Support disabling CMake user registry lookup for CMake >= 3.16
Jon Haitz Legarreta Gorroño (4): STYLE: Fix indentation in bash script ENH: Add script to update ITK testing macros names BUG: Fix remotes maintenance scripts BUG: Fix wrong variable names
Marian Klymov (3): BUG: BMP can't be read without proper extension BUG: Workaround for segfault in itkStatisticsAlgorithmTest (v140) STYLE: Add additional braces around initialization of subobject
Mathieu Malaterre (6): ENH: Remove Utilities/C99 from GDCM sync script STYLE: Teach git about GDCM oversize file BUG: Always convert YBR_FULL to RGB ENH: Decompress the Pixel Data buffer when needed ENH: Make sure to check the return value of filters ENH: Properly convert MONOCHROME1 into MONOCHROME2
Matt McCormick (108):
ENH: Bump the ITK CMake version to 5.1.0
ENH: New content links for ITK 5.0.0
STYLE: DeformableRegistration2 line length warnings
COMP: SpatialObjectsHierarchy Software Guide newline
ENH: Bump CI ExternalDataVersion to 5.0.0
DOC: Release generation updates for ITK 5.0.0
DOC: Add a note about updating conda-forge for post wheels
ENH: Update Doxygen to 1.8.15
BUG: Add test/CMakeLists.txt stub to NumPy bridge
COMP: Provide NumericTraits
Matthew Rocklin (1): BUG: Support Numpy inputs in keywords that include "image"
MetaIO Maintainers (4): MetaIO 2019-05-22 (5f90075b) MetaIO 2019-09-16 (7b46b9a7) MetaIO 2019-09-16 (7b46b9a7) MetaIO 2019-10-02 (177df110)
Mihail Isakov (4): ENH: added missing symbols to JPEG mangling header BUG: GDCMIO crash if bits allocated 16, stored 8 STYLE: remove unused code from 168c457 in GDCM IO ENH: Better reading of Y'CbCR DICOM files
Neslisah Torosdagli (1): BUG: Regression in PolygonSpatialObject::IsInsideInObjectSpace #1082
Niels Dekker (63):
PERF: Replace mutex by atomic in MersenneTwisterRandomVariateGenerator
STYLE: Remove two duplicated #include
Pablo Hernandez-Cerdan (2): BUG: Fix COMPILE_DEFINITIONS of castxml COMP: Update Eigen3 to top of branch 3.3
Pierre Chatelier (4): ENH: MultiResolutionPDEDeformableRegistration supports more RegistrationFilter BUG: more template parameters STYLE: enforce ITK style defined by clang-format BUG: fix template parameters
Rinat Mukhometzianov (3): COMP: MSVC AVX flag fix COMP: Fix SSE for MSVC x86 COMP: Replace legacy ITKCheck...Flag.cmake with check..._flag cmake function
Samuel Gerber (5): PERF: Remove Temporary Variable in GetMeasurementVector ENH: Add Multithreading to PointSetToPointSetMetricv4 Revert "Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4"" BUG: Fix PointSetToPointSetMetric Thread Safety BUG: Fix CompositeTransform ThreadSafety
Sean McBride (7): COMP: Fixed -Wshadow warnings by renaming method parameter COMP: Fixed the only -Wmissing-braces warning COMP: Removed check for old __sync builtins, since they're no longer used BUG: integer division by zero is undefined behaviour, no point in testing it COMP: Remove workarounds for old MS compilers COMP: fixed compilation with AppleClang 7 and 8. BUG: Fixed signed overflow in float ULP comparisons
Simon Rit (4): BUG: test for AVX compatibility to set MSVC optimization flags BUG: sign memory probe to detect freed memory BUG: origin was not accounted for correctly in RayCastInterpolateImageFunction ENH: use RTK v2.1.0 (remote module)
Stephen Aylward (21): ENH: Updated Spatial Object tex to match ITKv5 BUG: Fixed spelling mistakes and use of plural member functions BUG: Fixed spelling mistakes and use of plural member functions BUG: Fix grammar and naming mistakes in SpatialObject documentation DOC: Fixed expected output of examples and documentation BUG: Fix grammar and naming mistakes in SpatialObject documentation DOC: Fixed expected output of examples and documentation BUG: Use AddPoint() for PointBasedSpatialObjects to set SO ENH: Replace ExceptionObjects with itkExceptionMacro. ENH: Converted TubeSpatialObject ComputeTangentsAndNormals to frenet BUG: Resolve corner case bug in ComputeTangentsAndNormals in TubeSO ENH: Improved IsInside computation (speed and accuracy) of tube ENH: Updating TubeSO test to match assumption that default is EndRounded BUG: operator= defined in [tube|*]SpatialObjectPoint incomplete BUG: Fixes bugs in SpatialObject to MetaIO conversion ENH: Only create extra SO group on read if needed. BUG: Duplicate typedef declarations in itkMetaSceneConverter COMP: Update MinimalPathExtraction to remove warnings BUG: MetaIO format for spatial objects updated to use elementspacing COMP: Remove debugging cout statements from itkMetaVesselConverter BUG: Missing typename keyword for variable declarations
Steve Pieper (1): DOC: ITK5 SpatialObject Scene to Group change
VXL Maintainers (4): VNL 2019-08-15 (7cc97a62) VNL 2019-11-18 (13735a37) VNL 2019-11-20 (3d5fbcdf) VNL 2019-11-24 (5f5d5dc3)
Vladimir S. FONOV (9): ENH: included new file in libminc MODULE MINC 2019-10-03 (592dd487) BUG: fixed composite transform writing to .xfm ENH: Restored behaviour of depricated Analyze reader w.r.t orientation code COMP: Fixing autodeduction of type for old clang compiler COMP: Fixed itkWarningMacro and itkDebugMacro to confirm to PRE10-C ENH: Added code to detect non-uniform sampling in ImageSeriesReader ENH: Preserving information about auto-flipped negative steps in metadata ENH: added metadata flag to contain maximum deviation in series reader
Yann Le Poul (5): BUG: 256 colors of tiff palette were read, only correct for 8bit images ENH: Palette image write support for TIFF and PNG. (#1219) BUG: Wrong component type for non supported tiff with USHORT palette BUG: solve memory leak when allocating png palette for writing COMP: remove old style casting and use correct integer type if possible
Ziv Yaniv (2): DOC: Correcting some grammer and updating the toolkit name. (#980) ENH: Adding support for writing aux_file in Nifti.
maekclena (11): STYLE: Add ITK prefix to testing macros BUG: Fix BSplineGradient configuration ENH: Mark VectorExpandImageFilter as deprecated ENH: Deprecate VectorCentralDifferenceImageFilter ENH: Remove VectorExpandImageFilter when ITKLEGACYREMOVE is on BUG: add required method for Pickling BUG: Fix GaussianInterpolateImageFunction with streaming BUG: Avoid buffer overwriting in DCMTKImageIO ENH: Disable itkDCMTKImageIOMultiFrameImageTest BUG: Mitigate overflow in DCMTKImageIO::Read BUG: Re-implement isstaticcastable to be compatible with gcc 8 (#1227)
yjcchen0913 (1): BUG: Ensure strict weak ordering in HessianToObjectnessMeasure's sort
```
ITK Examples Changes Since v5.0.0
``` Aaron Bray (1): BUG: Move error handling exit to correct location
Bradley Lowekamp (1): BUG: Relax adaptive histogram example with an intensity tolerance 1
Dženan Zukić (8): ENH: update the super-build tag to ITKv5.0.0 ENH: Updating baselines for SegmentWithWatershedImageFilter ENH: updating baselines for AdaptiveHistogramEqualizationImageFilter COMP: fixing compile error BUG: make it run with ITK 5 and legacy disabled ENH: use DynamicThreadedGenerateData ENH: support non-identity metadata in GeodesicActiveContour DOC: updating comments to reflect actual behavior
Hans J. Johnson (16): BUG: pngmath deprecated for sphinx >= 1.4 ENH: Move to v4.13.0.post0 version of breath ENH: Update sphinx-bootstrap-theme to v0.7.1 ENH: Update gitstats to latest master branch version. COMP: Must remove incomplete ITKDoxygenTAGDIR ENH: Change url from http: to https: for kitware sites DOC: Prefer http: to https: for web addresses. ENH: Address documentation build warnings COMP: Resolve search for ITKVtkGlue status ENH: Avoid contaminating Remote module builds with ITKDIR STYLE: Use range-based loops from C++11 STYLE: Use auto for variable type STYLE: Pefer = default to explicitly trivial implementations STYLE: Pefer = delete to explicitly trivial implementations ENH: Fix signature of override function. BUG: Fix many failing tests for the Sphinx Examples
Hans Johnson (21): ENH: VTK 8.2.0 as a requirement for SphinxExamples COMP: Update CMAKECXXSTANDARD settings to match ITKv5 settings DOC: Update build instructions with greater detail. ENH: Adding media wiki examples to sphinx examples BUG: Unsigned char SetAlpha must be on scale of 0-255 COMP: Remove unused variables and set override. COMP: Use std::sqrt instead of vcl_sqrt. ENH: Only build ITKV4 examples with when selected in ITK. ENH: Add support files from media wiki examples COMP: Fix VTK 8.2.0 build issues. DOC: Improved results and indexing. Addition changes mentioned in pull request. ENH: Improve documentation images ENH: Remove outdated CreateNewExample.py.in reference ENH: Require building with VTK support ENH: Require ITK version 5.0.0 or greater STYLE: Remove outdated todo file for WikiExamples. ENH: Allow building without VTK support BUG: Fix failing tests and build errors of SphinxExamples ENH: Update to latest version of ITK to support enum-classes STYLE: Enforce ITK style defined by .clang-format DOC: Improve example to provide more complete usage
Hina Shah (3): BUG: Fix path for GitSetup.git BUG: Fix minor issues with create new example script ENH: adding new example for reading and printing dicom image tags
Jon Haitz Legarreta Gorroño (4): STYLE: Fix typo in example name STYLE: Prefer error checked std::sto[id] over ato[if] ENH: Add a cookiecutter template to create new examples BUG: Fix new example script cookiecutter
Mathew J. Seng (1): BUG: TODO added for examples containing errors from original wiki.
Matt McCormick (10): DOC: Update required ITK and Python versions in README BUG: Do not enable Module_ITKLevelSetsv4Visualization BUG: Use sphinx-build executable from Superbuild BUG: Transparency.png was a TIFF file DOC: Remove invalid FilterImageWithoutCopying input / output DOC: Fix figure input filenames ENH: Add SetDefaultNumberOfThreads DOC: Update ContributeWithGit for cookiecutter script DOC: Remove Gerrit reference and improve link location ENH: Point GitSetup to ITK repository
```
ITK Software Guide Changes Since v5.0.0
``` Bradley Lowekamp (1): ENH: Add VerifyPreconditions and VerifyInputInformation
Francois Budin (2): COMP: Correct typo that made ITKSoftwareGuide compilation fail STYLE: Page size and page numbers of the Guide front page were updated
Hans Johnson (2): DOC: Add commentary about the coding style used. COMP: Exceptions should be caught by constant reference
Jon Haitz Legarreta Gorroño (3): COMP: Fix too long line lengths DOC: Update ITK testing macros names DOC: Fix testing macro name
Matt McCormick (9): ENH: Update ITK ExternalProject version for 5.0.0. COMP: Bump ITK to address line length warnings DOC: Update supported Visual Studio versions ENH: Bump ITK version to v5.0.1 ENH: Use https for GitSetup hooks checkout BUG: Remove CircleCI resource_class specification ENH: Point GitSetup to ITK repository DOC: Update history to ITK 5 ENH: Bump ITK version to v5.1rc01
Stephen Aylward (5): ENH: Updated tex for SpatialObjects to match ITKv5 ENH: Added details on use of TubeSpatialObjects. BUG: Fixed spelling mistake ENH: Added details on use of TubeSpatialObjects. Enh: Clarify that GroupSO replaces SceneSO
```
Remote Module Changes Since v5.0.0
AnalyzeObjectMapIO: ``` Hans Johnson (2): COMP: Do not include itkExceptionObject.h directly COMP: Fix refactoring to enhanced for loop structure
```
AnisotropicDiffusionLBR: ``` Hans J. Johnson (1): ENH: Fix spelling error s/tropci/tropic/g
Mathew J. Seng (1): STYLE: Change enum to new enum class definition
Matt McCormick (3): ENH: Add Azure Pipelines configuration ENH: Python package for ITK 5.0.0 DOC: Add Azure Pipelines, PyPI, License badges
```
BSplineGradient: ``` Matt McCormick (5): ENH: Add Azure Pipelines configuration DOC: Add Azure Pipelines status badge ENH: Update ImageToPointSetFilter wrapping for ITK 5 types ENH: Add wrapping for BSplineGradientImageFilter DOC: Add installation instructions
```
BioCell: ``` Mathew J. Seng (1): COMP: Change enum to new enum class definitions
```
BoneEnhancement: ``` Bryce Besler (35): ENH: Implemented HessianGaussianImageFilter with streaming ENH: Implemented itkEigenToMeasureParameterEstimationFilter ENH: Implemented DescoteauxEigenToMeasureParameterEstimationFilter DOC: Fixed naming for DescoteauxEigenToMeasureParameterFunctor BUG: Fixed initialization bug in HessianGaussianImageFilter ENH: Added EigenToMeasureImageFilter and DescoteauxEigenToMeasureImageFilter DOC: Added documentation to MaximumAbsoluteValue Functor ENH: Added ITKReview ENH: Descoteaux implementation ENH: Move itkMultiScaleHessianEnhancementImageFilterStaticMethodsTest to GTest ENH: Move itkMaximumAbsoluteValueImageFilterTest to GTest ENH: Move itkHessianGaussianImageFilterTest to GTest ENH: Update Descoteaux filter to ITKv5 DynamicThreadedGenerateData ENH: Implement Krcah parameter estimation filter and unit test STYLE: Updated to CI table ENH: Implemented HessianGaussianImageFilter with streaming ENH: Implemented itkEigenToMeasureParameterEstimationFilter ENH: Implemented DescoteauxEigenToMeasureParameterEstimationFilter DOC: Fixed naming for DescoteauxEigenToMeasureParameterFunctor BUG: Fixed initialization bug in HessianGaussianImageFilter ENH: Added EigenToMeasureImageFilter and DescoteauxEigenToMeasureImageFilter DOC: Added documentation to MaximumAbsoluteValue Functor ENH: Added ITKReview ENH: Descoteaux implementation ENH: Move itkMultiScaleHessianEnhancementImageFilterStaticMethodsTest to GTest ENH: Move itkMaximumAbsoluteValueImageFilterTest to GTest ENH: Move itkHessianGaussianImageFilterTest to GTest ENH: Remove ITKReview module ENH: Update Descoteaux filter to ITKv5 DynamicThreadedGenerateData ENH: Implement Krcah parameter estimation filter and unit test STYLE: Prefer C++11 type alias over typedef. STYLE: Use "typename" for template parameters BUG: Fix Krcah implementation ENH: Remove SpatialObject parameterization BUG: Follow templating of itkStreamableImageFilter for wrapping
Dženan Zukić (10): ENH: Build both examples COMP: fix compile error and warning ENH: remove unused command-line parameter COMP: make it compile after the big merge BUG: fix Python wrapping COMP: support running with legacy removed ENH: removing unused files ENH: parallelizing EigenToMeasureParameterEstimation filters ENH: parallelize EigenToMeasure filter ENH: adding current ITK code style definition files
Pablo Hernandez-Cerdan (1): COMP: Remove deprecated throw specification
```
BoneMorphometry: ``` Dženan Zukić (1): COMP: itksys::hash_map has been removed in ITKv5
Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (4): ENH: Add Azure Pipelines configuration DOC: Add Azure pipelines badge DOC: Add PyPI and license badge BUG: Bump ITK Python required version to 5.0.1
```
Cuberille: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (9): ENH: Move Azure Pipelines configuration to test/ directory ENH: Support ITKPythonGitTag in Azure Pipelines configuration ENH: Update ITK version in Azure Pipeline configuration to 5.0.0 ENH: Wrap for all scalar pixel types ENH: Build against ITK 5.0.1 DOC: Fix Azure badge link ENH: Enable the use of a different interpolator in wrapping STYLE: class -> typename ENH: Bump Python package version
```
FixedPointInverseDisplacementField: ``` matt.mccormick@kitware.com (1): STYLE: Move Python test to wrapping/test/CMakeLists.txt
```
GenericLabelInterpolator: ``` Dženan Zukić (1): STYLE: replacing MD5 hashes by SHA512 hashes
yinkaola (2): Update itkLabelImageGenericInterpolateImageFunction.h Update itkLabelImageGenericInterpolateImageFunction.hxx
```
HigherOrderAccurateGradient: ``` Matt McCormick (4): ENH: Build against ITK 5.0.0 ENH: Build Python packages against v5.0.0.post1 ENH: Improve Azure specification of ITK versions DOC: Fix build spelling in C++ build documentation
```
IOMeshSTL: ``` Dženan Zukić (2): COMP: fix link errors ENH: require ITK 5.0.1
Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
```
IOOpenSlide: ``` Mathew J. Seng (1): STYLE: Change to enum to new enum class definitions
```
IOScanco: ``` Dženan Zukić (1): ENH: update version numbers
Jon Haitz Legarreta Gorroño (2): STYLE: Add ITK prefix to testing macros ENH: Improve tests
```
IOTransformDCMTK: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
```
IsotropicWavelets: ``` Matt McCormick (3): COMP: Wrap GaussianImageSource for StructureTensor BUG: Move Python tests to wrapping/test/CMakeLists.txt ENH: Build against ITK 5.0.1 and bump Python package version
Ramraj (1): ENH: Implemented composite filters for phase analysis
Ramraj Chandradevan (2): ENH: Build against ITK 5.0.0 ENH: Update setup.py
```
LabelErodeDilate: ``` Mathew J. Seng (1): ENH: Change to enum to new enum class definitions
```
LesionSizingToolkit: ``` Jon Haitz Legarreta Gorroño (1): COMP: Fix unused type alias warnings
```
MinimalPathExtraction: ``` Matt McCormick (12): ENH: CI builds with ITK 5.0.0.post1 STYLE: Indentation in the example ENH: Example: check command line arguments STYLE: Example: Run clang-format DOC: SpeedFunctionToPathFilter update STYLE: SpeedFunctionToPathFilter improvements BUG: Use ITKTEMPLATEEXPORT with templated classes STYLE: Update license header ENH: Add Python test STYLE: Use const_cast instead of C cast STYLE: Use itkNotUsed ENH: DSA example notebook
Stephen Aylward (3): BUG: Replace include of itkExceptionObject.h with itkMacro.h BUG: Replace itkExceptionObject.h with itkMacro.h COMP: C++11 has deprecated the "throw" function declaration decorator
```
Montage: ``` Dzenan Zukic (4): BUG: read CRLF line endings without crashing COMP: adding a few missing typenames COMP: fixing example compile warnings on GCC 5.4.0 COMP: fixing warnings
Dženan Zukić (100): COMP: double-conversion is only a private dependency, not a public one ENH: tests now handle image spacing correctly BUG: fix spacing support ENH: replace pixels by physical units in file pairs test parameters DOC: expose transform writing in usage BUG: with peak merging enabled a peak can have a brighter pixel nearby ENH: Build against ITK 5.0.0 and bump Python package version ENH: do not require unnecessary maxima BUG: cosine interpolation avoids NaNs for additional candidates STYLE: rename directory of Ti7Al test case ENH: adding Ti7/Region110Mosaic36 and Ti7/Region110Mosaic180 tests ENH: Adding Medium Carbon Steel 1701701000000 test (UES corporation) ENH: adding 05MAR09run264-Raw test data from CMU ENH: add the problematic region of S200 as a standalone test case BUG: correctly offset translations by position of tile 0 BUG: fix calculation of average tile displacement error ENH: account for accumulation of errors ENH: Ti64 tests are no longer failing ENH: reorganizing test names and output locations ENH: expose allowing accumulation of errors (drift) in tests ENH: global optimization with outlier detection and removal ENH: increase test success threshold from 1.0 to 1.2 pixels ENH: update examples to support non-unit spacing STYLE: remove empty space in example ENH: use translation offsets instead of transforms internally ENH: move more test to expected to pass category STYLE: review suggestions BUG: fix re-ordering of peak maxima during zero suppression ENH: expose position precision in TileMontage class ENH: rewrite position tolerance to be expressed in pixels ENH: use tile position tolerance in tests. Closes #105. ENH: reduce evaluations of exp function ENH: write input images after FFT band-pass filtering ENH: crop images to overlapping portion for cross-correlation ENH: expand the cropping region BUG: fix wrong test parameters ENH: allow drift for MNML5 ENH: adding first registration pair of 10-129-C2 as a separate test BUG: I forgot to update sheet/line zero suppression formula ENH: do zero suppression only if needed ENH: make zero suppression more consistent and less pronounced ENH: prevent translations being rejected simply for being large ENH: more informative outlier reporting ENH: adding problematic S200 pairs as separate tests BUG: better message for wrong number of parameters BUG: merge peak distance was not respected (1 was always used) BUG: fix and slightly optimize zero suppression ENH: allow more low frequencies to pass by default STYLE: simplifying type specification ENH: allowing specification of real type used in FFTs BUG: residuals were not properly divided by spacing ENH: use registration confidence in equations and cost ENH: more granular progress reporting (per pair, not per tile) ENH: output indication of failing tile and average error to TSV file STYLE: avoid specifying ITK namespace when already inside it ENH: only two tests still fail ENH: change parameters of large tests to reduce peak memory use ENH: the stitched mosaic does not have to be written ENH: all tests write their result except S200 ENH: adding github.io as an alternative source for testing data COMP: ITK testing macros have ITK_ prefix since version 5.0+ Reduce majority of duplication in synthetic tests ENH: parallel generation of synthetic sphere image ENH: increase parallelism and cache tiles ENH: checking whether interpolation is needed COMP: fix unused variable warning BUG: Old .bmp named file was a TIFF ENH: adding ground truth creator. Closes #108. ENH: WindowedSincInterpolateImageFunction for better resampling quality ENH: update ITK to support RGB in WindowedSinc interpolator BUG: file opening was not checked for success. Closes #122. BUG: conversion from linear to nD index was wrong for 3D montages ENH: add 3D ground truth case STYLE: update clang-format style to follow recent ITK change STYLE: applying new ITK style STYLE: fixing KWStyle error STYLE: manual fix of KWSTyle alignment error STYLE: rename itkParseTileConfiguration into itkTileConfiguration STYLE: converting README.rst into README.md. Closes #128. ENH: support multi-dimensional tile configuration. Closes #127. ENH: Update InMemoryMontageTest to use nD structure STYLE: remove 2D from example names ENH: add TileConfiguration comparison tool ENH: add ImageCompareCommand.cxx from ITKExamples ENH: add 2D sample data to examples (from ground truth creator) ENH: add 3D sample data to examples (from ground truth creator) ENH: updating examples to work with nD montages ENH: Removing Parse/Write TileConfiguration2D ENH: read images just once ENH: adding bias field correction to the complete example ENH: write bias-corrected images ENH: add 3D test for CompleteMontage ENH: resolving TODOs ENH: add noise reduction step to the complete example ENH: add calculation of systematic translation bias to pair-wise test COMP: fixing in-source build of the examples BUG: fix buffer overflow on float to string conversion BUG: 1701701000000Fused is in TIF format ENH: better exception reporting in test ENH: better error reporting in GroundTruthCreator
Jon Haitz Legarreta Gorroño (1): COMP: Fix unused variable warning
Mathew J. Seng (1): COMP: Change to enum to new enum class definitions
Matt McCormick (9): ENH: Update CI Build to build against 5.0.0.post1 DOC: Update Azure pipeline badge ENH: Update Azure Pipelines configuration to support ITKPythonGitTag ENH: Remove Travis config ENH: Support arbitrary ITK C++ Git commit in Azure ENH: Bump CI ITK Git commit to 2019-07-23 master ENH: Bump Python package version to 0.4.0 ENH: Build Python package against ITK 5.0.1 DOC: Document installation
```
MorphologicalContourInterpolation: ``` Mathew J. Seng (1): STYLE: Change to enum to new enum class definitions
```
NeuralNetworks: ``` Hans J. Johnson (1): DOC: Explicitly specify that these methods are outdated
Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
```
ParabolicMorphology: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Use "typename" for template parameters.
```
PhaseSymmetry: ``` Dženan Zukić (4): ENH: allow finding ITK via configuration file COMP: build with legacy disabled ENH: use ITKImageIO and ITKTransformIO in examples' CMakeLists.txt BUG: maintain image direction in internal filters. Closes #23.
Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (5): ENH: Add Azure pipelines configuration COMP: Address signed / unsigned integer comparison warnings COMP: Remove unused variable DOC: Add Azure badge and C++ installation to README BUG: Disable the module examples since they require SEM
Zahil Shanis (2): BUG: Reverted Flip output Removed itkFlipImageFilter from header
```
RLEImage: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Mathew J. Seng (1): ENH: Change to enum to new enum class definitions
```
RTK: ``` Antoine Robert (1): ENH: Wrapped TotalVariationDenoisingBPDQImageFilter
Gordian Kabelitz (2): COMP: Remove dependency from std::unaryfunction FIX Change frpm std::randomshuffle to std::shuffle
Lucas GANDEL (1): ENH: Setup azure pipelines
Lucas Gandel (1): COMP: Set RTK target properties
PA Rodesch (2): One-step two materials ENH: Wrapping for rtkMechlemOneStepSpectralReconstructionFilter with 2 or 3 materials
Simon Rit (33): DOC: fixed image types in dot graph ENH: improve backprojection speed for cylindrical detector with atan2 BUG: detector offsets badly accounted for with cylindrical detector in backprojection COMP: fix new itkReadRawBytesAfterSwappingMacro format FIX: exception for parallel geometry was not thrown DOC: first version of the installation instructions FIX: remove HelloWorld code (fully overlaps with FirstReconstruction) DOC: add missing consortium members in LICENSE.TXT COMP: adapt to enum class objects COMP: remove nvcc-check.cmake, rely on system configuration. BUG: part of the CUDA data manager was not thread safe FIX: remove nvcc-check.cmake from install (deleted by 0fe32a6) FIX: replace CudaInPlaceImageFilter with CudaImageToImageFilter where required ENH: made rtkspectralonestep compatible with 2 or 3 materials STYLE: remove unused code ENH: New itk::CudaMemoryProbe ENH: modified time probing with time + (cuda) memory probing ENH: process projections one by one in Mechlem's one step COMP: missing Windows dll export in itk::CudaMemoryProbe ENH: new option in spectral one step to use spatially varying regularization FIX: wrapping warning ENH: add possibility to add clip planes to geometric phantom ENH: add Attenuation member to convex shapes for exponential line integral DOC: remove doxygen warnings caused by multiple group definitions COMP: fix errors introduced by InsightSoftwareConsortium@0f23472 FIX: add exception for wrong file name in ProjectionsReader COMP: remove vnl warnings caused by InsightSoftwareConsortium/ITK#1422 COMP: avoid brew install cmake in TravisCI OSX, seems usesless and harmful now STYLE: add ; after macros STYLE: use newer version of ReadRawBytesAfterSwapping STYLE: split lines longer than 120 characters in digraph STYLE: apply ITK's clang-format Release of RTK v2.1.0
```
SCIFIO: ``` Dzenan Zukic (1): COMP: fix direct inclusion of itkExceptionObject
```
SimpleITKFilters: ``` Bradley Lowekamp (4): BUG: Removing comment out use of ITK test macro ENH: Update CI to use Azure pipeline BUG: Update to new ITK_ prefixed testing macros Update README with Azure Pipeline badges
```
SkullStrip: ``` Jon Haitz Legarreta Gorroño (2): ENH: Transition the example to the ITK testing framework. BUG: Fix wrapping.
Matt McCormick (1): BUG: Use ITKTEMPLATEEXPORT macro for StripTsImageFilter
```
SplitComponents: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Prefer = default to explicitly trivial implementations
Matt McCormick (1): ENH: Bump ITK package dependency to 5.0.0.post1
```
Strain: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (5): ENH: Add Azure Pipelines configuration DOC: Add Azure Pipelines badge DOC: Add Python package installation BUG: Do not wrap ImageToImageFilter scalar to covariant vector ENH: Bump Python package version to 0.2.0
```
SubdivisionQuadEdgeMeshFilter: ``` Jon Haitz Legarreta Gorroño (1): ENH: Add CI.
```
TextureFeatures: ``` Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (2): ENH: Update Python package for ITK 5.0.0.post1 COMP: Bump ITK C++ testing Git tag to 2019-06-21 master
```
Thickness3D: ``` Matt McCormick (2): BUG: Prevent segfault in MedialThickness constructor (#24) ENH: Build Python package against ITK 5.0.0.post1 (#25)
Thomas Janvier (3): BUG: fix tests after PR#24 (#26) REL: update version after tests validation (#27) Update README.rst
```
TotalVariation: ``` Dženan Zukić (1): ENH: Build against ITK 5.0.0
Jon Haitz Legarreta Gorroño (1): STYLE: Add ITK prefix to testing macros
Matt McCormick (5): BUG: Require ITK 5.0.1 for the Python package build BUG: Remove old Azure configuration ENH: Update Azure configuration to use ITK 5.0.1 BUG: Run Window Python package build as administrator Revert "BUG: Run Window Python package build as administrator"
Samuel Gerber (1): FIX: Image Axes Change
```
TwoProjectionRegistration: ``` Dženan Zukić (1): COMP: do not #include "itkExceptionObject.h" directly
Matt McCormick (8): ENH: Bump tests with Release CMAKEBUILDTYPE ENH: Bump setup.py version to 1.0.1 ENH: Bump Azure ITK version for ITK 5.0.0 COMP: Add SiddonJacobRayCastInterpolateImageFunction for ITK 5 COMP: Remove GetMTime method COMP: Use SpatialObject explicit IsInsideWorldSpace API for ITK 5 DOC: Add Python installation instructions DOC: Fix Python package installation formatting
```
- C++
Published by thewtex about 6 years ago
itk - ITK 5.1 Beta 1: NumPy Interface, Part 1
ITK 5.1 Beta 1 Release Notes
We are happy to announce that the Insight Toolkit (ITK) 5.1 Beta 1 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.1 Beta 1 is a pre-release to enable testing of major improvements to ITK's NumPy interface.
Python Packages
ITK Python packages can be installed by running:
pip install --upgrade --pre itk
The --pre flag will install the beta pre-release.
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Pass NumPy Array's to ITK Image Filters
The Pythonic, functional-like interface to all ITK image-to-image-filters now directly supports operation on NumPy array'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) ```
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 will no longer be available.
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. We are refining the related documentation and improving automated application of the style.
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.
ITK 5 Improvements
Many more improvements and refinements were added since the ITK 5.0.0 release, which are detailed in the change log below. For example, a number of improvements were made to the itk::SpatialObject's.
Congratulations
Congratulations and thank you to everyone who contributed to this release. Of the 25 authors, we would like to specially recognize the new contributors: James Butler, Neslisah Torosdagli, Rinat Mukhometzianov, Genevieve Buckley, and yjcchen091.
What's Next
Additional improvements ITK's NumPy interface are planned for the next pre-release. Try out the current release, and take part in the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
Enjoy ITK!
Changes from 5.0.0 to 5.1 Beta 1
``` Bradley Lowekamp @blowekamp (32): BUG: Use ProcessObject GetInput to obtain base pointer BUG: Fix ProcessObject::RemoveOutput for null objects. COMP: Address missing fftw include in CurvatureRegistrationFilter BUG: Fix ProcessObject::RemoveOutput for null objects. BUG: Add casting for vector pixel types STYLE: Use CTESTTESTTIMEOUT ENH: Add testing for CastImageFilter for more type conversions BUG: Restore support for Cast between explicitly cast-ed pixel type BUG: Use ProcessObject GetInput to obtain base pointer ENH: Add testing for CastImageFilter for more type conversions BUG: Restore support for Cast between explicitly cast-ed pixel type BUG: Add DataObject::New method BUG: Install FFTW headers in same location as ITK Revert "BUG: InterpolateImageFunction::GetRadius hidden in ITKV4COMPATIBILITY" BUG: Preserve Interpolate GetRadius behavior with ITKv4Compatibility Revert "COMP: forgotten class for ITKV4COMPATIBILITY in 2aae174" BUG: HDF5 is clobbering ctest TIMEOUT variables COMP: Fix not marked 'override' for ImageSink destructor BUG: Use enableif with SFINAE to dispatch ENH: Add Vector constructor from C arrays with cast COMP: Work around uninitialized value warnings ENH: Update ITKv4 registration example to use resample over warp BUG: Specify specific CircleCI docker image with platform COMP: Address compilation warning with aggregate initializer BUG: Specify specific CircleCI docker image with platform ENH: Adding VS2019 v142, VS2017 v140 Azure Pipelines on merge DOC: Tweak internal documentation in SliceImageFilter BUG: Address bug with small size in output of SliceImageFilter ENH: Add more test cases for the SliceImageFilter COMP: Address internal compiler error on MSVC 19.0.24234.1 (v140) ENH: Add check expected input in HistogramMatchingImageFilter COMP: Add missing enum typename from prior enum declaration style
Csaba Pinter @cpinter (2): BUG: Fix loading of DICOM files with no preamble ENH: Add test for DICOM without preamble for DCMTK and GDCM
Davis Vigneault @DVigneault (1): BUG: Make BuildCellLinks method const
Dženan Zukić @dzenanz (32): BUG: number of work units was greater than 1 even for 1 thread BUG: fix a crash with ITKDEFAULTMAXTHREADS greater than 250 BUG: resample filter no longer triggers unnecessary exception COMP: change export specification to template for un-specialized method COMP: forgotten class for ITKV4COMPATIBILITY in 2aae174 ENH: use double-conversion's CMake targets COMP: fix warning about missing override in CastImageFilter DOC: wrong class name for PlatformMultiThreader COMP: get rid of MSVC's warning 4661 ENH: enable GaussianInterpolateImageFunction to work with streaming STYLE: reduce space in ivar declarations STYLE: ITK indentation style in test STYLE: invert the name and internal logic of waiting for threads BUG: ThreadPool::DoNotWaitForThreads did not work properly STYLE: Add ITK prefix to testing macros in release branch DOC: invocation of AddWork uses -> because instance is always a pointer ENH: updating remote modules ENH: PoolMultiThreader uses one less thread ENH: documenting supported compilers ENH: updating remote modules STYLE: more consistent code formatting in test driver BUG: offset was not updated after changing Euler angle order (ZYX) Fix broken link in Data.md ENH: support RGB image in windowed sinc interpolation ENH: support RGB image in windowed sinc interpolation ENH: updating remote modules ENH: back-porting #1165 to support Visual Studio 2019 ENH: updating remote modules COMP: fixed enum name error when legacy is OFF and ITKUSEGPU is ON ENH: removing deprecated Python functionality: imp ENH: removing deprecated Python functionality: sys.versioninfo 2/3 ENH: removing deprecated Python functionality: import printfunction
Francois Budin @fbudin69500 (4): BUG: ImageBase regions and ImageRegion properties are returned as reference DOC: Add ITK 5.0 release notes BUG: mNumberOfPointPixels was set equal to mNumberOfPoints ENH: Adds swig include directory to command line
GDCM Upstream (1): GDCM 2019-05-22 (cc5358a1)
Genevieve Buckley @GenevieveBuckley (1): BUG: All exceptions must be derived from python's BaseException class
Hans J. Johnson @hjmjohnson (64):
ENH: Update SphinxExamples to lastest master branch
COMP: Add attribute for large doxygen config file.
DOC: Remove ITKFUTURELEGACYREMOVE from documentation
ENH: Disable remote module processing when creating doxygen.
STYLE: Prevent double initialization
DOC: Purge outdated media wiki WikiExamples
BUG: Missed propagation of library dependancies
ENH: Deprecate Neuralnetwork module
Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4"
STYLE: Remove deprecated support for ITKWRAPPYTHONLEGACY
DOC: Only warn when ModuleNeuralNetworks is selected
ENH: Use consistent project name with module name
COMP: Fix clang-format nesting of empty macros
DOC: Deprecate https://itk.org/Wiki/ITK/Examples content.
DOC: Provide doxygen links for sphinx
DOC: Improve the documentation clarity for NormalizeImage.
DOC: Moved wiki examples to sphinx examples part2
ENH: itkObjectToObjectOptimizerBase Must be explicitly instantiated
COMP: Terminate conditional doxygen sections
DOC: Set class name for StreamingProcessObject doxygen
ENH: Update the DoxygenLayout.xml file
ENH: Update template files for Doxygen.
BUG: Patch submission scripts conflict with doxygen
COMP: Resolve 1000's of alias warnings in 1.8.15
DOC: Moved wiki pages to sphinx examples
BUG: Flawed logic for itkExceptionObject.h guards
STYLE: Use override statements for C++11
STYLE: Prefer c++11 'using' to 'typedef'
COMP: Another work around uninitialized value warnings
ENH: Prefer c++11 'using' to 'typedef' for structs
COMP: Update AnalyzeObjectMapIO remote for ITKv5.0
COMP: Suppress warning about file that is too large
STYLE: Use = default for trivial constructors
STYLE: For loops can have a space before ;
STYLE: Suppress longstanding kwstyle violations
STYLE: Use templated function over macro
ENH: Add LONGLONG & ULONGLONG types
STYLE: Remove unused protected ivar mMyProduct
COMP: Isolate RAWIO non-templated code in cxx file
PERF: Byteswap only when request != system byte order
STYLE: Suppress longstanding kwstyle violations
STYLE: Define the .clang-format config file
ENH: Add script to assist with running clang-format on topic-branches
ENH: Update C++/C attributes for itk style conformance.
ENH: Add copy of git-clang-format from llvm binaries
ENH: Add cmake configuration for clang-format
ENH: Setup clang-format hooks for pre-commit-style
DOC: Add missing line separator for ingroup ITKCommon
DOC: Fix spelling typo VeriyInput -> VerifyInput
ENH: Refactor to allow ReferenceHistogram instead of ReferenceImage
COMP: Remove One Definition Rule conflict
COMP: Fix missing type specialization for unsigned long long int
STYLE: Convert 'enum' to 'enum class' objects with print enum function
ENH: Workaround MSVC preprocessor name conflict
STYLE: Prefer enum class definitions internally
STYLE: Prefer consistent capitalization of Colormap
ENH: Ignore wrapping warnings for enum class
BUG: Missing ImageAdapter function signatures
COMP: Change KWStyle to allow reformat to pass.
STYLE: No-space inside <> () []
STYLE: Change the packing of parameters.
STYLE: Use shorter column length for Software Guide.
STYLE: End of history preceeding clang-format-8.0 style
STYLE: Fix spelling error foramt -> format
ITK Maintainer (1): STYLE: Enforce ITK style defined by .clang-format
James Butler @jamesobutler (1): COMP: Add cmakeminimumrequired to ITKNumericsFEM
Jean-Christophe Fillion-Robin @jcfr (1): ENH: Support building ITKNumericsFEM as external module
Jon Haitz Legarreta Gorroño @jhlegarreta (4): STYLE: Fix indentation in bash script ENH: Add script to update ITK testing macros names BUG: Fix remotes maintenance scripts BUG: Fix wrong variable names
Matthew McCormick @thewtex (61):
ENH: Bump the ITK CMake version to 5.1.0
ENH: New content links for ITK 5.0.0
STYLE: DeformableRegistration2 line length warnings
COMP: SpatialObjectsHierarchy Software Guide newline
ENH: Bump CI ExternalDataVersion to 5.0.0
DOC: Release generation updates for ITK 5.0.0
DOC: Add a note about updating conda-forge for post wheels
ENH: Update Doxygen to 1.8.15
BUG: Add test/CMakeLists.txt stub to NumPy bridge
COMP: Provide NumericTraits
MetaIO Maintainers (1): MetaIO 2019-05-22 (5f90075b)
Mihail Isakov (1): ENH: added missing symbols to JPEG mangling header
Neslisah Torosdagli @neslimsah (2): BUG: Regression in PolygonSpatialObject::IsInsideInObjectSpace #1082 BUG: Regression in PolygonSpatialObject::IsInsideInObjectSpace #1082
Niels Dekker @N-Dekker (22):
PERF: Replace mutex by atomic in MersenneTwisterRandomVariateGenerator
STYLE: Remove two duplicated #include
Pablo Hernandez-Cerdan @phcerdan (1): BUG: Fix COMPILE_DEFINITIONS of castxml
Rinat Mukhometzianov @rmukh (3): COMP: MSVC AVX flag fix COMP: Fix SSE for MSVC x86 COMP: Replace legacy ITKCheck...Flag.cmake with check..._flag cmake function
Samuel Gerber @samuelgerber (7): PERF: Remove Temporary Variable in GetMeasurementVector ENH: Add Multithreading to PointSetToPointSetMetricv4 ENH: Add Multithreading to PointSetToPointSetMetricv4 ENH: Add Multithreading to PointSetToPointSetMetricv4 Revert "Revert "Merge pull request #1039 from samuelgerber/MultithreadPointSetToPointSetMetricv4"" BUG: Fix PointSetToPointSetMetric Thread Safety BUG: Fix CompositeTransform ThreadSafety
Stephen Aylward @aylward (17): ENH: Updated Spatial Object tex to match ITKv5 BUG: Fixed spelling mistakes and use of plural member functions ENH: Updated Spatial Object tex to match ITKv5 BUG: Fixed spelling mistakes and use of plural member functions BUG: Fix grammar and naming mistakes in SpatialObject documentation DOC: Fixed expected output of examples and documentation BUG: Fix grammar and naming mistakes in SpatialObject documentation DOC: Fixed expected output of examples and documentation BUG: Use AddPoint() for PointBasedSpatialObjects to set SO ENH: Replace ExceptionObjects with itkExceptionMacro. BUG: Use AddPoint() for PointBasedSpatialObjects to set SO ENH: Replace ExceptionObjects with itkExceptionMacro. ENH: Converted TubeSpatialObject ComputeTangentsAndNormals to frenet BUG: Resolve corner case bug in ComputeTangentsAndNormals in TubeSO ENH: Improved IsInside computation (speed and accuracy) of tube ENH: Updating TubeSO test to match assumption that default is EndRounded BUG: operator= defined in [tube|*]SpatialObjectPoint incomplete
Steve Pieper @pieper (1): DOC: ITK5 SpatialObject Scene to Group change
VXL Maintainers (1): VNL 2019-08-15 (7cc97a62)
Ziv Yaniv @zivy (1): DOC: Correcting some grammer and updating the toolkit name. (#980)
@maekclena (10): STYLE: Add ITK prefix to testing macros BUG: Fix BSplineGradient configuration ENH: Mark VectorExpandImageFilter as deprecated ENH: Deprecate VectorCentralDifferenceImageFilter ENH: Remove VectorExpandImageFilter when ITKLEGACYREMOVE is on BUG: add required method for Pickling BUG: Fix GaussianInterpolateImageFunction with streaming BUG: Avoid buffer overwriting in DCMTKImageIO ENH: Disable itkDCMTKImageIOMultiFrameImageTest BUG: Mitigate overflow in DCMTKImageIO::Read
@yjcchen0913 (1): BUG: Ensure strict weak ordering in HessianToObjectnessMeasure's sort
```
- C++
Published by thewtex over 6 years ago
itk - ITK 5.0.1
ITK 5.0.1 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.0.1! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
Python Packages
ITK Python packages can be installed by running:
pip install itk
or to install the conda package, run:
conda install -c conda-forge itk
Software Guide
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
ITK 5.0.1 is the first patch release that addresses issues identified in the major 5.0.0 release. For more details on ITK 5, see the ITK 5.0.0 Release Notes.
This release improves support for ITK's use in Dask, the scientific Python distributed computing library, addresses a number of build and runtime corner cases, and makes updates to the Software Guide for ITK 5. For more details, see 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. The ITK Examples are currently undergoing a major integration and update effort lead by community member Hans Johnson -- your participation is welcome. Take part in the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
We have a soft commitment to backwards compatibility to address any potential API or architectural issues until the next feature release. Stay tuned for upcoming announcements on ITK's integration with modern web technologies and improved support for Remote Module development on GitHub.
Enjoy ITK!
Changes from 5.0.0 to 5.0.1
``` Bradley Lowekamp (8): BUG: Fix ProcessObject::RemoveOutput for null objects. BUG: Use ProcessObject GetInput to obtain base pointer ENH: Add testing for CastImageFilter for more type conversions BUG: Restore support for Cast between explicitly cast-ed pixel type BUG: Install FFTW headers in same location as ITK COMP: Fix not marked 'override' for ImageSink destructor BUG: Use enable_if with SFINAE to dispatch BUG: Specify specific CircleCI docker image with platform
Dženan Zukić (5): BUG: resample filter no longer triggers unnecessary exception COMP: forgotten class for ITKV4_COMPATIBILITY in 2aae174 COMP: fix warning about missing override in CastImageFilter STYLE: Add ITK prefix to testing macros in release branch ENH: documenting supported compilers
Francois Budin (2): BUG: ImageBase regions and ImageRegion properties are returned as reference DOC: Add ITK 5.0 release notes
GenevieveBuckley (1): BUG: All exceptions must be derived from python's BaseException class
Matthew McCormick (16):
ENH: New content links for ITK 5.0.0
STYLE: DeformableRegistration2 line length warnings
COMP: SpatialObjectsHierarchy Software Guide newline
BUG: Add test/CMakeLists.txt stub to NumPy bridge
COMP: Provide NumericTraits
Pablo Hernandez-Cerdan (1): BUG: Fix COMPILE_DEFINITIONS of castxml
Stephen Aylward (4): ENH: Updated Spatial Object tex to match ITKv5 BUG: Fixed spelling mistakes and use of plural member functions BUG: Fix grammar and naming mistakes in SpatialObject documentation DOC: Fixed expected output of examples and documentation
yjcchen0913 (1): BUG: Ensure strict weak ordering in HessianToObjectnessMeasure's sort ```
- C++
Published by thewtex over 6 years ago
itk - ITK 5.0.0
ITK 5.0.0 Release Notes
We are happy to announce the Insight Toolkit (ITK) 5.0.0! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.
ITK 5.0.0 is a major release that features an incredible number of improvements: This includes major enhancement in the development process, major code refactoring, addition of important features, improvement of ITK Python wrapping, and more.
Python Packages
ITK Python packages can be installed by running:
pip install itk
or to install the conda package, run:
conda install -c conda-forge itk
Software Guide
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums
Montaging for microscopy imaging files with the new ITKMontage remote module: High-Performance, Open-Source Microscopy Image Montaging. Matthew McCormick , Dženan Zukić , François Budin , Michael Jackson, Dennis Dimiduk , David Rowenhorst , Sean Donegan, and Michael Groeber. WBIR 2018.
ITK on GitHub
An important step has been taken to faciliate participation of the community in the development of ITK: The official repository was moved to GitHub! This move includes ITK's main repository, as well as many other ITK projects such as the ITKExamples, and many ITK remote modules. It is now very easy for anyone to participate in the development of the library. This has already been a success with many new authors getting involved and submitting patches through the GitHub pull-request mechanism. This change also includes moving the issue tracker to the GitHub issue tracker where any problem encountered with ITK should be reported. ITK's GitHub migration was explained in more detail in ITK 5.0 Beta 3: GitHub. Finally, moving ITK to GitHub made it straightforward to use Microsoft Azure Pipeline Continuous Integration platform: Each pull-request is tested on all 3 major platforms (Windows, Linux, MacOS) and Python builds can be requested to ensure that a patch can be integrated.
C++11
Major C++ code refactoring brought dramatic improvements to ITK's API and performance (see ITK 5.0 Alpha 1: Modern C++ for more details). ITK now uses the C++11 standard allowing the developers full access to its new powerful features such as range-based loops, constexpr, lambda expressions, and uniform initialization syntax. Using C++ 11 also removes the necessity of many ITK macros (e.g. ITK_NULLPTR, ITK_DELETED_FUNCTION) which have equivalents in the new standard. This also leads to changes in style to match the C++ 11 best practices. This includes replacing typedef calls with the using keyword to improve source code readability. ITK's C++ code is easier to read, understand, and maintain!
Thread Pool
This new release of ITK also integrates big performance improvements thanks to the refactoring of the multithreading infrastructure with a thread pool available by default, and the possible usage of the Intel Threading Building Blocks (TBB) threading backend (see ITK 5.0 Alpha 2: Performance for benchmarks).
Spatial Objects
Additionally, a major upgrade of the ITK Spatial Object framework, which provides a representation of objects and the mechanism to specify their spatial relationship relative to other objects in a scene, was integrated in this new version of ITK. The new code improves consistency in the programming interface and simplifies implementation and usage (more details in ITK 5.0 Release Candidate 2: Spatial Object’s.
New Features
Other new features in this ITK release include new algorithms, better mesh support (see ITK 5.0 Release Candidate 1: Meshes), new global variable model using one singleton, and better streaming capabilities.
Third Party Libraries
Eigen, a C++ library for linear algebra, was integrated in ITK and gradual transition from VXL to Eigen for Linear algebra is planned. Many third party libraries were updated: VNL, DCMTK, GDCM, HDF5, KWSys, MetaIO, Zlib, GIFTI, nifti, pygccxml.
Remote Modules
Remote modules, which allow easy integration of new image processing algorithm in ITK, were updated and new Python packages compatible with this new release of ITK were created. Four new remote modules were also added to ITK: PhaseSymmetry, IOOpenSlide, Montage, and BSplineGradient (description of the modules in ITK 5.0 Beta 3: GitHub).
Python
Traditionally, ITK in Python had to be used through an object-oriented interface. In this new release, we have added a functional interface which is more Pythonic and should be more familiar to Python programmers. Examples on how to use this new procedural interface are available in ITK 5.0 Beta 1: Pythonic Interface.
Congratulations
Congratulations and thank you to everyone who contributed to this release. Of the 49 authors, we would like to specially recognize the new contributors, Isaiah Norton, maekclena, Rashad Kanavath, Bai Shi, Hui Xie, Martino Pilia, Ally Warner, pierre33, Chao Wu, Gregory C. Sharp, Bryce A Besler, Kwame Kutten, Mihail Isakov, Jerome Schmid, Roman Grothausmann, Alexis Girault, Gabriel A. Devenyi, Marian Klymov, Thomas Janvier, and Forrest Li.
Migration to ITKv5
The ITK 5 Migration Guide is available to help transition a code base from ITK 4 to ITK 5. Please discuss your experiences on Discourse.
What's Next
Join us in the creation of advanced, open source scientific image analysis tools. Get started with the ITK examples. Take part in the community discussion at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.
We have a soft commitment to backwards compatibility to address any potential API or architectual issues until the next feature release. Stay tuned for upcoming announcements on ITK's integration with modern web technologies and improved support for Remote Module development on GitHub.
Enjoy ITK!
Changes from 5.0 RC 2 to 5.0.0
``` Alexis Girault @agirault (4): ENH: Compare images converted from and to VTK in ITKVtkGlue tests ENH: Pass directions in VTKImage import/export classes ENH: Throw exception when necessary while importing a vtk image BUG: Ignore calls to the direction APIs in VTK if lower than 8.90
Bradley Lowekamp @blowekamp (46): COMP: Address const char[] conversation warning BUG: Fix leaking PNGIO resources during exception BUG: Remove redundent fclose on PNG file pointer ENH: Add Valgrind suppression file for Ubuntu 18.04 LTS BUG: Update FEM test for new spatial objects COMP: Correct continuous index type BUG: Address valgrid defects related to the PointSpatialObject BUG: Fix ownership of environment variable value BUG: Fix leak in SpatialObject InternalClone method ENH: Update a couple example to use the resample instead of warp BUG: Set all component of 3D points BUG: Add named output support to StreamingImageFilter ENH: Deprecate VectorResampleImageFilter ENH: Consolidating setting compression level interface to ImageIOBase ENH: Implement InternalSetCompressor method in ImageIOs DOC: Add compression documentation to ImageIOs ENH: Use the empty string "" for the default compressor ENH: Add compression level support to NRRD IO ENH: Improve TIFF ImageIO compression testing ENH: Add base class for generic streaming processes ENH: Add ImageSink base filter class ENH: Use streaming base class for LabelStatisticsImageFilter ENH: Use named input in LabelStatisticsImageFilter ENH: Add streaming support to StatisticsImageFilter ENH: Add testing for streaming with StatisticsImageFilter ENH: Remove output image, use standard decorator macros ENH: Refactor min/max filter to use ImageSink ENH: Add ImageSink::VerifyInputInformation ENH: Add KWStyle override for ImageStatistics module ENH: Use streaming sink base class for image to histogram filters ENH: Deprecate ImageTransformer class BUG: Update NormalizeImageFilter with double graft mini-pipeline DOC: statistics filter changes for ITKv5 ENH: Add Python wrapping for streaming base classes ENH: Add streaming testing of label statistics filter COMP: Move deprecated VectorCastImageFilter wrapping to deprecated BUG: Fix path for Brain Web data BUG: Correct StreamingProcessObject's progress computation STYLE: prefer variable-less catch re-throw BUG: Set current request number back to -1 after stream execution ENH: Expose streaming methods in MinimumMaximumImageFilter ENH: Add streaming testing for min max filter ENH: replace RGB adaptor with directly using CastImageFilter ENH: Add cast support for per component conversion ENH: Mark the Cast functor to be remove with legacy code DOC: Update documentation for streaming statistics filters.
Dženan Zukić @dzenanz (25): ENH: make ITKMAXTHREADS configurable BUG: fix threading test bugs when ITKDEFAULTMAXTHREADS is over 256 COMP: compile GPU classes with legacies disabled COMP: removing extraneous DLL specification from private member COMP: follow-up on recent removal of METAIOSTL macro COMP: add missing dependent module for ITKv3 examples COMP: ResampleImageFilter does not have SetDisplacementField method ENH: reduce default compression level for much faster compression BUG: compression was accidentally disabled in NrrdImageIO COMP: compile in ITK STYLE: move ivar default values to header file ENH: expose setting compression level in ImageFileWriter ENH: expose compression level in MetaImageIO BUG: the clang version check was overly strict on Apple platforms COMP: fix build failures introduced by c76b193 (#886) ENH: cleaning up tests which are almost exact duplicates from MetaIO ENH: updating remote modules COMP: fix warning: 'return' will never be executed COMP: fix export specification of Barrier class COMP: follow up to 814419a (bounding box m_CornersContainer removal) ENH: LevelSetsv4Visualization has moved to remote module ITKVtkGlue ENH: run large image IO tests serially ENH: enabling ResampleImage streaming test and updating baselines ENH: enabling ResampleImage streaming test and updating baselines ENH: exclude Eigen3 from the list of default modules
Francois Budin @fbudin69500 (19):
ENH: Add fallback_only parameter to imread() Python function
ENH: Add suffix to Azure build running gcov to differentiate them
STYLE: Add display name to checkout step in AzurePipelineBatch.yml
ENH: Add JUnit test formatter to AzurePipelinesBatch.yml
STYLE: Add badge for Azure pipeline Linux code coverage build
ENH: Warning when trying to open in Python an image file that doesn't exist
BUG: Missing ci_addons to convert ctest results to JUnit format
BUG: Disable itkObjectFactoryBasePrivateDestructor test with -static link flag
ENH: Add Python function to print Python class name corresponding to C++ class
ENH: Python ImageFileReader error message improvement
ENH: Warning when trying to open in Python an image file that doesn't exist
ENH: Follow up commit to fix itkBoundingBox with LEGACY support
ENH: Follow up commit to fix itkBoundingBox with LEGACY support
BUG: std::list of LineSpatialObject needs to be wrapped
BUG: ITK could not find Eigen3::Eigen target when using system Eigen
BUG: Revert changing call to Initialize() with clear()
BUG: Corner positions were inserted at the end of a list that was initialized
BUG: Enforces consistent types
BUG: Remote modules Python files (*.so, *.py) were built in the wrong folder
GDCM Upstream (1): GDCM 2019-05-16 (e405908e)
Hans J. Johnson @hjmjohnson (20): BUG: Usage name did not match file name. STYLE: Minor indentation improvements. ENH: Enable ITKV3COMPATIBILITY option STYLE: Remove outdated python examples STYLE: Syncronize changes between RegistrationITKv[34] STYLE: Remove RegistrationITKv3 duplicate examples ENH: Remove ITKV3COMPATIBILITY support from ITKv5.0 STYLE: Move deprecated Examples/RegistrationITKv3 to test BUG: Explicit RegisterRequiredFactories needed as test STYLE: Remove Software Guide tags from ITKv3 testing DOC: Make use of checkboxes consistent with github ENH: Add cmake override for GITTAG of remote modules STYLE: Remove custom environmental override for WikiExamples DOC: Fix spelling errors ENH: Identify histogram min/max for UseSampledPointSet BUG: itkConfigure.h defines ITKDEFAULTMAXTHREADS COMP: Remove unused static variable warning DOC: Remove documentation references to VectorResampleImageFilter DOC: Remove VectorCastImage documentation references ENH: Changes required for ITKv5 compatibility
Jon Haitz Legarreta Gorroño @jhlegarreta (4): STYLE: Remove tab. DOC: Improve remote modules' maintenance scripts documentation ENH: Add a script to apply another script to all remotes DOC: Modify the CoC breach reporting procedure
Mathieu Malaterre @malaterre (3): STYLE: Teach git about GDCM oversize file BUG: Do not include COPYING from a non existing directory DOC: Fix old reference to Image Number
Matthew McCormick @thewtex (23): COMP: Wrap functions for WindowedSincInterpolateImageFunction COMP: Wrapping windowed sinc function includes COMP: Update for changes to VTK target names DOC: Improve ease of release note command execution DOC: Document generation of MD5SUMS and SHA512SUMS files for releases DOC: Add More Information section to CONTRIBUTING DOC: Add ITK 5.0 RC 2 release notes BUG: PythonFindEmptyClasses test for windowed-sinc functions BUG: Prevent ITKMesh README.md from installation as header BUG: Fix identification of Clang major version COMP: ImageMaskSpatialObjectGTest array initialization COMP: ImageMaskSpatialObjectGTest add braces for initialization ENH: Expand ResampleImageFilter requested region by interpolator domain STYLE: Use typename instead of class in ImageSink STYLE: override methods should not be marked virtual BUG: ImageSink defines UpdateLargestPossibleRegion STYLE: StreamingProcessingObject passing void with no arguments BUG: {MinimumMaximum,StatisticsImageFilter} set PrimaryOutputName BUG: Remove MinimumMaximumImageFilter from module2module test pipeline BUG: InterpolateImageFunction::GetRadius hidden in ITKV4COMPATIBILITY BUG: Condition Eigen export code on ITKBINARYDIR BUG: Fix ITKv3 registration test names for property setting BUG: Remove CTESTTEST_TIME debug message
MetaIO Maintainers (5): MetaIO 2019-05-03 (7e16abe1) MetaIO 2019-05-08 (dd5089a2) MetaIO 2019-05-15 (bffb2ef1) MetaIO 2019-05-16 (5010ab63) MetaIO 2019-05-21 (368213e5)
Niels Dekker @N-Dekker (21):
ENH: Add std style reverse iterators to FixedArray
ENH: Add ImageMaskSpatialObject::ComputeMyBoundingBoxInIndexSpace()
STYLE: SpatialObject() = default, const BoundingBox, Transform members
ENH: Added tests for ImageMaskSpatialObject::IsInside
ENH: Test ImageMaskSpatialObject::IsInside independent of distant pixels
BUG: Fix issue #785 removing BoundingBox check from ImageMask IsInside
PERF: Overload SpatialObject IsInsideInObjectSpace without name argument
BUG: Half a pixel margin ImageMaskSpatialObject::ComputeMyBoundingBox()
STYLE: Deprecated FixedArray member functions rBegin() and rEnd()
STYLE: Replace std::swapranges by C++11 std::swap of mInternalArray
DOC: Use the term "object space" for ObjectSpace based member functions
STYLE: Replace unsigned short by unsigned int as FixedArray index type
STYLE: Explicitly defaulted default-constructors Vector Accessor classes
STYLE: Ensure that ContinuousIndex TCoordRep is a floating point type
ENH: Convenience overloads for ImageBase Transform member functions
ENH: Add NumberOfCorners and ComputeCorners() to BoundingBox
STYLE: Remove (deprecate) BoundingBox::GetCorners() + mCornersContainer
COMP: Fixed GCC4 missing-field-initializers warning on {} in GTest
DOC: Fixed Doxygen description BoundingBox Get member functions
DOC: Fixed Doxygen description BoundingBox Get member functions
STYLE: Rename ITK macro EXPECTVECTORNEAR to ITKEXPECTVECTORNEAR
Roman Grothausmann @romangrothausmann (1): ENH: Bump remote module ParabolicMorphology
Simon Rit @SimonRit (4): COMP: remove MSVC 14 C4800 (performance) warnings with FFTW COMP: remove unused parameter warning with GCC 4.8.5 COMP: fix wrong GDCM library names for open jpeg ENH: update RTK remote file with release tag v2.0.1
VXL Maintainers (1): VNL 2019-05-08 (99697e67)
@maekclena (8): ENH: Update compiler macros (#810) BUG: Remove error prone test case BUG: Fix reverse iterator increment return type ENH: Add iterator increment operator return value test BUG: Minor python wrapping fixes ENH: Remove duplicate code ENH: Use ResampleImageFilter for vectors ENH: Deprecate VectorCastImageFilter (#870) ```
- C++
Published by thewtex over 6 years ago
itk - ITK 5.0 Release Candidate 2: Spatial Object's
We are happy to announce the Insight Toolkit (ITK) Release Candidate 2! :tada: This will be the final release candidate before the 5.0.0 release, and the community is encouraged to adopt 5.0 RC 2 in ITK-based applications.
Python Packages
ITK Python packages can be installed by running:
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums

Image denoising with the new *ITKTotalVariation** remote module. Left: Transmission electron microscopy image of pectin. Right: Denoised image.*
This release features a major upgrade to the ITK Spatial Object framework, led by Stephen Aylward, with contributions from Hastings Greer, Forrest Lee, Niels Dekker, Dženan Zukić, and Hans Johnson. In ITK, a itk::SpatialObject provides a representation of objects and the mechanism to specify their spatial relationship relative to other objects in a scene. Objects can be images but also abstract, parametric entities, such as a ellipse, box, or arrow, or point-based, such as a tube, contour, or surface. Objects can be organized into spatial hierarchies.SpatialObjects are key for model-based registration, integration of segmentation results in multiple formats, conversions to and from images, and capturing spatial relationships between structures.
In ITK 5, the SpatialObject framework was refactored to improve consistency in the the programming interface and simplify implementation and usage. As a result, incorrect or unexpected behaviors are avoided. Complexity and dependency were reduced by removing a dependency on the VNL tree data structures. Additionally, IndexSpace was removed from the API of all SpatialObjects to prevent ambiguity while providing a consistent and intuitive interface. Only two reference spaces are consistently and explicitly available in the API: ObjectSpace and WorldSpace. ObjectSpace is the space local to each object, where the object's parameters are defined. WorldSpace is the coordinate system defined by the top-level SpatialObject in a hierachy, which is defined by parent-child object relationships. Only two transforms are now consistently and explicitly available in the API: ObjectToParent transform and ObjectToWorld transform. The ObjectToParent transform moves an object within its parent's ObjectSpace. The ObjectToWorld transform is derived from component ObjectToParent transforms and is provided for convenience and to reduce redundant computations. The API is now more explicit regarding the space that an operation applies to. For instance, IsInside(point) is now IsInsideInObjectSpace(point) or IsInsideInWorldSpace(point). For more information on the SpatialObjects changes, see the ITK 5 Migration Guide.
The Python package synchronization infrastructure for static global variables was refactored to support more variables and permit future additions to the singleton. This will prevent the need to rebuild remote module binary Python packages following future releases of ITK 5. However, current remote module Python packages that use ITK 5 should be rebuilt and republished for ITK 5.0 RC 2.
For an overview of ITK 5's transition to modern C++, performance-related changes, the new, Pythonic API, the project's migration to GitHub, and Mesh improvements, see the ITK 5 Alpha 1: Modern C++, ITK 5 Alpha 2: Performance, ITK 5 Beta 1: Pythonic Interface, ITK 5 Beta 3: GitHub and ITK 5 Release Candidate 1: Meshes release announcements.

Tomographic phantom reconstruction with the new Reconstruction Toolkit (RTK) remote module.
New Remote Modules
ITKIOScanco: read and write Scanco microCT .isq files.ITKTotalVariation: total variation image denoising.ITKRTK: the Reconstruction Toolkit provides high performance implementations of advanced tomographic image reconstruction algorithms.ITKThickness3D: compute the skeleton and thickness transform from 3D images.
Performance Improvements
- Add MetaDataDictionary move support.
- MetaDataDictionary uses copy-on-write.
itk::Barrieris now deprecated: replace with the new multi-threading functions.- Range-based for loops supported in
itk::FixedArray. - Major performance improvements to TimeProbe, ResourceProbe constructor (issue #350).
Documentation
- Repository README files were migrated to Markdown.
Infrastructure
- Continuous code coverage builds from Azure Pipelines.
- Better support for unicode in KWSys.
itksys::hash_mapanditksys::hash_setare deprecated in favor ofstdequivalents.- New GitHub pull request templates and issue templates.
- New scripts added to update ITK remote modules.
Core
itk::SpatialObjectframework refactored (see release notes introduction).- Initial streaming support added to
itk::ResampleImageFilterfor linear transforms.
Third Party
- Eigen 3 updated to the latest version.
- Better support for building against a system Eigen.
- GDCM updated to the latest version.
- HDF5 updated to 1.10.4.
- ITKVtkGlue support for VTK with
VTK_RENDERING_BACKENDset toNone. - KWSys updated to the latest version.
- MetaIO updated to the latest version.
- VXL updated to the latest version.
- MINC updated to the latest version.
Python
- Static variable synchronization method refactored; ITK 5 remote module Python packages need to be rebuilt against 5.0 RC 2.
- Add wrapping for
itk.PCAShapeSignedDistanceFunction. - Docstrings added to snake case functions.
- Python tests should now be defined in
/wrapping/test/CMakeLists.txt to exclude their definition when wrapping is not enabled. - Conversion between ITK matrices and NumPy arrays is now supported.
- Additional wrapping types for
itk.ImageDuplicator. - Additional types supported for NumPy <-> ITK Image conversion.
- Additional wrapping and typemaps for
std::vector<itk::Image<...>::Pointer>. - Add wrapping for
itk.TriangleMeshToBinaryImageFilter. - Add wrapping for
itk.ExtrapolateImageFunction. - Add wrapping for
itk.WindowedSincInterpolateImageFunction.
To install the 5.0 Release Candidate 2 Python packages, run
sh
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
What's Next
There are many more improvements not mentioned above. For more details, please see the change log below. Congratulations and thank you to everyone who contributed to this release.
The ITK 5 Migration Guide is available to help transition a code base from ITK 4 to ITK 5. Please discuss your experiences on Discourse.
The ITK 5.0.0 final release is scheduled for May.
Enjoy ITK!
Changes from 5.0 RC 1 to 5.0 RC 2
``` Bradley Lowekamp @blowekamp (14): ENH: Add move support to the MetaDataDictionary object PERF: Implement copy on write for MetaDataDictionary ENH: adding MetaDataDictionary GTests BUG: Do not modify MetaDataDictionary with operator[] const ENH: Improve ExposeMetaData efficiency COMP: Address CMake policy warnings in ThirdParty libraries ENH: Update AzurePipelines configuration from master ENH: Explicitly set the XCode version used in Azure COMP: Use CMP0048 new for wrapping COMP: Set CMP0048 to new in ITK (Remote) Modules COMP: Address OSX Clang "direct access" linkage warnings ENH: Add Azure Pipelines script for coverage BUG: Fix Li threshold calculator for negative image values DOC: Correct documented Canny Segmentation filter example
Dženan Zukić @dzenanz (18): ENH: add better support for Unicode by using UTF-8 by default in KWSys BUG: propagate ITKLIBRARYPROPERTIES into zlib COMP: fixing MSVC warning C4800 ENH: refactoring NarrowBandImageFilterBase to not use Barrier DOC: fixing code sample COMP: compile fixes for Visual Studio 2017 ENH: ModifiedTimeType uses 64 bits on Windows - it was 32 before ENH: refactor itkThreadPoolTest and rename into itkMultithreadingTest ENH: shuffling tests in ITKCommon to make the split more logical ENH: introduce a parameter to control level of output ENH: concentrating WaitForAll() in Iterate() ENH: ParallelSparseFieldLevelSetImageFilter no longer uses barrier ENH: moving Barrier into Deprecated module ENH: prevent false sharing between threads STYLE: declaration alignment ENH: replace itksys::hashmap and hashset by std equivalents COMP: missing override for destructors Update ITK5MigrationGuide.md
Eigen Upstream (3): Eigen3 2019-01-26 (e2c082bf) Eigen3 2019-03-05 (0805e8fd) Eigen3 2019-03-14 (8a3c2d91)
Forrest Li @floryst (4): ENH: Update arrow spatial object ENH: Update EllipseSpatialObject ENH: Update box spatial object ENH: Update polygon SO and delete polygon group SO
Francois Budin @fbudin69500 (25):
BUG: Implement but hide MetaDataDictionary iterator methods
BUG: Explicitly give Python library path to ITK Python targets for MSVC
ENH: Wrap itkPCAShapeSignedDistanceFunction
ENH: Synchronize factories across modules in Python
ENH: Explicitly return None when calling __call__if filter has no output
ENH: Deprecated object call function and improve procedural call function
ENH: Adds argument completion with procedural calls
ENH: Add docstring to snake case functions
BUG: Disable Python tests ifITKBUILDDEFAULTMODULESis OFF
BUG: Returns a copy of the VNL matrix instead of a reference
ENH: Add helper functions to convert NumPy arrays to ITK matrices and back
ENH: Addttypekeyword in New() function for Python templated classes
ENH:isinstance()can be called without template parameters of classinfo
BUG: Wrap itkImageDuplicator for all image types as it is used by NumPyBridge
ENH: itkPCAShapeSignedDistanceFunction supports float images
ENH: Add advanced CMake optionITKDONOTBUILDTESTDRIVERS
ENH: Move part of CI configuration into Azure YML files
ENH: Move Python tests into wrapping subfolder
BUG: Correct CMake variable name and move baseline files to appropriate folder
ENH: Only run Python tests on Linux and Windows
ENH: Adds wrapping for std::vector<itk::Image<...>::Pointer> and typemaps
ENH: New test to verify that ObjectFactoryBasePrivate` is destroyed correctly
ENH: Enable forcing creating snakecase function for non-ProcessObject classes
ENH: Add snake case method for non itkProcess derived class itkImageDuplicator
BUG: itkObjectFactoryBasePrivateDestructor was not compiling with MSVC
GDCM Upstream @malaterre (3): GDCM 2019-02-07 (8e1cfd05) GDCM 2018-10-23 (2e701ed7) GDCM 2019-02-08 (815caa81)
HDF5 Maintainers (1): HDF5 2018-10-15 (545c5fb2)
Hans J. Johnson (27): STYLE: Remove exact duplicate test code ENH: Improve by adding enhanced complexity to testing ENH: Add test for IsInsideInObjectSpace. DOC: Improve diagnostic message from ExtractImageFilter ENH: TransformIOBaseTemplate Must be explicitly instantiated STYLE: Instance variables should be private STYLE: Move default [con/de]strutor to .h (part 2) STYLE: Class derived from TransformBase need explicit instantiation STYLE: Remove functions that are not used ENH: Use member functions with default values COMP: Refactor to remove constcast of void * STYLE: Fix spelling s/ranage/range/g in comment. ENH: Improve coverage for itk::FastMarchingImageFilterBase. COMP: Allow compiler option fixed in gcc 4.1.0 PERF: Allow overwriting ABI/Optimization & Warning flags DOC: Minor spelling corrections ENH: Improve test coverage of ImageMoments DOC: Expand GetAxisAlignedBoundingBoxRegion replacement code STYLE: Prefer using Update() for consistency ENH: Avoid deprecated SpatialObject function calls ENH: ProtectedComputeMyBoundingBox return not used ENH: Clean up tests to pass under new API COMP: Consolodate duplicate LogTester code COMP: Support ITKLEGACY_REMOVE for SpatialObjects ENH: Add legacy interface to SpatialObjects BUG: Match return types for nullptr return values COMP: Remove compilation warning unmatched types
Hastings Greer @HastingsGreer (6): BUG: ImageSpatialObject's BoundingBox was nonfunctional if not axis aligned BUG: ImageMaskSpatialObject::IsInside uses image cosines COMP: fix compilation errors COMP: Various compiler errors COMP: fixes to enable compilation with gcc COMP: Update tests
Jerome Schmid @schmidje (1): COMP: VtkGlue module-Provide support for VTK new cmake targets
Jon Haitz Legarreta Gorroño @jhlegarreta (29):
ENH: Add a PrintHelper file to overload boolean and vector printing.
ENH: Add a parameter to test to improve itk::ResampleImageFilter testing.
ENH: Update the ITKIOFDF remote module.
ENH: Improve itk::ResampleImageFilter class coverage.
BUG: Fix ìtkResmapleImageTest2 test failing on 32-bit systems.
DOC: Transition Examples folder README file to Markdown.
DOC: Increase VNL ThirdParty module README information accuracy.
ENH: Conform to GitHub PR and issue template guidelines.
DOC: Transition the Nonunit/Review README to Markdown syntax.
ENH: Bump the latest version of the ITKThickness3D remote.
BUG: Fix GitHub community template syntax errors.
STYLE: Transition GitHub community template filenames to lowercase.
DOC: Change GitHub community template guidelines to HTML comment markup.
ENH: Add new GitHub community issue templates.
STYLE: Improve coverage issue template name wording.
DOC: Fix PR template not being displayed.
DOC: Add emojis to GitHub issue templates.
ENH: Update a few remote modules to their latest commit versions.
DOC: Improve the CONTRIBUTING guidelines document
DOC: Fix typo.
DOC: Add checklist to PR template.
ENH: Add a script to update the remote module commit hashes
ENH: Add a script to update the ITK tag as required in files
ENH: Update the Remote module Python package version automatically
STYLE: Rename remote module maintenance script
DOC: Add Remote module PyPI update notice in Release guide
ENH: Bump remote modules.
ENH: Bump remote modules to latest commits
ENH: Bump remote modules to their latest commits
COMP: Fix Software Guide line length too long warnings
KWSys Upstream @bradking (2): KWSys 2019-02-14 (e270ce9f) KWSys 2019-03-28 (e92bdbe8)
Matthew McCormick @thewtex (51): ENH: Use HDF5 1.10.4 DOC: Updates to the README DOC: Use 'ITK: The Insight Toolkit' for README title ENH: Add legacy multi-frame DICOM MD5 content links COMP: Avoid duplicate wrapping of VectorContainer with unsigned short BUG: MeshIOBase ivars used for number points, cells, pixels STYLE: Keep ProjectObject methods protected in ResampleImageFilter STYLE: Remove unnecessary ResampleImageFilter input/output checks DOC: Updates to the Release documentation for 5.0 RC 1 ENH: Update CI ExternalDataVersion to 5.0rc01 DOC: Add ITK 5 Release Candidate 1 release notes ENH: Add regression test for reading legacy multi-frame DICOM ENH: Update itkhdf5mangle.h for HDF5 1.10.4 COMP: Re-apply HDF5 Emscripten clobbered by 1.10.4 update ENH: Add probot-stale GitHub bot configuration ENH: Add test result analysis to Azure Pipelines web interface COMP: Set CMP0083 for PIE flags COMP: HDF5 CMake does not have INTEGER cache type COMP: Do not also pass pngptr twice to pngseterrorfn ENH: Wrap TriangleMeshToBinaryImageFilter PERF: Use constexpr in complex NumericTraits BUG: VTKPolyDataMeshIO CanReadFile returns false for non-PolyData COMP: Set CMP0083 for PIE flags BUG: Use VERSIONGREATEREQUAL for PIE check ENH: Bump CMakeLists.txt version to 4.13.2 ENH: Add missing SHA512 content link ENH: Explicitly use Python 3.7 in Azure builds COMP: Prevent duplicate wrapping ouput file specification BUG: Add executable bit to prefer-type-alias-over-typedef.sh COMP: Specify type in LiThresholdCalculator min call ENH: Wrap ExtrapolateImageFunction ENH: Add Python wrapping for SymmetricEigenAnalysisImageFilter BUG: Add missing ITKImageGrid circle.png content links BUG: itkResampleImageTest2Streaming verification ENH: Add IOScanco remote module COMP: Add backwards compatible EnlargeRegionOverBox BUG: Set dashboarddocoverage in Azure configuration COMP: Add export specification to ITKSpatialObjects BUG: Mark HDF5 CMake variables as advanced BUG: Mark INSTALLGTEST CMake variable as advanced STYLE: NIFTI CMake variable spacing BUG: Do not use CACHE variables for NIFTI when not required BUG: Mark TESTLIBVCLWHEREROOTDIRH as advanced BUG: Remove BUILD* GDCM settings from the cache BUG: Remove ALLOWUNSUPPORTED from the cache STYLE: C-style variable declarations in WindowedSinceInterpolateImageFunction ENH: Add wrapping for WindowedSincInterpolateImageFunction ENH: ITKVtkGlue only requires rendering libraries when needed COMP: GaussianInterpolateImageFunction test narrowing BUG: Allow Python tests in module test/CMakeLists.txt ENH: Add new content links for ITK 5.0 RC 2
MetaIO Maintainers (2): MetaIO 2019-01-15 (6efa2b32) MetaIO 2019-04-24 (9d2012d1)
Mihail Isakov @issakomi (4): BUG: WhatModulesITK.py doesn't detect ITKMeshIO STYLE: header included twice, spelling BUG: index overflow in BinaryMask3DMeshSource BUG: changed to signed
Niels Dekker @N-Dekker (28):
PERF: Remove SystemInformation data from ResourceProbe, fix issue #350
COMP: Fix support itk::VectorContainer
Pablo Hernandez-Cerdan @phcerdan (11): ENH: Add itk-module-init.cmake to Eigen3 COMP: Make ThirdParty Eigen3 COMPILEDEPENDS COMP: Revert "COMP: Make ThirdParty Eigen3 COMPILEDEPENDS" BUG: Fix Eigen3 INSTALLDIR DOC: Update ITK5MigrationGuide BUG: Fix OFFISDMCTKVERSIONNUMBER where wrunlock was introduced BUG: Fix export for ITKDeprecated classes BUG: Do no install any Eigen3 targets if ITKUSESYSTEMEIGEN=ON ENH: Update Remote Module IsotropicWavelets ENH: Add COMPILEDEFINITIONS to castxml ENH: Add remote module TotalVariation
Roman Grothausmann @romangrothausmann (4): ENH: new tests to verify streaming capabilities of itkResampleImageFilter BUG: corrected logic for checking that streaming was not used ENH: compare outputs of itkResampleImageTest2Streaming to determine success: ENH: Stream ResampleImageFilter for linear transforms
Simon Rit @SimonRit (2): ENH: add RTK as a remote module ENH: added test to check that Matrix returns a copy of the vnl matrix
Stephen R.Aylward @aylward (47): ENH: Refactor of SpatialObject top-level class ENH: Remove itkAffineGeometryFrame file ENH: Update ArrowSpatialObject ENH: Children name match using string.find (i.e., any substring) ENH: Refined SpatialObject base class and organized .h. Refactoring. ENH: Refactor Line and Landmark Spatial Objects ENH: Refactor Mesh and fix bugs found in previous refactorings BUG: Remove itkPlaneSpatialObject because it implemented a boxSO ENH: Refactor itkPolygon[Group]SpatialObject ENH: Refactor Scene to be a Group and refine base SpatialObject ENH: Refactoring the SpatialObject to be more intuitive ENH: SpatialObjects have "MyBoundingBox" and "FamilyBoundingBox" ENH: Resolved SpatialObject member function and variable names ENH: Updated subclasses to match SpatialObjectAPI ENH: SpatialObjectPoint and Properties updated ENH: Removed unwanted TreeNode classes ENH: Removing outdated source files COMP: SpatialObjectProperties now a cxx file that compiles ENH: Refactor SpatialObjectPoints and TubeSpatialObjectPoints ENH: Update PolygonGroup IO to use new spatial object classes ENH: Refactoring for IO ENH: Renamed functions to make coordinate system explicit ENH: Refactoring Meta*Converter classes ENH: Update to tests to fit new SO API BUG: Fixed bugs on windows for tests ENH: Updated wrapping and examples to compile SpatialObjects ENH: Updated itkGetObjectMcro to itkGetModifiableObjectMacro ENH: Updates to fix failing tests ENH: Fix two more tests BUG: Fix bug in ImageMaskSO bounding box ENH: Making tests pass...one bug at a time... BUG: Missing center computation in isInside function for Ellipse ENH: Adding support for Clone member function to perform a deep copy BUG: Last spatial-object-specific tests now pass. BUG: Fix const issues regarding My/Family Bounding Box BUG: Fix warnings and other minor things ENH: Fixing PolygonSpatialObject ENH: Made ContourSO and PolygonSO more consistent in logic BUG: Fix IsInsideObjectSpace function in PolygonSpatialObject BUG: Fix multiple bugs in refactoring of spatial objects DOC: SpatialObject docs in migration guide (#630) DOC: Detail function change in ImageMaskSpatialObject DOC: Specify ITK class alternatives to removed SO member functions BUG: Adds RemovePoint() to PointBasedSpatialObjects (#693) DOC: PointBasedSpatialObject's PointListType migration docs provided (#652) BUG: Adding a consistent Clear() to SpatialObjects (#700) DOC: Update recommendation for computing a Boundoing Region in IndexSpace (#699)
Thomas Janvier @T4mmi (1): ENH: Add Thickness3D Remote module.
VXL Maintainers (3): VNL 2019-03-04 (1e8a027f) VNL 2019-03-11 (3d183906) VNL 2019-03-22 (d0ff9f72)
Vladimir S. FONOV @vfonov (2): MINC 2019-04-23 (44fae20d) ENH: fixed build script
Ziv Yaniv @zivy (1): BUG: PNGImageIO segfaults on corrupt png.
@maekclena (13): BUG: Initialize array with expected number of elements BUG: Disable TIFF predictor BUG: Python3 compatibility ENH: Cleanup python wrapping tests ENH: Address review comments ENH: Update maintenance script BUG: Replace sed by ex for portability ENH: fix inconsistencies and clearer output ENH: Update remote modules BUG: fix gaussian interpolate test BUG: Ignore comment lines STYLE: Visually indent array BUG: Remove outdated class declaration ```
- C++
Published by thewtex almost 7 years ago
itk - ITK 4.13.2
On behalf of the Insight Toolkit (ITK) Community, we are happy to announce the release of ITK 4.13.2!
ITK is an open-source, cross-platform library for multidimensional image analysis.
Release files can be downloaded from
To install or upgrade Python packages with pip:
sh
python -m pip install --upgrade pip
python -m pip install --upgrade itk
This is a patch release that fixes critical issues, regressions, documentation, and compiler support. This release includes a number of fixes for GDCM for improved DICOM support. The build system is updated for compatibility with newer CMake. Continuous integration testing is also improved following our migration to GitHub.
The next feature pre-release for ITK 5, ITK 5 Release Candidate 2, is anticipated in a few weeks.
Enjoy ITK!
ITK changes from v4.13.1 to v4.13.2: ``` Bai Shi (1): COMP: To fix compilation error of "cannot dynamic_cast 'x'
Bradley Lowekamp @blowekamp (10): BUG: Support ITK transform files with corrected group names BUG: Update SCIOFIO to ITKv4.13 branch BUG: Handle boundary case with max metric BUG: Remove static member function variable BUG: Synchronize BSpline MeshDomain parameters from fixed params COMP: Address CMake policy warnings in ThirdParty libraries ENH: Update AzurePipelines configuration from master ENH: Explicitly set the XCode version used in Azure COMP: Use CMP0048 new for wrapping COMP: Set CMP0048 to new in ITK (Remote) Modules
Dženan Zukić @dzenanz (2): STYLE: fixing 'No new line at the end of file' ENH: ITKv5_CONST macro for VerifyPreconditions() and VerifyInputInformation()
Francois Budin @fbudin69500 (1):
BUG: Disable Python tests if ITK_BUILD_DEFAULT_MODULES is OFF
GDCM Upstream @malaterre (3): GDCM 2019-02-07 (8e1cfd05) GDCM 2018-10-23 (2e701ed7) GDCM 2019-02-08 (815caa81)
Isaiah Norton @ihnorton (2): BUG: prevent segfault when transform reader fails to load .mat BUG: don't quote argument to URL_HASH for FFTW
Matthew McCormick @thewtex (9): BUG: Use manylinux to build CastXML linux executable COMP: Address empty FILEOFFSETBITS in tifconfig.h with MinGW64 BUG: Remove duplicate ITK version number ENH: Add Azure Pipelines configuration ENH: Add regression test for reading legacy multi-frame DICOM COMP: Set CMP0083 for PIE flags ENH: Bump CMakeLists.txt version to 4.13.2 ENH: Add missing SHA512 content link ENH: Explicitly use Python 3.7 in Azure builds
Niels Dekker @N-Dekker (2): COMP: Fixed GDCM OpenJPEG name mangling PERF: Remove SystemInformation data from ResourceProbe, fix issue #350 ```
- C++
Published by thewtex almost 7 years ago
itk - ITK 5.0 Release Candidate 1: Meshes
We are happy to announce the Insight Toolkit (ITK) Release Candidate 1! :tada: As the first release candidate, the major advancements for ITK 5 have matured, and the community is encouraged to adopt the release candidate in ITK-based applications.
This release improves Mesh support in Python though simplification and extension of Mesh and PointSet wrapping. In general, this release makes improvements to the modernization of the toolkit staged in ITK 5.
The C++ range classes continue to advance, including the experimental itk::ImageBufferRange, itk::IndexRange, and itk::ShapedImageNeighborhoodRange. Our migration to GitHub was overwhelmingly successful, but it continues to improve. Pull requests now receive a helpful CDash build analysis GitHub Check.

For an overview of ITK 5's transition to modern C++, performance-related changes, the new, Pythonic API, and the project's migration to GitHub, see the ITK 5 Alpha 1: Modern C++, ITK 5 Alpha 2: Performance, ITK 5 Beta 1: Pythonic Interface, and ITK 5 Beta 3: GitHub release announcements.
Performance Improvements
N4BiasFieldCorrectionImageFilteraccelerated throughitk::ImageBufferRangeand other optimizations.- Various modern C++ improvements related to default constructors, move operations, etc.
Documentation
- ITK Software Guide PDF is now updated for ITK 5.
TransformIndexToPhysicalPointnotation is improved.
Infrastructure
- Mesh IO classes, e.g. Gifti, OBJ, OFF, FreeSurfer, BYU, STL, are now split into separate modules for better modularity.
- A CDash build analysis summary and link is provided as a GitHub Check.
- Added new C++11 member functions from
std::vectortoitk::VectorContainer.
Third Party
- DCMTK 3.6.4 is now supported.
CanReadis now faster for inspection of potential DICOM files, both with the GDCM and DCMTK DICOM backends.- Eigen updated to 3.3.7.
- Improved support for integration of a system Eigen.
- Improved compatibility with system HDF5.
Python
- Wrapping for
MeshandPointSetclasses was simplified and extended. BinaryMaskToNarrowBandPointSetFilteris now available in Python.- Better
itk.ImageNumPy buffer management for advanced pipeline grafting.
To install the 5.0 Release Candidate 1 Python packages, run
sh
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
What's Next
There are many more bug fixes and improvements not mentioned above. For more details, please see the change log below. Congratulations and thank you to everyone who contributed to this release.
The ITK 5 Migration Guide is available to help transition a code base from ITK 4 to ITK 5. Please discuss your experiences on Discourse.
We are approaching the 5.0.0 final release! The next release will be the second ITK 5 release candidate; it is scheduled for March.
Enjoy ITK!
```
Changes from v5.0b03 to v5.0rc01
Bradley Lowekamp (2) @blowekamp: BUG: Use compatible ITKv4 computation BUG: Fix Ostu test to work with ITKv4 default options
Dženan Zukić (9) @dzenanz: ENH: updating ITKMontage module DOC: trying to fix the doxygen warning ENH: Updating Visual Studio debug visualizer definitions DOC: removing long outdated comment ENH: updating Montage module STYLE: minor fixes to release notes COMP: a fix for system double-conversion build ENH: updating Montage: fix double-conversion include directory ENH: update ITKMontage: Fix crash when setting tiles from memory
Eigen Upstream (1): Eigen3 2019-01-14 (16812519)
Francois Budin (1) @fbudin69500: BUG: Missing ITKWRAPrgba_* variables in WrapITKConfig.cmake.in
Hans Johnson (7) @hjmjohnson: STYLE: rm initializer list extra lines ENH: DCMTK 3.6.4 api changes accomodated ENH: Move default [con/de]strutor to .h COMP: Protected static function must be public PERF: GDCM & DCMTK CanRead fails very slowly for non-DICOM files. PERF: readability container size empty STYLE: Prefer = default to explicit constructor(){}
Jon Haitz Legarreta Gorroño (1) @jhlegarreta: DOC: Adjust the CoC Committee to the 01/09/2019 meeting decision.
Matthew McCormick (31) @thewtex: ENH: Update Azure Pipelines CI testing cache to 5.0b03 DOC: Releasing ITK updates for 5.0b03 BUG: Exercise BinaryMaskToNarrowBandPointSetFilterTest BUG: BinaryMaskToNarrowBandPointSetFilter GenerateData protected BUG: Remove unused FixedDensityFunction in JensenHavrdaChatvatTsallis BUG: Do not build/use PoolMultiThreader without WinThreads or PThreads BUG: ShapeDetectionLevelSetFilter outputs BUG: ShapeDetectionLevelSetFilter outputFileName COMP: Remove itk::ThreadPool::GetGlobalDefaultNumberOfThreadsByPlatform DOC: Add 5.0 Beta 3 release notes DOC: Fix link to UpdatingThirdParty.md in CONTRIBUTING.md ENH: Add wrapping for BinaryMaskToNarrowBandPointSetFilter COMP: Mark DCMTKImageIO::CanWriteFile argument as unused COMP: Fix Software Guide line length too long warnings COMP: Fix Software Guide line length too long warnings ENH: Use CompensatedSummation in point set metrics to improve robustness COMP: ShapedImageNeighborhoodRangeGTest array initialization ENH: Move Gifti Mesh IO into a separate module ENH: Consistency in wrapped mesh types PERF: Parallelize ManifoldParzenWidnowsPointSetFunction::SetInputPointSet ENH: Move OBJ Mesh IO into a separate module ENH: Migrate OFF IO into ITKIOMeshOFF ENH: Update IOSTL to 2019-01-16 master COMP: Do not use readNoPreambleDICOM with Emscripten BUG: Fix Azure Pipelines commit checkout BUG: Fix Azure Pipelines master checkout on Windows BUG: Default MeshIOBase PointDimension is 3 ENH: Update IOMeshSTL remote module and update name ENH: Improve loading to help pyinstaller can analyze module dependencies COMP: Wrapping of VectorContainer and DefaultStaticMeshTraits ENH: Add legacy multi-frame DICOM MD5 content links
Niels Dekker (19) @N-Dekker: DOC: issue #273: SyNImageRegistrationMethod default member initializers STYLE: Small improvements ImageBase constructor, SetRequestedRegion, '\' COMP: Fix "unreachable code" MakeOutput RegistrationMethods PERF: N4BiasFieldCorrectionImageFilter implementation using ImageRange STYLE: Renamed ImageRange to ImageBufferRange PERF: Remove SystemInformation data from ResourceProbe, fix issue #350 STYLE: Remove dynamiccast from CastToSTLContainer(), add noexcept PERF: N4BiasFieldCorrectionImageFilter adds points + weights ~20% faster PERF: Fast assign point data, weights BSplineScatteredData filter COMP: ImageBufferRange iterator same as constiterator, for const image PERF: BSplineDecompositionImageFilter now calls ImageAlgorithm::Copy ENH: Add default-constructor and empty() to ShapedImageNeighborhoodRange ENH: Made ShapedImageNeighborhoodRange assignable and tested copy + move STYLE: C++ "Rule of Zero" for iterator classes of Range types PERF: Add fast noexcept move semantics to Neighborhood and its Allocator BUG: ResourceProbe::Reset() should set m_MaximumValue to lowest value BUG: Fixed MoveAssignedRangeHasSameIterators GTest of two range types STYLE: Move test utils default-constructed ranges to RangeGTestUtilities ENH: Add default-constructor and empty() to IndexRange
Pablo Hernandez-Cerdan (14) @phcerdan: DOC: Fix doxygen in SymmetricEigenAnalysis ENH: Python, wrap complex in NumericTraits ENH: Update IsotropicWavelets module BUG: Fix failure of ITKEIGEN macro expansion ENH: Add test checking noexcept moves in FixedArray STYLE: Change EXPECTEQ to EXPECT_TRUE|FALSE in CommonTypeTraitGTest ENH: Add python wrapping for std::pair and other int containers ENH: Add internal/external eigen3 libraries ENH: Update IsotropicWavelets ENH: Add new c++11 member functions of std::vector to itk::VectorContainer ENH: Simplify specialization of NumericTraitsstd::complex<TComponent> BUG: itkMatrix: Use NumericTraits::Zero instead of literal 0 DOC: SoftwareGuide: improve TransformIndexToPhysicalPoint notation COMP: Fix multi-line comment warning generated by latex notation
Roman Grothausmann (1) @romangrothausmann: BUG: avoid overwriting output in 2nd run used for comparison in test:
Simon Rit (1) @SimonRit: BUG: python itk.Image returned by GetImageFromArray now manages its own buffer
@ihnorton (1): COMP: use HDF5 library names only to avoid abspaths w/ SYSTEM_HDF5 ```
- C++
Published by thewtex about 7 years ago
itk - ITK 5.0 Beta 3: GitHub
We are happy to announce the Insight Toolkit (ITK) version 5 Beta 3 release! :tada: This release celebrates the community's migration to GitHub. :octocat: As a true open source project, community participation is a high priority. :handshake: Our migration to GitHub facilitates collaboration with the broader scientific open source community. :microscope:

This release also includes major improvements in the areas of performance and third party libraries. A new, experimental ImageRange class enables iteration over an image's pixels in a modern, performant way. Fundamental ITK data structures were improved to enabled compiler optimizations for Plain Old Data objects. VXL was modernized to C++11, and Eigen is now available in the toolkit; ITK's gradual transition from VXL to Eigen for linear algebra has begun.
In addition, four new remote modules are available, FFT's can be computed on the GPU via cuFFTW, and ITK Python's itk.imread now supports image series. More information can be found in the feature summary below.
For an overview of ITK 5's transition to modern C++, performance-related changes, and the new, Pythonic API, see the ITK 5 Alpha 1: Modern C++, ITK 5 Alpha 2: Performance, and ITK 5 Beta 1: Pythonic Interface release announcements.
GitHub Migration
GitHub now hosts the official ITK, ITKExamples, and ITKSoftwareGuide Git repositories:
https://github.com/InsightSoftwareConsortium/ITK.githttps://github.com/InsightSoftwareConsortium/ITKExamples.githttps://github.com/InsightSoftwareConsortium/ITKSoftwareGuide.git
The InsightSoftwareConsortium GitHub Organization is currently home to 88 other ITK-related repositories. Many of these repositories are externally developed ITK modules. If you would like create a new repository or transfer a repository to the InsightSoftwareConsortium GitHub organization, let us know on ITK's Discourse discussion forum.
Documentation on how to contribute has been updated and improved. Contribution documentation is available in the ITK Software Guide and as Markdown files in the source code repository, browsable in GitHub's web interface. Our CONTRIBUTING.md file is a starting point for contributors. We also have a Git cheatsheet for quick reference.
Our Code of Conduct describes our motivation to build impactful, open source image analysis software through a welcoming and productive community. The Code of Conduct also describes our values: to be open, welcoming, inclusive, civil and considerate, respectful, collaborative, careful in the words that we choose, responsible, and inquisitive. We expect community members to lead by example, but we also define a set of unacceptable behaviors and mechanisms to enforce conduct violations.
To guide submission of pull requests and issues, we created templates used when issues and pull requests are opened. Release notes from previous releases were migrated from the Wiki; release notes can be browsed in repository Markdown files.
Plans for upcoming releases can now be found in the project GitHub Milestones. Release artifacts will now be published on ITK's GitHub Releases as opposed to Sourceforge. Release artifact archives are now also available in the ITK data.kitware.com Girder Collection.
The ./Utilities/SetupForDevelopment.sh script now guides repository configuration for GitHub contributions. Git client-side hooks help submit a well-formatted commit message. Git aliases, review-push and pr, are provided to submit pull requests for review and download submitted pull requests for local testing.
A new cross platform script, ITK/Utilities/UploadBinaryData.sh, is available to upload binary testing data. This script, invoked directly or through the data-upload alias, performs an authenticated upload to data.kitware.com and generates an ExternalData content link to avoid inflation of the source code repository's size. This script can be used to upload testing data for ITK or an externally developed module.
A static archive of our previous code review system, the http://review.source.kitware.com/ Gerrit Code Review instance, was created to preserve the code review discussions for nearly 24,000 changes on ITK and other Kitware supported projects.
Continuous integration testing ensures the continued quality and productive development of the toolkit. CircleCI and Azure Pipelines CI testing run over 2,800 regression tests on Linux, macOS, and Windows for both C++ and Python builds. Pull requests content is checked by ghostflow-director to prevent integration of large files, etc.
We now track issues in the repository's GitHub Issue Tracker. The legacy JIRA issue tracker is now read-only, and it will remain available for reference.
Performance Improvements
- A new, experimental
ImageRangeclass provides range-based iteration over the pixels of anitk::Image. - The Rule of Five was applied to basic data structures like
itk::FixedArray,itk::Point,itk::Vectorso they satifystd::is_trivialandstd::is_standard_layout. This is now also tested. This enables compiler optimizations and moves. ResampleImageFilter::CastPixelWithBoundsCheckingis now faster.- Data copies in
itk::BSplineTransformwere reduced. - The number of evaluations in line search optimizer were reduced by half.
Third Party Updates
- The Eigen linear algebra third party library is now available as an ITK module, and it is enabled by default.
- VXL was updated to require C++11 and use modern C++ syntax
- GDCM, Zlib and GIFTI were updated to the latest upstream.
Remote Modules

The result of phase symmetry filtration of a cardiac ultrasound B-mode volume. From Hatt C. "Multi-scale Steerable Phase-Symmetry Filters for ITK." The Insight Journal. July-December. 2011. http://hdl.handle.net/10380/3330
New Remote Modules added:
PhaseSymmetry- Multi-scale steerable filters for computing phase symmetry (PS).
- From Hatt C, "Multi-scale Steerable Phase-Symmetry Filters for ITK", http://hdl.handle.net/10380/3330
- https://github.com/KitwareMedical/ITKPhaseSymmetry
- Multi-scale steerable filters for computing phase symmetry (PS).
- Enable in an ITK build by setting
Module_PhaseSymmetry=ON. - Install Python packages:
pip install itk-phasesymmetry
IOOpenSlide- Read file formats supported by the OpenSlide library. These are generally TIFF-based microscopy formats.
- https://github.com/InsightSoftwareConsortium/ITKIOOpenSlide
- Enable in an ITK build by setting
Module_IOOpenSlide=ON. - Currently requires a system installation of the OpenSlide library.
Montage- Montaging for microscopy imaging files.
- Based on Bican, J., "Phase Correlation Method for ITK", http://hdl.handle.net/1926/396, in addition to many improvements.
- https://github.com/InsightSoftwareConsortium/ITKMontage
- Enable in an ITK build by setting
Module_Montage=ON
BSplineGradient- Approximate an image's gradient from a B-spline fit to its intensity.
- https://github.com/InsightSoftwareConsortium/ITKBSplineGradient
- Enable in an ITK build by setting
Module_BSplineGradient=ON.
The itk::JPEG2000ImageIO class was migrated out the ITKReview module into its own module, ITKIOJPEG2000, and enabled by default.
Frequency Domain Support
- Added
itk::HalfHermitianFrequencyIterator: iterate over images in the frequency domain generated with theitk::RealToHalfHermitianForwardFFTImageFilter - Support for Fast Fourier Transforms (FFTs) computed on NVIDIA GPUs via cuFFTW: enable by setting
ITK_USE_CUFFTW=ON.
Python
itk.imreadnow supports reading image file series.- Shorthand setting of parameters of filters in
.New()or the procedural Python interface now supports passing tuples to set multi-valued parameters.
To install the 5.0 Beta 3 Python packages, run
sh
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
What's Next
There are many more bug fixes and critical improvements not mentioned above. For more details, please see the change log below. Congratulations and thank you to everyone who contributed to this release.
The ITK 5 Migration Guide is available to help transition a code base from ITK 4 to ITK 5. Please discuss your experiences on Discourse. We are approaching the 5.0.0 final release! The next release will be the first ITK 5 release candidate; it is scheduled for the end of January.
Enjoy ITK!
```
Changes from v5.0b01 to v5.0b03
Note: ITK v5.0b02 was skipped due to a build error with Visual Studio.
Bai Shi (1): COMP: To fix compilation error of "cannot dynamic_cast 'x'
Bradley Lowekamp (47): DOC: Improve Extract exception for region size mismatch BUG: Print ImageIOBase::m_Spacing BUG: Fix TIFFImageIO spacing for multi-page BUG: Support ITK transform files with corrected group names ENH: Only use one Work Unit in BSpline convergence checker BUG: Fix HDF5ImageIO reporting any HDF5 file is readable ENH: Improve N4BiasFieldCorrectionImageFilter ENH: Add extensions to HDF5ImageIO ENH: Add ImageIO methods to check name for file extensions BUG: Quiet HDF5-DIAG from H5File::isHdf5 ENH: Update LabelStatistics to use dyanmic threading ENH: Move JPEG200 ImageIO into separate ImageIO module BUG: Update SCIOFIO to ITKv4.13 branch ENH: Make ProcessObject::VerifyInputInformation constant BUG: Handle boundary case with max metric PERF: Reduce number of evaluations in line search optimizer by half COMP: Fix unused argument warnings in SpatialObjectPoint::operator= BUG: Handle boundary case with max metric ENH: Update ImageToHistogram to use modern dynamic threading. PERF: implement concurrent histogram merge/reduce BUG: Fix move of histogram smart pointer BUG: Add parameter which stores the requested number of work units. BUG: use =default for default implementation of destructor BUG: Prevent square root of negative number BUG: Check all entries are not null STYLE: Prefer immediate exception over long if BUG: Fix sqrt of negative values BUG: Address valgrind leaks for classes which use ScanlineFilterCommon BUG: Limit number of threads used for testing ITK ENH: Replace centered transforms with non-centered versions BUG: Remove static member function variable DOC: Fix LBFBS2 typo BUG: Remove static member function variable BUG: Fix multi-resolution bspline registration example BUG: Adding updated baseline image for improved example DOC: Fix typos in LBFGS2 optimizer's error string ENH: On Azure DevOps only show test output on failure STYLE: Use GTest file name suffix for Google Test based tests BUG: Remove unused TRansfromDomainDirectionInverse IVAR BUG: Synchronize BSpline MeshDomain parameters from fixed params ENH: Adding GTest for BSplineTransform ENH: Create method to set transform domain params from coeff images BUG: Synchronize BSpline MeshDomain parameters from fixed params ENH: Refactor BSplineTransform DOC: Update the BSplineTransform class doxygen ENH: Update N4BiasField to utilized named positional inputs COMP: Addressed unused parameter warning in ImageRegion default
Brian Helba (1) @brianhelba : BUG: Ensure that itkSampleToHistogramFilterTests fail on errors
Dženan Zukić (50) @dzenanz : ENH: code simplification and more granular progress reporting ENH: return bin maximum as threshold STYLE: removing void if used in place of empty parameter list ENH: update remote module MorphologicalContourInterpolation BUG: nbOfThreads was bounded to GlobalMaximumNumber, but not work units ENH: Ignore current load in PoolMultiThreader COMP: missing ConstPointer declaration BUG: fix crash in RegionGrowingBenchmark ENH: reducing duplication in 4 scanline-based image filters ENH: use scanline iterators and clean up the code a little COMP: fix [-Wc++11-narrowing] in initializer list during Python wrapping ENH: refactor ConnectedComponent to not use Barrier. Also reduce duplication. STYLE: aligning macro continuation backslash COMP: fixing unused variable warning COMP: add Python wrapping for ScanlineFilterCommon ENH: updating remotes to their latest versions DOC: mentioning ITKV4COMPATIBILITY in the migration guide COMP: minor fixes in preparation for deprecating atomic, mutex and friends ENH: updating remotes to latest versions ENH: using standard library's mutex primitives ENH: deprecating functionality which exist in C++11 standard library COMP: missing #include <conditionvariable> BUG: clamp work units to ITKMAXTHREADS in Platform and Pool MultiThreaders BUG: fix Python wrapping after deprecating MutexLock and friends ENH: adding new remote modules: Montage and BSplineGradient DOC: fixing copy-paste error about functor type ENH: improve precision of median calculation by default STYLE: minor space and line break improvements ENH: FrequencyBandImageFilter derives from UnaryFrequencyDomainFilter ENH: ITKv5CONST macro for VerifyPreconditions() and VerifyInputInformation() ENH: ITKv5CONST macro for VerifyPreconditions() and VerifyInputInformation() BUG: background label could be the same as one of the object labels COMP: fix compiler warning in itkIndexRange.h ENH: adding wrapping for UnaryFrequencyDomainFilter DOC: updating commit information for ITKv5CONST in ITK 4.13.x ENH: commit message script uses GitHub issue referencing format. ENH: update Montage remote module BUG: test image was not properly initialized. Closes #207. COMP: fixing compile errors on Ubuntu 16.04 with GCC 5.4.0 ENH: compile VNL in parallel on Visual Studio COMP: fix compile errors with CMAKEWINDOWSEXPORTALLSYMBOLS:BOOL=ON COMP: Remove VNLEXPORT from header only class. Closes #191. COMP: fix CMAKEWINDOWSEXPORTALLSYMBOLS COMP: fix link errors coming from undefined static constexpr member STYLE: rename template parameter TMatrixDimension into VDimension DOC: EigenValues parameter uses operator[], not operator[][] COMP: compile with Visual Studio in conformance mode AKA /permissive- COMP: moving the default constructor of vnlmatrix from .h into .hxx STYLE: removing empty lines between comments and constructors ENH: enable progress reporting with ITKV4COMPATIBILITY. Closes #228.
Eigen Upstream (1): Eigen3 2018-11-19 (493fa50e)
Francois Budin (9) @fbudin69500 :
BUG: THEADER instead of THREADER
BUG: Disable using mkltbbthread
ENH: Adding IOOpenSlide ImageIO remote module to ITK
BUG: WRAP_2 is a local variable, not a CACHE variable
BUG: Wrong path to baseline images
ENH: Allow selecting ImageIO in Python template code
ENH: Support loading image series in itkTemplate.
ENH: itk.imread() now supports image series
ENH: Support for tuples passed as arguments through itkTemplate New() function
GDCM Upstream (2) @malaterre : GDCM 2018-11-05 (3ffbf1ed) GDCM 2018-11-30 (ec82fb48)
Gabriel A. Devenyi (1) @gdevenyi : PERF: Enable MINC internal compression by default
Hans Johnson (58) @hjmjohnson :
COMP: Prefer snprintf to avoid buffer overruns
STYLE: Use modern C++11 =delete to indicate not implemented
ENH: Update KWStyle hash to build latest updates
STYLE: Prefer error checked std::stoi over atoi
BUG: GE4IO atoi failures resulted in implicit 0 image slices
BUG: Commandline arguments were not properly processed
BUG: atoi failure => 0 hid processing failures
BUG: Command line parsing silently failed
STYLE: Prefer error checked std::stod over atof
BUG: Failed conversion to float with uncaught failure
STYLE: Pefer = default to explicitly trivial implementations
COMP: Use nullptr instead of 0 or NULL
STYLE: Replace defines with constexpr and using statements
COMP: Fix VS2017 compilation regression
COMP: Use static method from class directly
STYLE: Remove support for pre 20160229 VXLVERSIONDATEFULL
STYLE: Decouple matlab printing explicit instantiations
ENH: Adding explicit instantiations for dimensions 1-10
COMP: Remove duplicate explicit instantiations
COMP: Remove unused variables.
BUG: vidlitkistream does not override an ITK object
ENH: Use C++11 override for overridden functions.
STYLE: Remove unnecessary vclXXX.h headers
ENH: Add scripts to assist with migrations
ENH: Adding a few more clang tidy checks.
BUG: Do not override user selection settings
ENH: Update to require VXL 2.0.0 or later
STYLE: Remove unused include headers
ENH: Provide mechanism for changing git remote url
COMP: Many of the remotes require updates for ITKv5
STYLE: Remove VCLINCLUDECXX0X outdated reference.
ENH: Add specification for -Dclang_ to clang-tidy
PERF: emplaceback method results in potentially more efficient code
STYLE: Replace integer literals which are cast to bool.
ENH: Fetch upstream as part of setup.
ENH: Stop abort on first failure.
BUG: Default commit message fixed for =delete modernization
ENH: Provide consistency with C++11 core guidelines
BUG: Missing default argment override
ENH: VXL 2.0.0 provides all instantiations needed by ITK
ENH: Fix deficient itkCastImageFilter test
STYLE: Minor variable naming and readability changes.
COMP: Provide conversion range testing validstaticcast function
ENH: Increase minimum VXL version to 2.0.1 for wrapping
ENH: REVERT compile VNL in parallel on Visual Studio
ENH: Require VXL v2.0.2 release.
ENH: Increase size attribute for large third party file.
STYLE: Remove VXLVERSIONDATEFULL conditionals
COMP: Remove duplicate explicit instantiation
ENH: Provide range for non-warned cmake versions
ENH: Update the GIFTI codebase
DOC: Typo: @tparam -> @param fix doxygen generation
DOC: Improved documentation for the migration guide
ENH: Manually update nifti version from github
ENH: Employ the rule of zero for aggregate types
STYLE: Use default member initialization
STYLE: Remove the register keyword
ENH: NIFTI needs to be part of ITKTargets
Hui Xie (1) @Hui-Xie : BUG: The Z spacing was set using thickness
Isaiah Norton (1) @ihnorton : BUG: don't quote argument to URL_HASH for FFTW
Jon Haitz Legarreta Gorroño (14) @jhlegarreta :
ENH: Improve itkEuclideanDistancePointMetric coverage.
COMP: Use C++11 nullptr directly
DOC: Fix incorrect class ref for Doxygen.
ENH: Bump remote modules to their latest commits.
ENH: Increase coverage for itk::GrayscaleFillholeFilterImage.
DOC: Update the documentation concerning binary data.
DOC: Format remote module documentation README to markdown.
ENH: Update the SmoothingRecursiveYvvGaussianFilter remote module hash.
DOC: Point to the ITK git cheat sheet in the repository.
DOC: Fix the ITK Git cheat sheet file link.
ENH: Add script to priviledge C++11 type alias over typedef.
DOC: Advise users to delete the PR template in message.
DOC: Move the issue and pull request templates to a specialized folder.
ENH: Remove FindITKPythonLibs.cmake file.
ENH: Follow remote repositories name changes.
Matthew McCormick (77) @thewtex : ENH: Synchronize testing data content links DOC: Updates and improvements on the release process COMP: Address empty FILEOFFSETBITS in tifconfig.h with MinGW64 BUG: Do not warn about FFTW GPL license when using Intel MKL DOC: Improve ITKUSEMKL description BUG: Mark MKL CMake configuration options as advanced ENH: Add support for NVidia CUDA FFTs via cuFTTW COMP: Fix HDF5 CMAKECROSSCOMPILINGEMULATOR support COMP: Fix HDF5 itkh5CXsetapl implicit declaration COMP: Use the Platform Threader by default with Emscripten COMP: Set CMP0074 to NEW COMP: Fix HDF5TransformIO compatibility with HDF 1.8 COMP: Set CMP0074 in third party libraries COMP: Do not mark itk::FloatingPointExceptions constructor as deleted COMP: Define TransformBaseTemplate constructor / destructor COMP: DataObject InvalidRequestedRegionError unused parameter COMP: Remove unused orig parameters in DataObject BUG: Remove unused itkminc2 imported library statement BUG: Skip MINC static library build when building shared libraries COMP: Suppress undefined public symbol warnings in third party libs BUG: Remove duplicate ITK version number COMP: Do not install HDF5 static library with BUILDSHAREDLIBS enabled COMP: Add override to TransformBaseTemplate destructor COMP: Avoid GCC 4.8 default destructor internal compiler error BUG: Import zlib1.rc from ZLib subtree BUG: Use GlobalDefaultNumberOfThreads for FFTW plans BUG: Simplify specification of greatest prime factor with cuFFTW ENH: Add Azure Pipelines configuration BUG: Remove ResampleImageFilter duplicate number of pixels check COMP: Avoid Intel compiler warning on unknown deprecated attribute ENH: Ensure that .sha512 content links have LF newlines ENH: Configure .gitattributes for ghostflow-director CheckSize DOC: Update ITK Git Reference for GitHub DOC: Update CONTRIBUTING.md for GitHub COMP: Address ITKReview module wrapping following migration of ITKIOJPEG2000 BUG: Migrate Python tests into their modules ENH: Use Release CMAKEBUILDTYPE for macOS Python CI builds BUG: Remove apt-get install's from macOS Azure Pipeline's configuration ENH: Update Git client side hooks for GitHub ENH: Add UploadBinaryData.sh script COMP: Remove vclcomplex.h from Python builds BUG: Remove vclcomplex support from itkTemplate.py BUG: Disable PythonGetNameOfClass test BUG: Enable ITKIOJPEG2000 by default DOC: Add Test a Topic to overview section DOC: Organize code of conduct sub-documents into a folder DOC: Update Documentation/Introduction.md for GitHub migration DOC: Fix spelling of "individual" in CONTRIBUTING.md DOC: Add CI status badges to the README COMP: Add missing mutex include to itkImageToHistogramFilter.h PERF: Use initializer list in ShapedImageNeighborhoodRange operator* DOC: Fix UploadBinaryData.sh link BUG: Run apt-get update for Linux Azure configuration COMP: Wrap InPlaceImageFilter for complex float to complex double BUG: Do not gpg sign third party updates DOC: Note that a pull request has to be explicitly opened DOC: Suggest using 72 characters or less in commit hooks ENH: Ensure NumPy is available for Python tests BUG: Add missing export specification for XMLReader, XMLWriterBase BUG: Remove invalid ShapeDetectionLevelSetFilter arguments COMP: Remove Doxygen \ref, \copydetails commands STYLE: Improve readability of HexadedronCell::EvaluatePosition. COMP: Fix IsFloatingPoint concept check for VariableLengthVector BUG: Set up wrapping options for use in modules ENH: Add PhaseSymmetry remote module ENH: Download ExternalData cache for CI builds DOC: Remove the convention that release branches start with "release" ENH: Run content link synchronization script ENH: Add setup-girder-api-key Git Setup script BUG: Remove ExternalData MD5 content link generation ENH: Move FreeSurfer Mesh IO into a separate module DOC: Add missing CONTRIBUTING.md link in UploadBinaryData.md ENH: Add regression test for reading legacy multi-frame DICOM COMP: Float narrowing conversion in BSpline class initialization DOC: Move maintainer documentation into Documentation/Maintenance DOC: Import release archive notes from the Wiki DOC: Improve 4.13, 5 release notes from GitHub Releases
Niels Dekker (42) @N-Dekker : PERF: Made ResampleImageFilter::CastPixelWithBoundsChecking faster STYLE: NumericTraits::NonpositiveMin() using numericlimits::lowest() BUG: Fixed casts to int64t and double in ResampleImageFilter ENH: Tested ResampleImageFilter preserves 'double' and int64t pixels STYLE: Replaced 'bool pre = 0' by 'bool pre = false' STYLE: Declared "IsAt" iterator member functions 'const' DOC: Replaced leading stars ('') by spaces in Doxygen code blocks STYLE: Replaced "Hyperrect..." by "Rect..." in class + function names BUG: Removed underscores from GTest test names STYLE: Shortened itkShapedImageNeighborhoodRangeGTest test names STYLE: Declared VerifyPreconditions() member functions 'const' STYLE: Replaced star ('') by space in front of Doxygen \code tags PERF: Made ConstNeighborhoodIterator::GetPixel(i) much faster ENH: Added GradientNormThreshold to HoughTransform2DCirclesImageFilter STYLE: Removed unused ShapedImageNeighborhoodRange::mImage ENH: Added ConstShapedNeighborhoodIterator::ActivateOffsets(offsets) DOC: Replaced leading stars ('') by spaces in indented Doxygen code ENH: Added GenerateConnectedImageNeighborhoodShapeOffsets() COMP: Fixed GDCM OpenJPEG name mangling ENH: Added ShapedImageNeighborhoodRange::SetLocation(index) COMP: Fixed GDCM OpenJPEG name mangling ENH: Added HoughTransform2DCirclesImageFilter::UseImageSpacing ENH: Added IndexRange for efficient region and grid space iteration COMP: Fixed IndexRange warnings -Wshadow -Wmissing-field-initializers PERF: unsharpenedImage iterator in N4Bias...Filter is now "WithIndex" BUG: Avoid premature GaussianDerivative kernel computation HoughCircles BUG: ShapedImageNeighborhoodRange should not try to avoid rvalue offsets ENH: Added policy for constant NeighborhoodRange values outside image STYLE: AccessorFunctor::SetPixelAccessor parameter reference to const PERF: Removed 'virtual' from Default Pixel Accessor destructors ENH: Added ImageRange: a range of iterators to the pixels of an image STYLE: ImageHelper now doing '+=' and using C++11 std::integral_constant BUG: Fixed ShapedImageNeighborhoodRange copying pixel access parameter COMP: Fixed ImageRange warning, passing object to variadic constructor DOC: Did #136 Update migration guide with Hough transform changes ENH: Added default-constructor and empty() to ImageRange ENH: ShapedImageNeighborhoodRange now supports any buffered region index PERF: Defining ImageRange iterator as raw pixel pointer, when possible ENH: Added Experimental::MakeImageRange(TImage) PERF: Replaced postfix ++ calls on ITK iterators by the prefix ++ calls PERF: Small improvements to equality operators of Image Region classes PERF: Added C++11 final, noexcept, default, initializers to ImageRegion
Pablo Hernandez-Cerdan (17) @phcerdan : COMP: Fix hdf5 warning missing perl script COMP: Fix HDF5 CMake warning policy CMP0075 ENH: Tweak constructors, Ro5 in FixedArray, Point ENH: Add Ro5 to FixedArray and derived classes COMP: Fix warnings related to Ro5 changes in FixedArray ENH: Add Ro5 constructors to SymmetrySecondRankTensor ENH: Add Ro5 to classes derived from Point ENH: Initialize SecondRankTensor and RGBPixelType ENH: Print direction in ImageIOBase ENH: Add HalfHermitianFrequencyIterator ENH: Use variadic templates for SetPosition ENH: Add ThirdParty module Eigen3 COMP: Add CONFIG to findpackage(Eigen3) COMP: Add missing headers SymmetricEigenAnalysis COMP: Use the right constructors for fixed eigen3 matrix COMP: Reorder variables associated findpackage in Eigen3 ENH: Update external module ITKIsotropicWavelets
Roman Grothausmann (2) @romangrothausmann : DOC: adjusted to fit more general case n != m DOC: corrected description of the output
Sean McBride (3) @seanm : COMP: Added additional HDF5 symbols for mangling DOC: improved comments about HDF5 symbol mangling COMP: fixed some -Wunused-template warnings by adding private namespaces
Simon Rit (2) @SimonRit : BUG: fix NumPy bridge for itk::Image with PixelType itk::Vector ENH: improve automatic Python ImageFileReader for non-scalar pixel types
Tobias Wood (1) @spinicist : BUG: Swapped int to SizeType to prevent overflow errors
VXL Maintainers (8): VNL 2018-11-04 (ea3a2cc9) VNL 2018-11-08 (88b72533) VNL 2018-11-14 (ee083096) VNL 2018-11-15 (4fe68119) VNL 2018-11-18 (fa7c7abd) VNL 2018-11-23 (cb6f5dcb) VNL 2018-11-29 (f6e20c3c) VNL 2018-12-15 (bb0d2eb6)
Yann Le Poul (4) @YannLePoul : BUG: make sure the palette is empty when m_IsReadAsScalarPlusPalette is false DOC: fix rotation spelling issue in some versor related files STYLE: IsReadAsScalarPlusPalette already printed in parent class BUG: unnecessary call to GetExpandRGBPalette
Zlib Upstream (1): zlib 2018-06-11 (355d8648)
allywarner (1) @allywarner : BUG: CMake build errors
pierre33 (1) @pierre33 : ENH: Update itkNaryFunctorImageFilter ```
- C++
Published by thewtex about 7 years ago
itk -
This release was superseded by ITK 5.0 Beta 3 due to Visual Studio build errors.
- C++
Published by thewtex about 7 years ago
itk - ITK 5.0 Beta 1
We are happy to announce the first beta release for ITK 5. This release features an additional, more Pythonic interface to filters. This interface is more familiar in Python and facilitates rapid prototyping. ITK 5.0 Beta 1 also includes many performance-related improvements, such as a pure C++11 thread pool by default, an HDF5 update to 1.10, new frequency domain iterators, new neighborhood range classes, and a new multi-dimensional, multi-component superpixel class.
For an overview of ITK 5 performance-related changes and the transition to modern C++, see the ITK 5 Alpha 1: Modern C++ and ITK 5 Alpha 2: Performance release announcements.
Python Interface
The traditional, object-oriented interface to ITK's Python classes allows the composition of filters in a pipeline. After setting up a chain of filters, Update() is called at the end of the pipeline. This facilitates streaming of very large images that may exceed the system's memory capacity. For example,
```python import itk
inputimage = itk.imread('input.nrrd') ImageType = type(inputimage) radius = 2
medianfilter = itk.MedianImageFilter[ImageType, ImageType].New() medianfilter.SetInput(inputimage) medianfilter.SetRadius(radius) medianfilter.Update() outputimage = median_filter.GetOutput()
itk.imwrite(output_image, 'output.nrrd') ```
While powerful, this interface is verbose.
A procedural interface is now available with PEP8-compliant snake case naming of all filters that inherit from itk.ProcessObject. For example,
```python import itk
input_image = itk.imread('input.nrrd') radius = 2
outputimage = itk.medianimagefilter(inputimage, radius=radius)
itk.imwrite(output_image, 'output.nrrd') ```
In this case, the type of the filter is implicitly determined by the input image type. Immediately, the filter is executed, and the result is directly returned. Object parameters defined by Set* methods can be specified in the filter call with keyword arguments. The Pythonic, snake case form of these parameters can also be used.
PEP8 function naming has also been applied to the NumPy bridge.
array = itk.GetArrayFromImage(image)
`
array = itk.array_from_image(image)
`
Similar functions names are available when creating NumPy array views, itk.Image's from NumPy arrays, and converting VNL vector and matrices to NumPy arrays.
To test the 5.0 Beta 1 Python packages, run
sh
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
Performance Improvements
Based on experiences since initial changes introduced in ITK 5 Alpha 2, many notable performance improvements have been made.
- The default thread pool is now fully backed by C++11 threading primitives.
- A new
itk::MultiThreaderBase::ParallelizeArrayfunction is available to quickly and easily dispatch C++11 lamda's or std::function's on linearly indexed containers, similar toitk::MultiThreaderBase::ParallelizeImageRegionfor operating on N-dimensional image regions. - A new
itk::MultiThreaderBase::ParallelizeImageRegionRestrictDirectionfunction is available to prevent splitting an image region over a given direction. SetNumberOfThreadshas been renamed toSetNumberOfWorkUnitsto more accurately reflect configuration of work unit granularity, especially in the context of the Threading Building Blocks (TBB) backend.- Progress reporting with multiple parallel operations is enabled with a new
itk::ProgressTransformerclass. - A large corpus of code has been transitioned ITK 5, and the process is now relatively straight forward and well documented. Please see the ITK 5 Migration Guide for more information.
Style changes
Classes in the C++11 standard library are now preferred over ITK's implementations. This includes atomic integers, mutex locks and related classes, and hash maps. For more information, please see the migration guide.
New Classes
- A set of new iterators and a band pass filter are available in a new ITKImageFrequency module. These classes help when operating in the dual domain and with the output of FFT's. More details are available in this Insight Journal article.
- New, experimental ShapedImageNeighborhoodRange, HyperrectangularImageNeighborhoodShape classes are available, providing modern, C++ range operations and high performance.
- A new Simple Linear Iterative Clustering (SLIC) super-pixel segmentation filter is available. This implementation improves or the original algorithm by supporting arbitrary dimensions, multi-component images, and a parallized implementation. More details are available in the Insight Journal article.
Visible Human superpixel segmentation. A 2D slice of 3D superpixel. For more information, see the Insight Journal article, Scalable Simple Linear Iterative Clustering (SSLIC) Using a Generic and Parallel Approach, Lowekamp, B et al, http://hdl.handle.net/1926/3596.
What's Next
There are many more bug fixes and critical improvements not mentioned above. For more details, please see the change log below. Congratulations to everyone who contributed to this release.
Please discuss your experiences on Discourse. The community has been quite active in testing and improving these changes for the next major release of ITK. Another beta release is planned for the October-November time period.
```
Changes from v5.0a02 to v5.0b01
Bradley Lowekamp (47): BUG: Prevent concurrent read/write in output image BUG: Handle case where output image is zero sized BUG: Add missing dependencies in Module testing ENH: Remove SPECIFICIMAGEIOMODULETEST feature BUG: Fix name typo for ITKGLOBALDEFAULTTHREADER BUG: Fix incorrect library variable for MeshIO test drivers ENH: Create TestKernel library COMP: Fix overflow in floating-point conversion warning ENH: Add SLIC segmentation to new Superpixel module COMP: Fix C++11 compatibility with assert in constexpr COMP: Use std::min over vnlmathmin BUG: Fix index type and and number of indexes BUG: Add alternate baseline itkSLICImageFilterTest1 test ENH: Update test output to include test name BUG: improve numeric consistency in linear algorithm COMP: Add missing overrride to virtual destructor ENH: TileImageFilter learns to use VectorImages COMP: Remove unused testing function and headers BUG: Finish updating to ScanlineIterator in nonlinear method ENH: Update SLIC filter to use new ITK threading model ENH: TileImageFilter learns to use VectorImages ENH: Update SimpleITKFilters remote modules COMP: remove duplicate declaration of TempImageType DOC: Add link to published Insight Journal paper ENH: Update CenteredTransformInitializer print self method PERF: Remove internal streaming in DiscreteGaussianImageFilter ENH: Update MinimumMaximumImageFilter to use dynamic threading ENH: Update StatisticsImageFiler to use DynamicThreadedGenerateData ENH: Add compensated summation to the StatisticsImageFitler BUG: Use pip to install cmake BUG: Use pip to install cmake for release PERF: Use the recursive Gaussian filter in registration method BUG: Add additional baseline for debug COMP: Length GTest discovery timeout BUG: Correct image used for debug SimpleImageRegistrationTest BUG: Add cxx suffix to specified source GTest code ENH: Consistently use default OutputWindow for messages BUG: Explicitly set sampled pointset in virtual domain ENH: Use std::enableif and std::issame in filters PERF: Memory alloc reduction in ComputeJacobianWithRespect PERF: Improve MatrixOffset Jacobian computation performance COMP: Address signed to unsigned comparison warning STYLE: Cleanup development comments PERF: perform matrix multiplication in-place for composite Jacobian ENH: Provide explicitly instantiated vnlsvdfixed PERF: Change type of Jacobian w.r. position to vnlmatrixfixed PERF: Change the purpose of the cache jacobian argument
Brian Avants (1): PERF: Only throw exception if zero valid points
Chao Wu (2): ENH: Enable writing sclslope and sclinter in NIfTI header BUG: Missing SetCPUBufferPointer in GPUImage<...>::SetPixelContainer(...)
Dženan Zukić (45): STYLE: a more direct link (after PR has been merged) STYLE: update clang-format configuration ENH: adding ParallelizeArray method to MultiThreaderBase COMP: fixing warning in external module COMP: Address usage of deleted assignment operator ENH: more thorough removal of deprecated "multiple method" DOC: add compatibility warning to Barrier STYLE: initializing SingleMethod/SingleData in base class DOC: merging instructions from itkMultiThreader.h into migration guide ENH: rename NumberOfThreads into NumberOfWorkUnits in filters ENH: Add backwards compatibility for Get/SetNumberOfThreads ENH: renaming NumberOfThreads into NumberOfWorkUnits in MultiThreaderBase ENH: adding backwards compatibility for MultiThreaders ENH: default number of work units is greater than default number of threads COMP: fixing compile warning on GCC 4.8 ENH: rewriting thread pool to take advantage of C++11 ENH: implement Parallelize Array and ImageRegion in PoolMultiThreader COMP: SmoothingRecursiveYvvGaussianFilter compiles with new ITKv5 threading ENH: RGB/RGBA consistency, operator / and remove comments from implementation ENH: refactoring RecursiveSeparableImageFilter to use new threading ENH: updating MCI: adjusting to split between threads and work units in ITKv5 ENH: compute spacing using n-1 instead 2-1 in ImageSeriesReader BUG: updating the HDF5 symbol mangling ENH: fix reading of oblique image series BUG: fixing crash in ThreadPool's destructor COMP: fixing warning about shadowed global COMP: avoid warning with CMake 3.12 and newer regarding policy CMP0075 ENH: write format which is backwards-compatible with HDF5 version 1.8 ENH: refactoring BinaryImageToLabelMapFilter to use the new threading model ENH: adding ProgressTransformer ENH: proper backwards compatibility to HDF5 1.8 STYLE: fixing 'No new line at the end of file' ENH: adding short description of split between threads and work units ENH: rewriting BarrierTest to work with any MultiThreader ENH: cause compile error with HDF5 version 1.10.0 and 1.10.1 STYLE: fixing 'No new line at the end of file' ENH: restore BeforeThreadedGenerateData method DOC: state that SetRecursive must be called before SetInputDirectory BUG: updating the symbol mangling list BUG: removing mangling of unversioned variant of versioned definitions ENH: update migration guide: prefer C++11 classes over ITK's ENH: cleaning up ProcessObject ENH: using progress transformer in recently refactored classes COMP: fixing LoggerBase to compile even when DEBUG is defined DOC: ProgressReporter should be replaced by ProgressTransformer
Francois Budin (3): BUG: Improvements to ITK NumPyBridge DOC: Improve exception message to precise what image sizes can be processed BUG: Improvements to ITK NumPyBridge
GCC-XML Upstream (1): ENH: pygccxml develop (reduced)
GDCM Upstream (1): GDCM 2018-05-23 (69cb71a4)
HDF5 Maintainers (3): HDF5 2016-05-10 (7453bbef) HDF5 2018-07-20 (bed5b207) HDF5 2018-08-22 (08d77e43)
Hans Johnson (6): ENH: HDF5 moved from svn to git ENH: Update HDF5 import script for 1.10.2 ENH: Remove svn version of hdf5 files not added by import from git STYLE: Consistently name for ITK conventions BUG: Fixing the HDF5 internal path names tests COMP: Fix const assignment error in testing
Isaiah Norton (3): BUG: prevent segfault when transform reader fails to load .mat PERF: improve DCMTKFileReader::CanReadFile perf BUG: prevent segfault when transform reader fails to load .mat
Jean-Christophe Fillion-Robin (1): BUG: Refactor itkFloatingPointExceptions to fix macOS support
Jon Haitz Legarreta (1): ENH: User initialization lists over direct assignment.
Jon Haitz Legarreta Gorroño (4): ENH: Add the ITK BoneMorphometry module as a remote. COMP: Bump remote modules versions. ENH: Clean up itkGrayscaleMorphologyImageFilter tests. ENH: Increase itk::OtsuMultipleThresholdsImageFilter coverage.
KWSys Upstream (1): KWSys 2018-06-01 (8ef62b28)
Kwame Kutten (2): BUG: Removed quotes from fftwf and fftwd hashes ENH: Make StatisticsImageFilter returns Sum Of Squares
Marian Klymov (1): ENH: Mark copy constructor of ExceptionObject and derived classes noexcept.
Matthew McCormick (39): COMP: Reduce example line lengths for inclusion in the SG COMP: Remove duplicate InPlaceImageFilter wrapping for RGB -> UC BUG: Do not copy workbox files when BUILD_DOCUMENTATION is OFF COMP: Remove duplicate BinaryGeneratorImageFilter class wrapping BUG: Migrate midas3.kitware.com to data.kitware.com ENH: Remove itkzlib in preparation for subtree update ENH: Add ZLIB UpdateFromUpstream.sh BUG: Do not use P-threads with Emscripten COMP: Remove extra argument from HoughTransform3DCircles wrapping ENH: Update testing data content links BUG: Correct Windows and macOS CastXML hashes BUG: Fix SLICImageFilter wrapping BUG: Improve backwards compatibility of BoxUtilities functions BUG: Remove commented, unused Python wrapping configuration BUG: Remove deprecated GetPointer wrapping method ENH: Python snake case functions BUG: Remove deprecated itk.write function BUG: Remove unmaintained itk.show, itk.show2D ENH: Add snake case function aliases for NumPy conversions DOC: ITK 5 now requires CMake 3.10.2 BUG: Bump SplitComponents remote module to 2018-07-18 BUG: Remove TBBImageToImageFilter remote module BUG: Correct Windows and macOS CastXML hashes COMP: Set CMake project command VERSION COMP: Do not wrap itk::ThreadJob COMP: Set CMake project command VERSION ENH: Add ParallelizeImageRegionRestrictDirection COMP: Bump CastXML for Visual Studio 2017 support ENH: Bump pygccxml hash to 2018-08-07 develop branch ENH: Update pygccxml git subtree version BUG: Remove ArchiveTestingDataOnMidas.py BUG: Use manylinux to build CastXML linux executable BUG: Avoid symlink issues in UpdateThirdPartyFromUpstream.sh DOC: Additional information and updates on bug fix release process COMP: Prevent duplicate wrapping ouput file specification COMP: Support instantiation of a 1D TranslationTransform DOC: Update how to reference a GitHub issue in the commit-msg hook DOC: ITK 5 Migration Guide grammar tweaks ENH: PEP8 for itk.Extras arguments
MetaIO Maintainers (1): MetaIO 2018-07-17 (6328f544)
Niels Dekker (14): DOC: Fixed \code sections ShapedImageNeighborhoodRange and added \author STYLE: Renamed RelativeIndices to ShapeOffsets in ShapedImageNeighborhoodRange ENH: Added ConnectedImageNeighborhoodShape, for N-connected neighborhoods ENH: Added operator[] to ShapedImageNeighborhoodRange ENH: Documented + tested order offsets ConnectedImageNeighborhoodShape COMP: Fixed conversion to PDFValueType in MattesMutualInfo...Threader ENH: Added reverse iterators to ShapedImageNeighborhoodRange STYLE: Removed HoughTransform2DCircles default for TRadiusPixelType ENH: Changed type float data members HoughTransform filters to double ENH: Added Functor::CoLexicographicCompare ENH: Made Functor::LexicographicCompare more generic and easier to use BUG: Added default-constructor iterator ShapedImageNeighborhoodRange ENH: Added ImageNeighborhoodPixelAccessPolicy for custom border extrapolation STYLE: Removed LinearInterpolateImageFunction::m_Neighbors
Pablo Hernandez-Cerdan (11): COMP: Remove ignored const qualifier in template. COMP: Fix warnings -Wcatch-value ENH: Update isotropic wavelets module. ENH: Add frequency iterators and band pass filter. COMP: Update IsotropicWavelets, remove FrequencyIterators STYLE: Remove comment in ITKImageFrequency cmake BUG: Fixes generating floating point exceptions COMP: Fix warnings in cdash introduced after FPE. DOC: Add example using std::atomic for multithreading. STYLE: Mark CMAKEDEBUGPOSTFIX as advanced. COMP: Avoid extra point copy in MetaTube
Sean McBride (2): COMP: Fixed warning about missing case label in public header COMP: Fixed three misc clang warnings
Simon Rit (1): ENH: allow wrapping of XML writers
VXL Maintainers (3): VNL 2018-07-26 (2a77e40b) VNL 2018-08-04 (3dafea87) VNL 2018-09-05 (fc0c9043)
Vladimir S. FONOV (1): MINC 2018-08-09 (ce4333ca)
Zlib Upstream (1): zlib 2018-06-11 (355d8648) ```
Enjoy ITK!
- C++
Published by thewtex over 7 years ago
itk - ITK 4.13.1
On behalf of the Insight Segmentation and Registration Toolkit (ITK) Community, we are happy to announce the release of ITK 4.13.1!
ITK is an open-source, cross-platform library for multidimensional image analysis.
Release files can be downloaded from http://itk.org/ITK/resources/software.html
To install or upgrade Python packages with pip:
python -m pip install --upgrade pip
python -m pip install --upgrade --upgrade-strategy eager itk
To install packages with conda:
conda install -c conda-forge itk
This is a patch release that fixes critical issues, regressions, documentation, and compiler support. This release includes the addition of symbol name mangling for HDF5 and fixes to the name mangling for libtiff. A number of fixes were added to the NumPy bridge along with miscellaneous improvements. For more details, see the log below.
This release is also the first time packages are available for Python 3.7.
The next feature pre-release for ITK 5, ITK 5 Beta 1, is anticipated within the next few weeks.
Enjoy ITK!
ITK changes from v4.13.0 to v4.13.1:
``` Bradley Lowekamp (10): COMP: Use anonymous namespace for internal linkage COMP: Update SimpleITKFilters for dependency issues BUG: Add missing extensions to ImageIO BUG: Add specification of OutputImage Type for TobogganImageFilter BUG: Prevent concurrent read/write in output image BUG: Handle case where output image is zero sized COMP: Fix overflow in floating-point conversion warning ENH: TileImageFilter learns to use VectorImages ENH: Update SimpleITKFilters remote modules BUG: Use pip to install cmake for release
Francois Budin (2): BUG: Initializes CMAKEDEBUGPOSTFIX to be empty BUG: Improvements to ITK NumPyBridge
Jean-Christophe Fillion-Robin (1): BUG: Prevent gdcm "missing implementation" error on macOS
Jon Haitz Legarreta Gorroño (1): ENH: Add Python wrap file to itk::MultiResolutionPDEDeforableRegistration.
Martino Pilia (1): BUG: fix itkFormatWarning in Python wrapping
Matthew McCormick (13): ENH: Add wrapping for BSplineTransformInitializer COMP: Do not use absolute path to TestBigEndian.cmake in GDCM COMP: Enable pthreads shim with Emscripten BUG: Allow module examples to be enabled when built externally ENH: Ensure external module examples get added to current build tree COMP: Work around RegionGrow2DTest compiler error on ppc64le BUG: Wrap long long instead of long COMP: Detect Linux in itkMemoryUsageObserver.h on Alpine Linux COMP: Wrap MultiResolutionPDEDeformableRegistration for Pyramid filter types BUG: Migrate midas3.kitware.com to data.kitware.com BUG: Correct Windows and macOS CastXML hashes COMP: Set CMake project command VERSION COMP: Bump CastXML for Visual Studio 2017 support
Niels Dekker (1): COMP: Worked around endless VS2015 Release compilation on Math::Floor
Pablo Hernandez-Cerdan (2): COMP: Fix VNL to compile with gcc8. STYLE: Mark CMAKEDEBUGPOSTFIX as advanced.
Sean McBride (5): STYLE: arranged/alphabetized things to make subsequent changes reviewable COMP: Fixed some missing name mangling of libTIFF symbols BUG: fixed crash on macOS under guardmalloc from RunOSCheck() COMP: Mangle HDF5 symbol names COMP: fix warning about implicit double to bool conversion ```
- C++
Published by thewtex over 7 years ago
itk - ITK 5.0 Alpha 2
Major improvements in ITK 5.0 include a switch to C++11 language standard, improved performance, and cleanup of legacy code. More information about the C++11 transition, spearheaded by Hans Johnson, can be read in the ITK 5.0 Alpha 1 announcement.
ITK 5.0 Alpha 2 emphasizes performance improvements: 1) A refactored multithreading infrastructure, 2) in ITK 5, a thread pool is available by default, 3) an Intel Threading Building Blocks (TBB) threading backend with dynamic region splitting, 4) improved image iterator performance, 5) simple APIs to execute functions in parallel, 6) simple construction of unary and binary generator image filters filters, and 7) new, experimental C++11 range classes for iteration in range-based for loops.
There are now two multi-threaded "GenerateData" method signatures. The classic one, ThreadedGenerateData, is kept when a filter needs to know in advance the number of pieces into which the requested region will be split. This information was previously used by some filters to allocate intermediate, thread-local data. The new dynamic signature, DynamicThreadedGenerateData, allows the region to be split dynamically in response to data content and multi-processor load to achieve load balancing. Presently, only the TBB backend performs dynamic splitting. More information can be found in the Multi-Threading section of in The ITK Software Guide. Instructions that describe changes required to leverage dynamic parallelism in external filters can be found in the migration guide. Most existing ITK-based codes will build with minimal to no modifications required.
An itk::PoolMultiThreader is the default in ITK 5, which provides a thread pool for platform native threads. The itk::PlatformMultiThreader is also available, which behaves like the previous itk::MultiThreader class.
Our multi-threading refactoring enables better load balancing for filters with variable per-pixel computation cost. As TBB is one of the best open source libraries for load-balanced threading, it was an easy choice. The itk::TBBMultiThreader can be enabled by setting
Module_ITKTBBtoONin ITK's CMake configuration.Most methods in neighborhood iterators were virtual, but this was a rarely-used feature. That virtualization is now a configure-time parameter, and it is off by default. This significantly improves performance of filters which utilize neighborhood iterators. More information can be found in the Discourse discussion.
A ParallelizeImageRegion method allows multi-threaded processing without writing a full-blown filter class. As evident in this example, multiple parallelized operations of arbitrary complexity can now be concisely specified and executed with C++11 lamda's or std::function's.
The new itk::UnaryGeneratorImageFilter and itk::BinaryGeneratorImageFilter's allow per-pixel operations to be specified in several ways: 1) traditional "Functor", with
operator(), 2) C++11 lambda functions, with closures, 3) C++11 std::function 4) C-style function pointers.New, experimental classes for C++11 iteration in range-based for loops, e.g. itk::Experimental::ShapedImageNeighborhoodRange, provide a modern, convenient syntax for image pixel iteration, and dramatic performance improvements.
Furthmore, ITK 5 improves performance by leveraging Rvalue references to implement move semantics and perfect forwarding.
ITK 5 Performance Benchmark Improvements ITK Performance Benchmarks, lower is better, for ITK 4.13.0, ITK 5.0 Alpha 2 with the platform thread pool, and ITK 5.0 Alpha 2 with TBB. ITK 5.0 advances performance in general, especially with the TBB threading backend.
Thanks to everyone who contributed to the major advancements made in the ITK 5 performance refactoring. Special recognition goes to Dženan Zukić, Kitware, who lead the refactoring effort. Contributions were also made by Jared Vicory, Robert Maynard, Francois Budin, Matt McCormick, Pablo Hernandez-Cerdan, Kitware, Jonathan Lefman, formerly of Intel, Bradley Lowekamp, associated with the National Library of Medicine, Hans Johnson, the University of Iowa, Simon Warfield, Benoit Scherrer, Rene-Paul Debroize, Amir Jaberzadeh, and Etienne St-Onge, Boston's Children's Hospital. The TBB-refactoring was inspired by the TBBImageToImageFilter, which was supported in part by the Intel Parallel Computing Center at the Computational Radiology Laboratory, Boston Children's Hospital. Bradley Lowekamp contributed the itk::UnaryGeneratorImageFilter and itk::BinaryGeneratorImageFilter filters. Neils Dekker, Leiden University Medical Center, contributed the new range classes.
There were many other improvements and bug fixes since 5.0 Alpha 1. For example, addition of .editorconfig, prominent placement of .clang-format, addition of ITK-specific debug visualizers for Visual Studio versions 2012-2017 improve editing and debugging experience in Visual Studio.
To test the ITK 5.0 Alpha 2 Python packages, run
bash
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
Note: there are a few warnings that appear when using the wrapping. These will be addressed with the next release.
The next planned release, ITK 5.0 RC1, will focus on the transition of code review process to GitHub.
```
Changes from v5.0 Alpha 1 to v5.0 Alpha 2
Bradley Lowekamp (22): PERF: remove virtual methods in neighborhood iterators ENH: Add ITKITERATORFINAL ENH: Use named inputs for the PasteImageFilter PERF: Remove iterators stored as member variables BUG: Add specification of OutputImage Type for TobogganImageFilter BUG: Add specification of OutputImage Type for TobogganImageFilter ENH: Improve numerics of resampling for linear transform COMP: Fix gcc 4.8 initialize warning ENH: Add baseline image to sporadically failing test ENH: Adding Unary and Binary GeneratorImageFilter ENH: Convert functor based filters to generator ENH: Update internal filters to use BinaryGereratorImageFilter ENH: Updating Functor filter with parameters to the new Generator COMP: Address Generator filters destructors warning DOC: Fix BSplineDecompositionImageFilter Doxygen see also link ENH: reuse default splitter BUG: revert thread update to BSplineScatteredDataPointSetToImageFilter ENH: Update CircleCI CMake version to 3.11.2 BUG: Correct detection of most recent data file ENH: Improve numeric computation of linear interpolation for Resample ENH: Update baseline image for ResampleImageFilter3Test1 BUG: Add 4 pixel tolerance to ResampleImageFilter3Test1
Dženan Zukić (37): ENH: start migration guide document STYLE: increasing initial size of the debug window BUG: fixing null pointer dereference at the end of iteration COMP: reducing direct usage of MultiThreader BUG: remove observations in FilterWatcher's destructor ENH: support Unicode characters in class documentation BUG: fixing index computation in resample filter ENH: reducing code duplication in FilterWatcher ENH: refactoring MultiThreader infrastructure ENH: deciding which filters can use the new threading model ENH: reporting progress ENH: simplifying Canny filter by using new threading infrastructure STYLE: Renaming MultiThreader to PlatformMultiThreader ENH: use C++11 thread primitives instead of SpawnThread COMP: improve backwards compatibility by retaining the renamed header ENH: Add TBB-based multi-threader ENH: refactoring filters to avoid use of memory barrier ENH: reworking logic for determining default multi-threader COMP: fixing compile error on GCC 4.8.5 20150623 (Red Hat 4.8.5-28) STYLE: remove outdated and useless comments from VectorExpandImageFilter ENH: add a baseline for QuickViewTest.png (Win7x64+VS2017+VTK8.1OpenGL2) STYLE: reduce number of lines by removing unnecessary empty lines DOC: document FilterWatcher removal ENH: adding an .editorconfig file to aid IDE's code formatting options BUG: forgotten #ifdefs for ITKLEGACYREMOVE ENH: adding debugger help files for Visual Studio 2017 ENH: moving .clang-format file into the root folder, ENH: using the new threading mechanism for FFT module ENH: explicitly setting threading model in each multi-threaded filter ENH: support classic ThreadedGenerateData via ITKCLASSICTHREADINGMODEL BUG: fixing a test which has been failing since multi-threading refactoring ENH: updating baselines for itkBSplineScatteredDataPointSetToImageFilterTest* COMP: fixing 2 compile warnings STYLE: renaming migration guide document ENH: extending migration guide with threading refactoring instructions ENH: reducing redundancy in itkLandmarkBasedTransformInitializerTest ENH: eliminate CMake option ITKCLASSICTHREADINGMODEL
Hans Johnson (5): STYLE: Use C++11 override keyword directly STYLE: Use C++11 override keyword directly ENH: Add compression option for Transform files COMP: Address type mis-match compiler warning COMP: Remove unused variable warning
Jon Haitz Legarreta Gorroño (10):
COMP: Use and move ITKDISALLOWCOPYANDASSIGN calls to public section.
ENH: Update the WikiExamples remote module commit hash.
COMP: Bump the remote modules' versions.
DOC: Fix miscellaneous typos.
DOC: Update the ITK logo files in Documentation folder.
DOC: Remove PSD files containing old ITK logo.
BUG: Address use of CMake variables in CMakeLists.txt.
COMP: Set the minimum required CMake version to 3.10.2.
STYLE: Stick to the ITK style guidelines.
COMP: Bump the remote modules' versions after the CMake ver update.
Lucas Gandel (2): ENH: include WrapITKConfig for external module ENH: Allow for itk::ImageSource wrapping override
Matthew McCormick (17): ENH: Support Python snake case keyword arguments in object initializion PERF: Avoid extra condition check in itkBase.py COMP: Detect Linux in itkMemoryUsageObserver.h on Alpine Linux COMP: Define ITKDELETEFUNCTION for backwards compatibility BUG: Fix bugs in ITKV4_COMPATIBILITY definition COMP: Wrap MultiResolutionPDEDeformableRegistration for Pyramid filter types COMP: Do not disallow constructors in Python classes DOC: Add Mathieu Malaterre to GDCM copyright holders in NOTICE COMP: Address array initialization in itkShapedImageNeighborhoodRangeGTest COMP: ShapeImageNeighborhoodRange signed unsigned comparison COMP: Add missing itkViewImage.h include to itkViewImage.hxx COMP: Initialize CovariantVector in DeformableSimplexMesh3DFilter COMP: Update Unary and Binary filters for new generator class base COMP: Initialize DeformableSimpleMesh3DFilter displacement COMP: Suppress maybe-uninitialized in SimpleDataObjectDecorator Component COMP: Do not include itkMultiThreader.h in the header tests COMP: Fix Python wrapping of MultiThreaderBase
Niels Dekker (11): ENH: Added Compute member functions to NeighborhoodInnerProduct STYLE: Added DISALLOWCOPYAND_ASSIGN(GaussianDerivativeImageFunction), etc. ENH: Added ShapedImageNeighborhoodRange for modern C++ style iteration STYLE: Removed '&' from pixelPointer param of NeighborhoodAccessorFunctor::Set PERF: Removed virtual ~NeighborhoodAccessorFunctor() and made class final COMP: Fixed ShapedImageNeighborhoodRange doxygen + signed/unsigned warning BUG: Dropped OffsetTable assumptions from ShapedImageNeighborhoodRange PERF: Made HoughTransform2DCircles GaussianDerivative call non-virtual COMP: Workaround Clang range-loop-analysis warning NeigborhoodRange test ENH: Added class to create offsets for a hyperrectangular neighborhood shape ENH: Random access support for ShapedImageNeighborhoodRange iterators
Pablo Hernandez-Cerdan (4): ENH: Add stateless viewer ViewImage with Python wrap. DOC: Add docs to ViewImage. COMP: Fix catch by value warning in SpatialObject. COMP: Fix VNL to compile with gcc8.
Rashad Kanavath (1): COMP: fix linking on OpenBSD
Sean McBride (4): COMP: -Wunused-template & -Winconsistent-missing-destructor-override warnings BUG: removed illegal int to enum conversion COMP: fix warning about implicit double to bool conversion COMP: fix warning about implicit double to bool conversion
Simon Rit (1): COMP: missing include path for FFTW
Taylor Braun-Jones (1): COMP: Fix clang diagnostic: case value cannot be narrowed
VXL Maintainers (1): VNL 2018-05-16 (26628604) ```
Enjoy ITK!
- C++
Published by thewtex over 7 years ago
itk - ITK 5.0 Alpha 1
ITK 5.0 Alpha 1 is ready for testing!
ITK 5.0 brings dramatic improvements to ITK's API and performance. At the same time, there are minimal changes that break backwards compatibility.
This the first in a series of alpha releases to enable the community to test and improve these major changes.
In this first alpha release, we highlight ITK's adoption of and requirement for the C++11 standard. Prior to this release, a subset of C++11 functionality was utilized, when available, through backports and macros. ITKv5 deprecates or removes these macros (e.g. ITK_NULLPTR, ITK_DELETED_FUNCTION, ITK_NOEXCEPT, ITK_CONSTEXPR) and directly uses C++11 keywords such as delete, constexpr, nullptr, override, noexcept. The keywords auto and using as well as range-based loops are also now used heavily throughout ITK.
ITKv5 includes some API changes. Even though we tried to minimize backward compatibility issues, there will be a few (see below for important changes). These changes were discussed by the community on the ITK Discourse forum [1][2][3][4]. This ITK alpha release is purposefully created with the goal of helping developers to test their current software with this new ITK version, update their code if necessary, and report problems they encountered during this process.
ITK now requires CMake 3.9.5 for configuration and a compiler that supports C++11. This means that Visual Studio 2015 or later is required for Windows development with the Microsoft toolchain.
Important changes in style have also been integrated in ITK to match the C++11 best practices. This includes replacing typedef calls with the using keyword, the usage of the keyword auto when appropriate, and moving the macro ITK_DISALLOW_COPY_AND_ASSIGN from the private class section to the public class section. The ITK Software Guide has been updated to match these changes.
As shown below, toolkit has adopted the application of the using keyword for type aliases, which many developers find easier to read and understand.
```cpp template< typename TInputImage, typename TOutputImage > class ITKTEMPLATEEXPORT BoxImageFilter: public ImageToImageFilter< TInputImage, TOutputImage > { public: ITKDISALLOWCOPYANDASSIGN(BoxImageFilter);
/⋆⋆ Standard class type alias. ⋆/
using Self = BoxImageFilter;
using Superclass = ImageToImageFilter< TInputImage, TOutputImage >;
[...]
protected: BoxImageFilter(); ~BoxImageFilter() {}
void GenerateInputRequestedRegion() override;
void PrintSelf(std::ostream & os, Indent indent) const override;
private: RadiusType m_Radius; };
} // end namespace itk ```
For more information on style changes, see the Coding Style Guide found in the ITK Software Guide.
To test the 5.0 Alpha 1 Python packages, run
bash
python -m pip install --upgrade pip
python -m pip install --upgrade --pre itk
For a full list of the new features and changes in API, please review the log below. The community has been busy -- there have been 319 commits, 97,794 insertions, 152,791 deletions since 4.13.0 was released in December!
Please discuss your experiences on Discourse. The API is expected to change across alpha releases as we improve the library based on our experiences.
```
Changes from v4.13.0 to v5.0 Alpha1
Bradley Lowekamp (49): ENH: Adding more swap methods BUG: Respect Visibility Preset for initial template visibility COMP: Use explicit equality for boolean evaluation of real number BUG: Keep the SetSeed# methods in IsolatedConnectedImageFilter ENH: Use direct for loops for implementing image transformations COMP: Use anonymous namespace for internal linkage ENH: Mark 2 template parameter ModulusTransform to be removed COMP: Remove legacy marking on definition of SetSeed methods STYLE: Use itk::v3 nested namespace for Rigid3DTransform BUG: Preserve option to use a "label value" mask and boolean mask ENH: update C+11 headers and try compile for headers ENH: Remove duplicated CMake module from upstream CMake COMP: Explicitly include the fixed width integer header before usage COMP: Update SimpleITKFilters for dependency issues BUG: The CXX language must be enable to check compiler variables PERF: Support move semantics for ITK smart pointers ENH: Remove usage of SmartPointerForward reference ENH: Remove unneeded internal smart pointer type COMP: Require MSVC VS14 2015 for C++11 compatibility ENH: Use C++11 template alias for Image::Rebind STYLE: Use copy-swap idiom for SmartPointer ENH: Use std::uniqueptr over itk::AutoPointer DOC: Document additional MaskValue variable BUG: remove unused cmake CXX try compile file BUG: Remove un-configured and unused CMake configure define BUG: Improve Doxygen extraction with blank line ENH: Remove TEMPLATEDFRIEND macro and try compile ENH: Replace optional tr1 typetraits with c++11 standard ENH: Assume c++11, remove configure defines for optional TR1 features BUG: Add missing extensions to ImageIO ENH: Only use std::atomic implementation for AtomicInt class ENH: Add direct SmartPointer conversions to match raw Pointers PERF: Use emplace when inserting into map for ProcessObject ENH: Create virtual interface for the MultiTheader ENH: Trying out the ThreadPool as a separate MultiThreader BUG: Fix uninitialized cross structuring element buffer BUG: Disable ThreadPools by default COMP: Add forward declaration of ExceptionObject in Macro.h COMP: Add forward declaration of ExceptionObject in Macro.h ENH: Use gtestdiscover_tests if available DOC: Watershed filters is not stream-able COMP: Use nullptr over 0 for null pointer STYLE: Use SmartPointer direct conversion constructors Revert "BUG: Disable ThreadPools by default" BUG: Actually disable ThreadPools by default COMP: Suppress warning on CircleCI about itkIndex out of bounds ENH: Update CircleCI external data cache ENH: Address incorrect types with neighborhood iterator base class COMP: Make MirrorPadImageFilter::DelayBase a conventional parameter
Bryce A Besler (1): ENH: Move DiscreteGaussianDerivativeImageFilter from Review to ITKImageFeature
Dženan Zukić (27): ENH: updating SphinxExamples and pointing to GitHub COMP: Get rid of warning about registry key STYLE: minor fixes BUG: duplicator crashes if buffered region is smaller than largest region STYLE: reducing code duplication and cleaning up method documentation ENH: adding itkReviewPrintTest to tests. It existed but was not invoked. COMP: turn FEM off by default, as it takes a long time to build COMP: fixing compiler warnings ENH: making ITKBioCell and ITKNeuralNetworks remote modules COMP: fixing configure error COMP: long paths are not yet supported by all the tools in the build chain COMP: using ITKDELETEDFUNCTION, and more consistent override specifier ENH: simplify code and properly support long long type COMP: fix compile warning STYLE: avoid redirect for repository address in DVMeshNoise ENH: update remote modules to require CMake 3.9.5 BUG: fixing crash in test ENH: Remove ITKFEMRegistration from default configuration ENH: Fixing error and improving examples' test ENH: Use MultiThreaderBase STYLE: reducing duplication and removing commented code in DistanceMap tests STYLE: fixing typo BUG: more reliably detect Windows+DLLs case ENH: enable thread pool by default ENH: adding exponential decay option to MirrorPadImageFilter BUG: Set/GetGlobalDefaultNumberOfThreads was forgotten in legacy #ifdef BUG: fixing Windows+DLL ThreadPool sporadic destructor hanging
Francois Budin (17):
BUG: Update ITK test files SHA and debug ContentLinkSynchronization.sh
ENH: Bump ITK version to 5.0.0.
ENH: lifting path length limitation on Windows 10 version 1607+
BUG: Remove bad guards stopping inclusion of necessary hxx file
BUG: Remove extern "C" call to include github_compare option
ENH: Update CMake code to use IN_LIST (CMake >= 3.3)
BUG: Update LabelErodeDilate
ENH: Compile ITK with MKL (FFTW) installed on system
BUG: Update ParabolicMorphology remote module
Gregory C. Sharp (1): DOC: Fix misspelling of vertices
Hans Johnson (86): ENH: Update Wiki examples for latest code changes COMP: Remove override warnings ENH: Cuberille future compilation deprecations ENH: Strain future compilation deprecations COMP: TwoProjectionRegistration Future proof code COMP: LevelSetsv4 used deprecated api COMP: N4 remove testing of deprecated SetMaskLabel BUG: Provide consistent GetOutput behavior BUG: GetModifiableTransformList needs to always be available BUG: Restore backwards compatibility DOC: Remove ITKv3 to ITKv4 migration documentation. COMP: Provide migration documentation old macros STYLE: Remove deprecated code directory contents STYLE: Remove all vestiges of ITKv3 code STYLE: Remove legacy code for ITKv5 starting ENH: Revert to include itkv3::Rigid3DTransform STYLE: Move Future deprecated to deprecated BUG: Restored testing for long HistorgramMatching COMP: Remove unnecessary conditional tests COMP: Force using lower deployment targert for fftw COMP: Use C++ headers over C headers COMP: Set ITKVERSIONMAJOR to 5 STYLE: Fix header guard format COMP: Remove ITKUSESTRICTCONCEPTCHECKING flag ENH: Set cmake Minimums to 3.9.5 COMP: Change min cmake version to 3.9.5 for circleci COMP: Directly use cmake compilerdetection.h STYLE: Fix typo requireing -> requiring COMP: Consistently set use of CMake 3.9.5 and options COMP: Enforce building ITK with C++11 COMP: Modularize cmake config like VTK. COMP: Use C++ headers over C headers (part 2) ENH: Scripts used during ITKv5 migration STYLE: Remove conditional version 201103L code COMP: Need to match type for different threaders COMP: Preparing for ITKv5 by adding override COMP: Use C++11 override directly STYLE: Use override statements for C++11 COMP: Use C++11 ITKNULLPTR directly COMP: Use nullptr instead of 0 or NULL STYLE: Prefer nullptr for C++11 COMP: Use C++11 nullptr directly BUG: VXL visibility must match ITK visibility COMP: Use C++11 = delete directly COMP: Use C++11 constexpr directly STYLE: ITKCOMPILERCXXCONSTEXPR is always true BUG: Missing external linkage options for float and double. COMP: Remove deprecated C++ 11 features ENH: ReplaceitkGetObjectMacro.sh used during ITKv5 migration ENH: Update SeveralRemotes to latest version. COMP: Suppress invalid warning STYLE: Remove outdated conditional code STYLE: Remove unnecessary old CMakeCode ENH: Remote for SmoothingRecursiveYvvGaussianFilter STYLE: Prefer C++11 type alias over typedef BUG: Type alias errent typo in name BUG: ConceptChecking type matching failed. STYLE: Remove ITKHAS variables that should not be defined COMP: Allow using cmake 3.9.5 default for RPATH setting STYLE: Replace itkStaticConstMacro with static constexpr BUG: Propagate C++11 requirements to external project STYLE: Prefer constexpr for const numeric literals STYLE: Use range-based loops from C++11 PERF: Allow compiler to choose best way to construct a copy PERF: Replace explicit return calls of constructor STYLE: Use auto for variable creation BUG: Restore ITK.kws.xml preferences ENH: Provide advanced development mode for writing GTests COMP: Use C++11 noexcept directly ENH: Use simplified/natural conversion to const pointer ENH: Use natural ConstPointer conversion STYLE: Use override statements for C++11 COMP: Use C++11 noexcept directly ENH: Add google test for itkIndex.h ENH: Make const operator[] conform to standards STYLE: Change aggregate classes to mirror std::array ENH: Update all remote modules with C++11 conformance BUG: New SmartPointer conversion ambiguity BUG: Error in ITK_VERSION construction ENH: Add introspection into the build process COMP: Silence warning of mismatched signs. ENH: Bring in C++11 updates for ITKBridgeNumPy STYLE: Do not use itkGetStaticConstMacro in ITK COMP: Make member name match kwstyle requirements. BUG: Add ability to construct SmartPointer with NULL BUG: Update NULL pointer patch with final fixes
Hastings Greer (1): ENH: Add wrapping for Labeled PointSet to PointSet registration classes
Jean-Christophe Fillion-Robin (3): BUG: Prevent gdcm "missing implementation" error on macOS BUG: Prevent gdcm "missing implementation" error on macOS STYLE: MeshIO: Introduce ITKIOMeshBase module. See #3393
Jon Haitz Legarreta (8):
STYLE: Fix typo in itk::VariableLengthVector struct name.
ENH: Set the InsightSoftwareConsortium repo as the remote.
STYLE: Improve itkHoughTransform2DLinesImageFilter style.
DOC: Add different GitHub badges to the README.md file.
DOC: Change the ITK Git tips wiki page reference for Git scm website.
DOC: Add commands in a Review section to the ITK Git cheat sheet.
DOC: Change the ITKGitCheatSheet.tex file tittle.
DOC: Make references to ITK issue tracking system consistent.
Jon Haitz Legarreta Gorroño (19):
BUG: Fix bug in class LaTeX documentation Doxygen link.
BUG: Fix unnecessary explicit itk namespace mention in Doxygen link.
DOC: Remove redundant ellipsis after "etc." in LaTeX doc.
DOC: Remove unnecessary EOF comments.
DOC: Make namespace closing bracket comments consistent.
DOC: Fix typo: substract to subtract.
DOC: Remove unnecessary ifdef and class ending comments in FEM.
DOC: Remove non-existing namespace comment.
ENH: Add a code of conduct to the ITK project.
ENH: Bump latest version of the ITKSplitComponents remote module.
DOC: Remove unnecessary Doxygen \ref keyword in module crossrefs.
DOC: Remove crossrefs to non-existing classes.
DOC: Improve the ISSUE_TEMPLATE.md markdown file contents.
DOC: Change the term mailing list in README.md.
DOC: Fix syntax mistake in Sharing Data section of CoC.
DOC: Fix typos in class doc.
ENH: Add Python wrap file to itk::MultiResolutionPDEDeforableRegistration.
STYLE: Update the wrap files to match current CMake syntax.
DOC: Fix typo.
KWSys Upstream (1): KWSys 2018-01-08 (f7990fc2)
Marcus D. Hanwell (1): DOC: Add GitCheatSheet sources
Martino Pilia (2): BUG: fix itkFormatWarning in Python wrapping BUG: fix itkFormatWarning in Python wrapping
Matthew McCormick (46): BUG: Remove ITKTubeTK remote ENH: Add wrapping for BSplineTransformInitializer ENH: Add PolarTransform remote module COMP: Do not use absolute path to TestBigEndian.cmake in GDCM COMP: Enable pthreads shim with Emscripten COMP: Do not use absolute path to TestBigEndian.cmake in GDCM COMP: Enable pthreads shim with Emscripten BUG: Allow module examples to be enabled when built externally ENH: Ensure external module examples get added to current build tree COMP: Specify OutputImageType for boundary conditions in FFTPadImageFilter COMP: Update DCMTK to 2018.01.16 and support Emscripten COMP: Fix cross compiling DCMTK BUG: Do not set DCMTKWITHXML to ON in DCMTK configuration COMP: itk::Math perfect forward return type BUG: Do not segfault when trying to use PDEDeformableRegistrationFilter COMP: Ensure CastXML uses C++11 with GCC or Clang COMP: Remove legacy BackTransform methods from Rigid3DTransform COMP: Explicitly add NumericTraits::max to the API COMP: Address SG line length warnings in DataRepresentation, Filtering DOC: Update README Software Guide link DOC: Update Discussion link in the README ENH: Add banner to the README COMP: Bump KWStyle to 2018-02-22 master COMP: Add missing wrapping for MultiThreaderBase COMP: Do not wrap methods with ?unknown? type COMP: Add missing itkSimpleFastMutexLock headers ENH: Import the ITKBridgeNumPy module BUG: GetArrayFromImage calls UpdateLargestPossibleRegion BUG: Add missing wrapping for PoolMultiThreader BUG: Exclude MultiThreaderBase from GetNameOfClass test COMP: Add SimpleFastMutexLock include to ESMDemonsRegistrationFunction BUG: Cast to correct iterator type in PeriodicBoundaryCondition BUG: Fix casting in PeriodicBoundaryCondition COMP: Work around RegionGrow2DTest compiler error on ppc64le BUG: Bump KWStyle for C++11 brace list initialization support BUG: Fix MeshFileWriter export specification BUG: Wrap long long instead of long ENH: Create ITKIOMeshVTK module COMP: ExceptionObject declaration must come before usage ENH: Migrate BYU IO into ITKIOMeshBYU COMP: Bump ParabolicMorphology for MultiThreaderChanges COMP: Remove SmartPointer NULL initialization compatibility code DOC: Use http for issues.itk.org ENH: Migrate MultiScaleHessianBasedMeasureImageFilter out of ITKReview ENH: Move ContourExtractor2DImageFilter out of ITKReview DOC: Avoid Voronoi term when referring to the pixel center
Niels Dekker (18): PERF: Improved speed of copying and resizing NeighborhoodAllocator STYLE: Removed 'char(255)' casts from NumericTraits min() and max() STYLE: Removed assignments from Neighborhood copy constructor BUG: Fixed semantics NeighborhoodAllocator operator== and operator!= BUG: GaussianDerivativeImageFunction should use image spacing consistently PERF: NeighborhoodOperatorImageFunction avoids copy ConstNeighborhoodIterator COMP: Worked around endless VS2015 Release compilation on Math::Floor PERF: Removed blurring from GaussianDerivativeImageFunction ENH: Added GetCenterPoint and SetCenterPoint to EllipseSpatialObject DOC: Explained calling GetCenterPoint() when using Hough filter->GetCircles() ENH: IsInside(point) made easier, especially for HoughTransform circles STYLE: Using C++11 auto in HoughTransform2DCirclesImageFilter PERF: GaussianDerivativeImageFunction now reuses NeighborhoodIterator objects PERF: GaussianDerivativeImageFunction constructor, RecomputeGaussianKernel() COMP: ITKDISALLOWCOPYANDASSIGN now unconditionally does '= delete' COMP: Moved ITKDISALLOWCOPYANDASSIGN calls to public section COMP: Manually moved ITKDISALLOWCOPYANDASSIGN calls to public section COMP: Moved ITKDISALLOWCOPYANDASSIGN calls in *.cxx to public section
Sean McBride (19): STYLE: Fixed up confusion between base 2 and base 10 prefixes STYLE: arranged/alphabetized things to make subsequent changes reviewable COMP: Fixed some missing name mangling of libTIFF symbols BUG: fixed crash on macOS under guardmalloc from RunOSCheck() BUG: don't use double underscore, which is reserved in C++ STYLE: fixed some spelling, spacing, and comments DOC: Fixed comment about LegacyAnalyze75Mode default value BUG: Some minor cleanup and improvement after itkNiftiImageIO code review STYLE: arranged/alphabetized things to make subsequent changes reviewable COMP: Fixed some missing name mangling of libTIFF symbols BUG: Analyze 7.5 fixes/improvements COMP: Mangle HDF5 symbol names COMP: Fixed clang Wrange-loop-analysis warnings DOC: fixed minor typo in comment BUG: fixed crash on macOS under guardmalloc from RunOSCheck() COMP: Mangle HDF5 symbol names BUG: Revert part of f38b1dd4, which caused a regression ENH: Added new DetermineFileType() API to NiftiImageIO COMP: fixed clang warning about unnecessary copy in for loop
Simon Rit (1): BUG: fix deadlock in FFTW for windows shared libs
Taylor Braun-Jones (1): BUG: Handle single-component PLANARCONFIG_SEPARATE TIFF images (#ITK-3518)
VXL Maintainers (3): VNL 2018-01-25 (ed159d55) VNL 2018-01-31 (39559d06) VNL 2018-03-04 (09a097e6)
Ziv Yaniv (1): ENH: Adding user set min and max values for noise. ```
- C++
Published by thewtex almost 8 years ago
itk - ITK 4.13.0
The Insight Segmentation and Registration Toolkit (ITK), is an open-source, cross-platform library for multidimensional image analysis. On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.13.0 has been released!
Links to the Sourceforge.net tarballs can be found on the download page:
Outline
- Introduction
- New Features
- ITK Changelog
- ITK Sphinx Examples Changelog
- ITK Software Guide Changelog
Introduction
Developed by an international community, ITK collects best-of-breed algorithms for registering, segmenting, analyzing, and quantifying n-dimensional imaging data. The high-quality library facilitates reproducible research, provides a software resource for teaching image analysis, and offers a platform for commercial product development.
Here are a few selected highlights for this release:
- ITK is on PyPI: install ITK's Python wrapping with:
pip install itk - IsotropicWavelets remote module: isotropic and steerable wavelets in the frequency domain
- Improvement of the Image IO, including full 64 bit pixel support
- ITK Python interface improvements: use ITK in a procedural way
- Improved image and transform IO factory registration
- ITK's thread pool refactored for improved performance
- Improved ITK test driver to compare images spacing, origin, size and direction
This release brings multiple exciting new developments for ITK's Python wrapping.
Binary Python Packages
Binary Python wheels are available for Linux, macOS, and Windows, for Python 2.7 and the recent Python 3.X. The wheels have been published on PyPI, the Python package index. These binary wheels are built to be compatible with Python distributions from Python.org, system package managers like apt and Homebrew, and Anaconda. (official announcement here). This means that it has never been easier to install and start using ITK: one simple pip install itk command, and a few seconds later it is possible to start interactively processing images.
External Module Python Packages Furthermore, Python packages for externally developed ITK modules can now be automatically generated and uploaded to PyPI. The module Python package is created by free GitHub continuous integration services. Like the main ITK packages, these packages embed documentation from Doxygen comments into Python docstrings. See https://blog.kitware.com/python-packages-for-itk-modules for details on how to get started. A number of novel ITK module Python packages have already been created this way, including
- itk-bonemorphometry
- itk-polartransform
- itk-texturefeatures
- itk-anisotropicdiffusionlbr
- itk-ultrasound
- itk-morphologicalcontourinterpolation
- itk-cuberille
- itk-ringartifact
IsotropicWavelets Remote Module
A Python package is available for a powerful new remote module, IsotropicWavelets. This module implements a multiresolution (MRA) analysis framework using isotropic and steerable wavelets in the frequency domain. This framework provides the backbone for state of the art filters for denoising, feature detection or phase analysis in N-dimensions. Since it is wrapped in Python, it is as easy to use as ITK: Install the module with pip install itk-isotropicwavelets. Write a Python script or start an interactive Python environment, and call import itk. All the functionality of IsotropicWavelets will be available.
Procedural Filter Interface for Rapid Prototyping ITK v4.13.0 also incorporates an API improvement throughout the entire toolkit to facilitate rapid prototyping: ITK Python filters are now callables, so ITK can be used in a procedural way. It is possible to run filters without the need to declare a filter object first, and without the need to explicitly call ‘Update()’ on a pipeline.
itk.imwrite(itk.MedianImageFilter(itk.imread(‘my_image.png’), Radius=4), ‘my_output.png’)
This one-liner will read an image, filter it with the MedianImageFilter with a radius of 4 voxels, and save the result in a different file.
Image IO Improvement, including Full 64 bit Pixel Support Several improvements have been made in the Image IO in this major release: 64 bit images are now consistently supported by all Image IOs. Additionally, MINC image IO is now enabled by default, Bruker IO improved and enabled by default, and DICOM support via DCMTK was greatly improved (and supported on MS Windows). See below “Improved Factory Registration” for the last improvement of Image IO in this release.
GoogleTest for Writing Tests
An ITK module can be tested with GoogleTest library, using the CMake funtion CreateGoogleTestDriver(), in addition to the classic ITKTestDriver. This function will add the GTest dependency to your test. GoogleTest makes it easy to write a lot of different tests to verify that your code works. Examples of tests using this framework can be found in ITK in Modules/Filtering/ImageGrid/test/itkSliceImageFilterTest.cxx, /Modules/Filtering/ImageIntensity/test/itkArithmeticOpsFunctorsTest.cxx, and several other files.
Improved Factory Registration
Each module (including remote modules) can list the factories and formats they support. This information is used to automatically register all formats supported by modules loaded during configuration. When loading ITK with the CMake command find_package() and loading a limited number of ITK components, it is now possible to load all modules corresponding to a factory, e.g. ImageIO, TransformIO. To load all components of a factory, add the component ITK<factory> in the list of requested components. Here is an example that finds ITK with the ITKCommon module and all the available image and transform IO modules:
find_package(ITK COMPONENTS ITKCommon ITKImageIO ITKTransformIO REQUIRED)
ITK's Thread Pool Refactored for Improved Performance ITK's thread pool has been refactored for improved performance. To test the thread pool, set the environment variable:
ITK_USE_THREADPOOL=1;
Or, call the static method
itk::MultiThreader::SetGlobalDefaultUseThreadPool(true);
at the start of your application. The thread pool is still experimental, and its implementation and interface will be improved and modified in the near future.
Improved ITK test driver to compare images spacing, origin, size and direction
In part to support improved testing and support for DICOM image metadata, the ITK test driver now checks image spacing, origin, and direction when making baseline image comparisons. If your project uses the ITK test driver, new image baselines with correct metadata information may be required. Alternatively, pass the --ignoreInputInformation flag to the test driver.
Congratulations to the 26 contributors to this release. We would especially like to recognize the new contributors: Laura Pascal, Beatriz Paniagua, Rene-Paul Debroize, Edwin Bennink, David Kügler, Adrien Bailly, and Steve Pieper.
The next feature release, scheduled for June 2018, will be ITK 5.0. This release will introduce thread pools by default with an optional Intel Threading Building Blocks (TBB) backend, require C++11 compiler support, and require a newer version of CMake.
New Features
Wrapping Improvements
- Binary Python packages are now available for Linux, macOS, and Windows. Install with:
pip install --upgrade pip pip install itk - ITK modules developed on GitHub can generate their own Python package with freely available continuous integration services.
- https://blog.kitware.com/python-packages-for-itk-modules
- Example module Python packages now pip installable from PyPI:
itk-bonemorphometry,itk-polartransform,itk-texturefeatures,itk-anisotropicdiffusionlbr,itk-ultrasound,itk-morphologicalcontourinterpolation,itk-cuberille,itk-isotropicwavelets,itk-ringartifact
- Add wrapping for several classes:
MultiResolutionIterationEvent,RegionOfInterestFilterforVectorImage's,FloatingPointExceptions,CorrelationMetricv4,DemonsMetricv4,JointHistogramMIMetricv4,ITKIOMesh. - Enable
__call__()function in Python foritkTemplateobjects to make ITK more Pythonic. A developer can run instantiate, run a filter, and get the output, in one single command. - Python docstrings are generated from the C++ doxygen documentation and directly integrated in the Python modules.
- The
unsigned shortpixel type is now supported in ITK Python packages. - Bruker IO wrapping
- Binary Python packages are now available for Linux, macOS, and Windows. Install with:
New Remote Modules
- SimpleITKFilters
- The filters in this module may be wrappers of composites ITK filters, adapters of existing ITK filters or alternative implementations designed for SimpleITK's requirements.
- http://github.com/SimpleITK/ITKSimpleITKFilters
- TextureFeatures
- Filters to estimate texture feature maps from N-dimensional grayscale images.
- http://hdl.handle.net/10380/3574
- IsotropicWavelets
- An ITK-based implementation of steerable isotropic wavelet transforms for multiscale phase analysis.
- http://hdl.handle.net/10380/3558
Core Improvements
- GoogleTest available for testing in ITK
- Support VCPKG, Microsoft's vcpkg C++ package management system for Visual Studio
- Refactor ITK's ThreadPool implementation for performance
- Addition of type long long and unsigned long long for images
- Add options to
itkTestDriveranditkTestingComparisonImageFilterto compare image size, origin, spacing, and direction - Add
itk_module_examples()macro to simplify the creation of independent examples in remote modules - Improve factory registration mechanism (see highlighted features)
- ITK Python modules now share the list of factories that are registered
- Automatic enabling of the
-fPICflag for external modules - Detect the presence of
feenableexceptto compile on Alpine Linux - Update GDCM import script for changes in upstream content
- CMake minimum required version is now 2.8.12
Filtering Improvements
- Improve
Notfunctor and filter to follow other logic functors - Separate functors from filters in header by operator groups
- Move rank filters out of review
- Explicitly warn and deprecate negative pixel spacing
- Add
SliceImageFilter - Move advance Demons registration filters out of review
- Add
ShapeLabelObject::GetRegionmethod - Many improvements in
HoughTransform2DCirclesImageFilter
- Improve
IO Improvements
- Enable MINC IO by default
- PNG IO was crashing instead of returning false when it couldn’t read image
- Several DCMTK improvements: build DMCTK on Windows, replace ICONV with ICU in DCMTK dependencies, support color images (RGB/RGBA)
- Use double floating point API for MetaImage: the text representation is now closer to the DICOM Image Orientation (Patient) or Image Position (Patient) attribute and will allow easier conversion from one representation to the other.
- Fixed
<nifti1_io.h>leak into user code - Updated the Bruker2DSeq reader to ParaVision 6.0
- ITKIOBruker is now its own module, migrated out of ITKReview
Documentation Improvements
- Improvement of documentation Markdown files throughout the repository
- Update old file headers/copyright notices.
- Improve source code coding style
- Enable offline Doxygen support
- Expose
RayCastInterpolateImageFunctionmembers in Doxygen - Updated documentation for
LabelStatisticsImageFilter::GetBoundingBox. - Document behaviors of
ChangeLabelLabelMapFilter - New content in the ITK Software Guide on
- Cross compilation
- An entire new Coding Style Guide section
- Python usage
- Build configuration
Remote Module Updates
- AnisotropicDiffusionLBR (08.31.2017)
- Update MorphologicalContourInterpolation (09.22.2017)
Third Party Library Updates
- Update pygccxml version (v1.9.0)
- Update libPNG to track upstream libpng16 branch
- Update version of DCMTK to 3.6.1_20170529
- Update CastXML to support GCC 7 (11.06.2017)
- Update MetaIO (12.04.2017)
- Adding libLBFGS third party library
- Update MINC (09.14.2017)
- Update VNL (10.05.2017)
Lots of important bug fixes
And much more! See details in the log below.
Changes from v4.12.0 to v4.13.0
Adrien Bailly (1) @adrien.bailly : ENH: add wrapping for MultiResolutionIterationEvent and other missing event
Beatriz Paniagua (2) @bpaniagua : ENH: Updating pygccxml version ENH: Updating libPNG to track upstream libpng16 branch
Brad King (2) @brad.king : ENH: Port GDCM update script to update-third-party.bash ENH: Update GDCM import script for changes in upstream content
Bradley Lowekamp (93) @blowekamp : DOC: fix spelling transfrom->transform ENH: Improve Not functor and filter to follow other logic functors ENH: Separate functors from filters in header by operator groups DOC: Fix spelling mistakes from SimpleITK JSON, from spellintian ENH: making available GoogleTest for testing in ITK COMP: Address missing ITKTEMPLATEEXPORT definition COMP: Use single line for string argument, by-pass multi-line issues COMP: Revert to CMake 2 compatible line comment ENH: Move rank filters out of review BUG: Use const for pipeline inputs and state functions ENH: Explicitly warn and deprecate negative pixel spacing. BUG: Modify google test to define VARIADICMAX=10 COMP: Fix using system GoogleTest with a compiled system library ENH: Add SliceImageFilter COMP: Use itk::Math::abs over vnlmathabs ENH: Add GetProbe method to collectors base. BUG: Add missing exports for GTest::* targets BUG: Fix computation of central moments for shape label map ENH: Adding operator functors from SimpleITK ENH: Choose efficient central moment computation for run BUG: Add missing OrientedBoundingBox option DOC: recommend using separate instances BUG: Manually set seed for ParticleSwarmOptimzerTest BUG: Fix computation of oriented bounding box BUG: shape label object elongation incorrectly zero ENH: Add GTest utilities for ITK ENH: adding explicit testing of computed label shape attributes BUG: Propagate make program to KWStyle ExternalProject BUG: Error only when unknown module is enabled. DOC: Document behaviors of ChangeLabelLabelMapFilter BUG: Document and assert improper usage of transform methods. COMP: Enable hidden visibility property with GoogleTest static libraries DOC: Doxygen namespace tag must be full namespace BUG: Fix computation for Jacobian local vector BUG: Cast to PrintType for MaskLabel variable printing ENH: Update FixedPointInverseDisplacementField remote module BUG: Error only when unknown module is enabled. BUG: Fix computation of central moments for shape label map BUG: shape label object elongation incorrectly zero BUG: Fix computation of oriented bounding box BUG: Add missing OrientedBoundingBox option ENH: Update FixedPointInverseDisplacementField remote module ENH: Only remove hidden visibility for C file with CMake<3 BUG: Print missing Seeds parameter and values used for Upper/Lower ENH: Remove unneeded mUpper and mLower ivars ENH: Prefer raw pointers for pipelined owned objects ENH: Update to use CircleCI 2.0 ENH: Enable MINC IO by default ENH: Move advance Demons registration filters out of review BUG: Fix CircleCI command to upload test results ENH: Test SliceBySlice with non-zero index BUG: Use same origin for internal image as input image BUG: Remove duplicate code from local commit COMP: Remove MINC library level exports ENH: Add ProcessObject::AddOptionalInputName and more named inputs ENH: Make more use of AddOptionalInputName BUG: Use input macros for const correct pipeline inputs ENH: Remove input name when renamed and add tests BUG: Correct OBB names in GetAttributeFromName ENH: Add ShapeLabelObject::GetRegion method ENH: Hide MINC data in MINCIImageIO interface BUG: Remove newly added warning in ProcessObject AddRequiredInput BUG: Apply constant function specifier BUG: Fix marking of required inputs for GPU PDE registration BUG: Add missing getter method for PDE InitialDisplacementField ENH: Use Input macros for set/get GPU PDE inputs ENH: Move private GE format headers to src ENH: CircleCI use ccache and cache external data ENH: Extract reusable code into a copy image information functor ENH: Change Cast parent class to InPlaceImageFilter BUG: Add search paths for GoogleTest as source code on system BUG: Update BinaryImageToLabelMapFilter::mNumberOfLabels COMP: Remove shadowing typedef ENH: Updating remote module TextureFeatures to 3.0.0 COMP: Use integer suffix for long long types BUG: Disable checking of OBB origin PERF: Use initialized global variable for default number of threads ENH: Add remote mote SimpleITKFilters ENH: Add type for MultiThreader used by the ProcessObject BUG: Don't use void pointer BUG: Fix LBFGS2 iteration count and iterface BUG: Use AutoPtr for initialization based resource acquisition BUG: Fix factory registration during static initialization BUG: Fix const correctness of GetDisplacementField, use named input STYLE: Use LineSearch conventions BUG: Relax timeout to 60 seconds for itkSimpleFastMutexLockTest COMP: Mark itkTimeVaryingBSplineVelocityFieldImageRegistrationTest long COMP: Address linking error using operator<< COMP: Must define target before adding compile definitions COMP: Issue a CMake warning if ITKV3COMPATIBILITY COMP: Enable CMP0063, support setting visibility properties COMP: Enable CMP0063, support setting visibility properties COMP: Enable CMP0063, support setting visibility properties
David Kügler (1) @david.kuegler : BUG: better support for OBJ mesh format
Dženan Zukić (21) @dzenanz : ENH: adding an example and improving tests ENH: support VCPKG ENH: rewriting ThreadPool and enabling it by default ENH: docs and compiler fix for ThreadPool, improvements of itkBarrierTest ENH: turning off thread pool by default for now STYLE: minor fix in debug mode and clearer code intent by using macros STYLE: warn users of the DeformableSimplexMesh3DFilter's limitations ENH: Addition of type long long and unsigned long long for images STYLE: VTK Mesh IO code simplification COMP: fixing warnings BUG: a call to SetGlobalDefaultNumberOfThreads was not respected BUG: LONGLONG was not handled by DCMTKImageIO BUG: PNG IO: return false instead of crashing in CanReadFile COMP: fix a warning BUG: ThreadPool hangs on Windows when ITK is compiled as DLLs BUG: tests writing to the same file randomly fail during parallel invocation COMP: fixing 2 compile errors on some compilers ENH: adding JSON format report to resource probe BUG: NIFTI crashing when requested region is set BUG: colliding file names caused spurious test failures BUG: fix two rename mistakes introduced in previous patch
Edwin Bennink (1) @ebennink : BUG: Fixed cylinder bbox, fixed and enhanced IsInside func
Floris Berendsen (2): COMP: add symbol name mangling for niftilib in ITK COMP: add symbol name mangling for niftilib in ITK
Francois Budin (54) @fbudin :
ENH: Bump ITK version to 4.13.0.
BUG: Update external data content links
ENH: Add cleanup option to content synchronization script
BUG: Used ITKHAVEFEENABLEEXCEPT instead of ITKHASFEENABLEEXCEPT
BUG: Used ITKHAVEFEENABLEEXCEPT instead of ITKHASFEENABLEEXCEPT
Revert "Merge branch 'feenableexcept-musl-for-release' into release"
Merge branch 'upstream-metaio' into updatemetaIO
ENH: Bump CMakeLists.txt version to 4.12.1.
COMP: Remove -fvisibility-inlines-hidden warning with CMake 2.8.12
BUG: Remove VNL view from array functions and rename wrong variable
BUG: itkSimilarity2DTransform was not reporting singular matrices
ENH: Add test to verify ITK-3553 fixes
BUG: itkTestingComparisonImageFilter should derive from itkImageToImageFilter
BUG: Update tests to use ImageToImage compare image filter
ENH: Add options to itkTestDriver and itkTestingComparisonImageFilter
ENH: Adds MINC image IO wrapping
ENH: Replace ICONV with ICU to compile DCMTK
DOC: Document that workaround MSVC 2017 optimization bug has been corrected
BUG: sha512 file must exist before complaining that it hasn't been updated
BUG: Missing files for DCMTK ImageOrientation test
BUG: itkgdcmopenjp2 was not exported in the build tree in GDCM
BUG: Duplicate SetInput()/GetInput() in itkTestingComparisonImageFilter
BUG: ICUARGS CMake variable should be declared CACHE
BUG: Typo in CMake variable name
BUG: Build DMCTK on Windows
BUG: Support color images (RGB/RGBA) with DCMTK
ENH: Add test for colored images loaded with DCMTK
BUG: ICU is always compiled statically
ENH: Update DCMTK build instructions for Windows
ENH: Adds itkmoduleexamples() macro
COMP: Bump CMake required version to 2.8.12
ENH: Simplify itk-module-init.cmake for DCMTK
BUG: Inconsistent image information between result and baseline
BUG: Python docstrings were not generated anymore
ENH: Add call() function in Python itkTemplate objects
BUG: DMCTK configuration with ICU on Windows was only correct for VS2017
BUG: Remove man page generation that is not necessary anymore
ENH: Improving factory registration
ENH: Adding factory components
ENH: Update remote modules using FACTORYNAMES
BUG: Add previously removed function _getattr_() in itkTemplate.py
BUG: Synchronize factories across modules in Python
ENH: Allow RAW itk-module as shared library
BUG: ITKWRAPDOC should not be saved in ITKConfig.cmake
BUG: Remove unicode characters that stop python docstring generation
BUG: doxy2swig.py failed with Python3
BUG: Allow compilation of VNL with MSVC<1600
BUG: \default is not a doxygen keyword
BUG: Better control of GDCM symbols with CMAKEWINDOWSEXPORTALLSYMBOLS
ENH: github comparison instead of shortlog in UpdateThirdPartyFromUpstream.sh
BUG: DCMTK CMakeLists.txt detects MSVC versions in [1910,1919] as MSVC2017
BUG: itkObjectFactoryBase was making ITK initialization crash
BUG: itkSpatialObject.cxx was not respecting ITKFUTURELEGACYREMOVE
BUG: Create IO Meta modules at module loading time
GCC-XML Upstream (1): ENH: pygccxml v1.9.0 (reduced)
GDCM Upstream (4): GDCM 2017-09-15 (87e3c363) GDCM 2017-10-13 (46919364) GDCM 2017-11-09 (af81d444) GDCM 2017-11-23 (4c51c343)
Google double-conversion Maintainers (1): ENH: Google double-conversion (reduced)
GoogleTest Upstream (2): googletest 2016-07-14 (a3ac2d7f) GoogleTest 2017-12-11 (0fe96607)
Hans Johnson (7) @hjmjohnson : BUG: vnlfft1d lacks sufficient numerical stability COMP: Clang compiler regression ENH: Synchronized with cmake version of file BUG: Respect ITKFUTURELEGACYREMOVE COMP: Missing ITKOVERRIDE for BinaryPruningIMageFilter BUG: Fix non-windows cmake configuration regression COMP: Fix VariationalRegistration for future const GetMacro support
Jean-Baptiste VIMORT (2) @jbvimort : ENH: Automatic enabling of the -fPIC flag for external modules ENH: Supression of GDCM's linking to CoreFoundation
Jean-Christophe Fillion-Robin (6) @jcfr : ENH: Support installing each module python wrapping independently COMP: Update KWsys to set MACOSXRPATH property based on CMAKEMACOSXRPATH COMP: Update MINC to set MACOSXRPATH property based on CMAKEMACOSXRPATH COMP: ITKModuleExternal: Reset targets file BUG: Fix hook clone COMP: UseITK: Fix configure error due to different subproject requirements
Jon Haitz Legarreta Gorroño (37) @jhlegarreta :
ENH: Improve coverage for v3 compatibility image arithm filters.
DOC: Fix typo in 'exception'.
STYLE: Improve the itk::FastMarchingImageFilterBase class style.
STYLE: Improve itkApproximageSignedDistanceMapImageFilterTest style.
ENH: Check for input/output objects with an assertion.
BUG: Fix const casting compiler errors.
DOC: Update old file headers/copyright notices.
STYLE: Improve the itkSmoothingRecursiveGaussiaImageFilter style.
ENH: Improve coverage for itkSmoothingRecursiveGaussianImageFilter.
BUG: Fix links to NOTICE and LICENSE files in README.md.
STYLE: Conform (partially) to ITK coding style.
DOC: Add missing links to Markdown file cross-refs.
ENH: Add a Pull Request template.
DOC: Remove extension to Markdown cross-ref link text.
STYLE: Change SubtractConstantFromImageFilterTest name.
BUG: Add missing input image iterator declaration.
BUG: Fix Superclass names in V3Compatibility tests.
DOC: Fix wrong comments in V3Compatibility tests.
DOC: Correct the preferred class names in ITKv4.
COMP: Fix valgrind-detected uninitialized members.
ENH: Improve coverage for itkWarpHarmonicEnergyCalculator.
ENH: Bump lastest version of remote repository.
ENH: Display error message in Iterator classes' wrapping.
DOC: Add links to NOTICE and LICENSE files in README.
DOC: Rework the contributing files.
DOC: Document how to upload binary data in a Markdown file.
DOC: Transition ThirdParty top-level README files to Markdown.
DOC: Add third party project updating documentation markdown file.
DOC: Document the release process in a Markdown file.
DOC: Transition Utilities/Maintenance/README Markdown.
DOC: Remove Documentation/Style.pdf file.
DOC: Redirect the "Submit a patch" link to CONTRIBUTING.md.
DOC: Mention the ITK full name in README.md.
DOC: Fix broken links and oversights in CONTRIBUTING.md.
DOC: Add a GitHelp.md resource to Documentation.
DOC: Make the ITK long name be consistent in .md files.
DOC: Create ISSUE_TEMPLATE.md
KWSys Upstream (1): KWSys 2017-10-17 (fc4d55ba)
Laura Pascal (2): ENH: Update version of DCMTK to 3.6.1_20170529 ENH: Update the DoubleConversion library upstream update script.
Mathieu Malaterre (4) @mathieu.malaterre : ENH: Explicit set the precision when printing double ENH: Use double floating point API for MetaImage ENH: Define a global default double precision for MetaImage ENH: Enforce data truncation for legacy tests
Matthew McCormick (52) @matt.mccormick : ENH: Add install rules for External Module Python package COMP: Do not wrap std::Dequealloc ENH: Wrap RegionOfInterestFilter for VectorImage's COMP: Disable CoreFoundation calls ENH: Execute the merge when updating third party subtrees ENH: Allow custom repo and branch for MetaIO subtree updates COMP: Specify AR to PCRE build on macOS BUG: Mark GoogleTest CMake options as advanced COMP: Address LBFGS2Optimizerv4 doxygen warnings BUG: ITKIOGE has a public dependency on ITKIOIPL COMP: Bump KWStyle to latest master ENH: Add TextureFeatures remote module COMP: Detect the presence of mallinfo COMP: IsNull() capitalization in LevelSetEquationAdvectionTerm ENH: Wrap FloatingPointExceptions COMP: Use GDCMHAVEBYTESWAPH COMP: Fail early when byteswap functions are not available COMP: Detect the presence of feenableexcept BUG: Use itkGetConstObjectMacro for LogBiasFieldControlPointLattice COMP: Detect the presence of feenableexcept COMP: Use GDCMHAVEBYTESWAPH COMP: Fix AnisotropicDiffusionLBR example build BUG: Correct GPUMeanImageFilter Superclass BUG: Remove debug code from GPUMeanImageFilter BUG: Do not use staticcast, SmartPointer in GPUImage::GetGPUDataManager BUG: Remove debug code in itkGPUImage.hxx COMP: Do not call vector.data() in ITKIOBruker ENH: Bump CMakeLists.txt version to 4.12.1 DOC: Format the README in markdown syntax DOC: Enable offline Doxygen support BUG: ITKIOMINC DEPENDS on ITKMINC BUG: Update Bruker IO wrapping after migration from ITKReview COMP: Update MorphologicalContourInterpolation to 2017-09-22 DOC: Do not pre-cache Doxygen php files DOC: Expose RayCastInterpolateImageFunction members in Doxygen BUG: RayCastInterpolateImageFunciton physical space issues COMP: Overloaded - operator ambiguous in RayCastInterpolateImageFunction BUG: Add missing template export for GradientAnisotropicDiffusionImageFilter ENH: Wrap {Correlation,Demons,JointHistogramMI} Metricv4 ENH: Add Python wrapping for ITKIOMesh BUG: Hide HDF5 CMake options from main configuration BUG: Add DCMTK external project dependency after ExternalProjectAdd COMP: Bump CastXML to 2017-11-06 master BUG: Fix hooks clone when ITK is a submodule BUG: Remove duplicate entries of ITKWRAPPYTHONLIBRARYIMPORTS DOC: Remove broken HoughTransform2DCircles wiki examples link DOC: NeighborhoodIterator documentation formatting improvements COMP: Do not use export macro in vnlamoeba defaultverbose COMP: HoughTransform2DCirclesImageFilter lines too long for Software Guide BUG: Reset LISTOFIMAGEIO_FORMATS in UseITK.cmake COMP: Do not wrap itk::ObjectFactoryBasePrivate DOC: Update Python package release process
MetaIO Maintainers (5): MetaIO 2017-07-20 (92caf34d) MetaIO 2017-08-17 (3e1cb552) MetaIO 2017-10-04 (55395e3d) MetaIO 2017-08-31 (5f935e1b) MetaIO 2017-12-04 (02a2e22e)
Niels Dekker (23) @NielsDekker : COMP: Fixed <nifti1io.h> leak into user code STYLE: Replaced NiftiImageHolder by AutoPointer COMP: Fixed "gifti_io.h" leak into user code COMP: Fixed "Ge5xHdr.h" leak into user code PERF: Break out of loop as soon as requested number of circles is found STYLE: Removed useless (or obsolete) local bool, 'found'. PERF: Avoid redundant search in GetCircles(n) PERF: GetCircles now calls Graft, instead of copying pixels from GetOutput(0) DOC: Added comment that the grafted output image should not be modified. STYLE: Removed HoughTransform GetCircles parameter (n) which appears obsolete ENH: Added deprecated GetCircles(unsigned int) overload to HoughTransform COMP: Replaced deprecated GetCircles(n) call in HoughTransform example BUG: HoughTransform CirclesList should be empty when NumberOfCircles is zero ENH: Tested HoughTransform CirclesList is empty when NumberOfCircles is zero BUG: HoughTransform GetCircles() should avoid circles with accumulator <= 0 STYLE: Removed HoughTransform GetLines parameter (n), which appears obsolete ENH: Improved HoughTransform2DCirclesImageFilter accuracy, using Math::Round BUG: HoughTransform GetLines() returned too many lines PERF: Improved speed of HoughTransform2DCirclesImageFilter::GenerateData() STYLE: HoughTransform calling convenience overload of SetVariance DOC: Mentioned that HoughTransform2DCirclesImageFilter also finds discs ENH: Allow different types accumulator and radius image Hough Circles filter BUG: Access violation itkGaussianDerivativeOperatorTest argv[0]
Pablo Hernandez-Cerdan (4) @phcerdan : ENH: Add External Module IsotropicWavelets. ENH: Update ExternalModule IsotropicWavelets to v0.4 ENH: Update IsotropicWavelets COMP: Fix macro ITKNOEXCEPT, deprecate ITKNOEXCEPTORTHROW
Rene-Paul Debroize (1): ENH: Add remote module TBBImageToImageFilter
Samuel Gerber (2): ENH: Adding libLBFGS third party library BUG: stdint.h missing on Visual Studio 9
Sean McBride (17) @seanm : COMP: Added missing ITKOVERRIDE COMP: fixed compilation error with int vs nullptrt PERF: Fixed some comments; prefer preincrement COMP: Set GDCMUSECOREFOUNDATIONLIBRARY off COMP: add itk prefix to gdcmopenjp2 library name COMP: Fixed some -Winconsistent-missing-override warnings COMP: Added ITKOVERRIDE to hundreds of destructor declarations. COMP: Made ITKOVERRIDE work only in MSVC >= 2012 (instead of 2010) COMP: Fixed Wshadow warnings by removing shadows COMP: Added a bunch more missing ITKOVERRIDE COMP: suppress all compilers warnings from third party google test COMP: Added yet more ITKOVERRIDEs, mostly on destructors COMP: Added yet more ITKOVERRIDEs COMP: Fixed various -Wconst-qual warnings COMP: Fixed some Wcast-qual warnings COMP: Removed superfluous declarations in subclass, fixing override warnings COMP: Silence -Wunused-template warnings by making affected methods inline
Simon Rit (1) @simon.rit : COMP: remove dynamic exception specifications
Steve Pieper (1) @pieper : BUG: ITK-3553 fixes ImageOrientation issue in DCMTK reader
Tobias Wood (3) @spinicist : ENH: Updated the Bruker2DSeq reader to ParaVision 6.0 BUG: Bruker2dseq was not registered correctly due to module name change. BUG: Fixed origin & orientation issues.
VXL Maintainers (2): VNL 2017-10-05 (dd7794d9) VNL 2017-12-08 (a1573ca8)
Vladimir S. FONOV (2): MINC 2017-09-14 (e11c6df9) MINC 2017-10-18 (f2d06a67)
Ziv Yaniv (2) @zivy : DOC: Updated documentation for LabelStatisticsImageFilter::GetBoundingBox. BUG: itkVTKImageIO::CanWriteFile accepted files with wrong extension.
ITK Sphinx Examples Changelog
Bradley Lowekamp (1) @blowekamp : Add python syntax highlighting
Dženan Zukić (1) @dzenanz : COMP: allow examples to build when ITKLEGACYREMOVE is enabled
Francois Budin (1) @fbudin : ENH: Bump ITK version to 4.13.0
Jon Haitz Legarreta Gorroño (6) @jhlegarreta : ENH: Add WatershedImageFilter example. ENH: Improve layout and doc for adaptive histogram equalization example. ENH: Update the ToDo list of examples to import from Wiki. ENH: Add an example for itk::AdaptiveHistogramEqualizationImageFilter. BUG: Fix the example images not being rendered. DOC: Improve the README.rst code syntax.
Matt McCormick (2) @matt.mccormick : DOC: Update documentation to install PyPI package STYLE: Make Python code in src/ flake8 compliant
ITK Software Guide Changelog
Francois Budin (1) @fbudin : ENH: Add patch number to ITK version in Software guide
Jon Haitz Legarreta Gorroño (21) @jhlegarreta :
ENH: Make class and brief dcostring keywords' start columns consistent.
DOC: Update the ITK logo to the new ITK logo.
DOC: Fix ParseCxxExamples.py script location in README.md.
DOC: Fix use of \center vs. \centering in figures.
DOC: Update to the official name of Apple OS systems.
DOC: Remove redundant greater-than sign in path.
DOC: Keep ITK CMake minimum required version consistency.
DOC: Update the Advanced Module Configuration CMake options.
DOC: Update Figures 2.2 and 2.3 in Advanced Module Configuration.
DOC: Update supported compilers' list.
DOC: Transition SoftwareGuide/Cover and Latex READMEs to Markdown
DOC: Fix ITK long name case mismatch.
DOC: Fix Coding Style Guide formatting issues.
DOC: Add Documentation Style section.
DOC: Add a CMake Style item to the Overview section.
DOC: Mention the ITK full name in common abstract.
DOC: Add a cross compilation section to Configuring and Building ch.
DOC: Add content to empty example in Variable Initialization
DOC: Use tilde to connect names and references.
DOC: Enhance the README.md syntax.
DOC: Add a test layout subsection.
Matt McCormick (17) @matt.mccormick : DOC: Correct Coding Style Guide doxygen links ENH: Enable specification of ITKGITTAG in the superbuild COMP: Use the xcolor package instead of color ENH: Split Running and Parsing examples into an ExternalProject ENH: Improve EPS conversion operation output ENH: Add support for Ninja job pools COMP: Address undefined colorlet command COMP: Undefined toprule command COMP: Undefined control sequence cellcolor COMP: Undefined table configuration BUG: Do not addsubdirectory(Examples) for ITKSoftwareGuide build BUG: Do not depend on Examples generated .tex sources BUG: Update ITK version to 2017-12-15 master COMP: Remove ITKV3COMPATIBILITY ENH: Add CircleCI configuration ENH: Propagate CMAKE{C,CXX}COMPILER_LAUNCHER in superbuild ENH: Bump ITK version to 4.13.0
- C++
Published by thewtex about 8 years ago
itk - ITK 4.12.2
On behalf of the Insight Segmentation and Registration Toolkit (ITK) Community, we are happy to announce the release of ITK 4.12.2! ITK is an open-source, cross-platform library for multidimensional image analysis.
Release files can be downloaded from http://itk.org/ITK/resources/software.html
This is a patch release that fixes critical issues, regressions, documentation, and compiler support. This release includes better compatibility when building an application that includes additional NIFTI libraries and also fixes for GPGPU build support. Contributions from the 3D Slicer community improve packaging on macOS.
The release also includes an update to the ITK Software Guide that includes the coding style guide among other updates and additions.
The next feature release, 4.13.0, is scheduled for mid-December.
Enjoy ITK!
ITK changes from v4.12.1 to v4.12.2:
Edwin Bennink (1): BUG: Fixed cylinder bbox, fixed and enhanced IsInside func
Floris Berendsen (1): COMP: add symbol name mangling for niftilib in ITK
Jean-Christophe Fillion-Robin (2): COMP: Update MINC to set MACOSXRPATH property based on CMAKEMACOSXRPATH COMP: Update KWsys to set MACOSXRPATH property based on CMAKEMACOSXRPATH
Matthew McCormick (6): BUG: Correct GPUMeanImageFilter Superclass BUG: Remove debug code from GPUMeanImageFilter BUG: Do not use static_cast, SmartPointer in GPUImage::GetGPUDataManager BUG: Remove debug code in itkGPUImage.hxx COMP: Fix AnisotropicDiffusionLBR example build ENH: Bump CMakeLists.txt version to 4.12.2
Niels Dekker (1):
COMP: Fixed
ITK Software Guide changes:
Jon Haitz Legarreta Gorroño (8): DOC: Add and reference Coding Style appendix. DOC: Fix typo in Registration chapter files headers. STYLE: Replace tabs with white spaces. DOC: Fix typos in the SW guide LaTeX files. ENH: Add the link to the SW Guide PDF compilation version. DOC: Add missing wrap types to Wrapping section. STYLE: Rework the folder structure and rename files. ENH: Remove \ifitkFullVersion artifact switch.
Matt McCormick (2): DOC: Add instructions on how to install the stable Python packages ENH: Bump ITK ExternalProject version to 4.12.2
- C++
Published by thewtex over 8 years ago
