[med-svn] [Git][med-team/insighttoolkit][master] 4 commits: New upstream version 5.4.4

Steven Robbins (@smr) gitlab at salsa.debian.org
Mon Oct 13 05:28:05 BST 2025



Steven Robbins pushed to branch master at Debian Med / insighttoolkit


Commits:
afe9b5ce by Steve Robbins at 2025-10-09T17:58:04-05:00
New upstream version 5.4.4
- - - - -
6b829547 by Steve Robbins at 2025-10-09T17:58:41-05:00
Update upstream source from tag 'upstream/5.4.4'

Update to upstream version '5.4.4'
with Debian dir 495ffea519a3bf23ce178c9bb16c0443dec4a2d9
- - - - -
e69b339a by Steve Robbins at 2025-10-11T10:31:50-05:00
Update version to 5.4.4.

- - - - -
2fe08ff1 by Steve Robbins at 2025-10-12T22:18:09-05:00
New upstream.

- - - - -


30 changed files:

- CMake/itkVersion.cmake
- Documentation/docs/download.md
- + Documentation/docs/releases/5.4.3.md
- Documentation/docs/releases/index.md
- Modules/Bridge/NumPy/wrapping/PyBuffer.i.init
- Modules/Core/Common/include/itkFloatingPointExceptions.h
- Modules/IO/ImageBase/test/CMakeLists.txt
- Modules/IO/TIFF/src/itkTIFFImageIO.cxx
- Modules/IO/TIFF/test/CMakeLists.txt
- + Modules/IO/TIFF/test/itkImageSeriesReaderReverse.cxx
- Modules/Remote/Montage.remote.cmake
- Modules/Remote/MorphologicalContourInterpolation.remote.cmake
- Modules/Remote/WebAssemblyInterface.remote.cmake
- Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx
- Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmRAWCodec.cxx
- Testing/ContinuousIntegration/AzurePipelinesBatch.yml
- Testing/ContinuousIntegration/AzurePipelinesLinux.yml
- Testing/ContinuousIntegration/AzurePipelinesLinuxPython.yml
- Testing/ContinuousIntegration/AzurePipelinesMacOS.yml
- Testing/ContinuousIntegration/AzurePipelinesMacOSPython.yml
- Testing/ContinuousIntegration/AzurePipelinesWindows.yml
- Testing/ContinuousIntegration/AzurePipelinesWindowsPython.yml
- Wrapping/Generators/Python/CMakeLists.txt
- Wrapping/Generators/Python/PyBase/pyBase.i
- Wrapping/Generators/Python/Tests/extras.py
- Wrapping/Generators/Python/itk/support/extras.py
- Wrapping/Generators/Python/itk/support/types.py
- Wrapping/macro_files/itk_end_wrap_module.cmake
- debian/changelog
- debian/rules


Changes:

=====================================
CMake/itkVersion.cmake
=====================================
@@ -1,4 +1,4 @@
 # ITK version number components.
 set(ITK_VERSION_MAJOR "5")
 set(ITK_VERSION_MINOR "4")
-set(ITK_VERSION_PATCH "3")
+set(ITK_VERSION_PATCH "4")


=====================================
Documentation/docs/download.md
=====================================
@@ -20,31 +20,31 @@ Additionally, wheels for external modules are available through the Python Packa
 
 **Guide and Textbook**
 
-- [InsightSoftwareGuide-Book1-5.4.0.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightSoftwareGuide-Book1-5.4.0.pdf)
-- [InsightSoftwareGuide-Book2-5.4.0.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightSoftwareGuide-Book2-5.4.0.pdf)
+- [InsightSoftwareGuide-Book1-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book1-5.4.3.pdf)
+- [InsightSoftwareGuide-Book2-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book2-5.4.3.pdf)
 
 **Library Sources**
 
-- [InsightToolkit-5.4.0.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightToolkit-5.4.0.tar.gz)
-- [InsightToolkit-5.4.0.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightToolkit-5.4.0.zip)
+- [InsightToolkit-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz)
+- [InsightToolkit-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip)
 
 **Testing Data**
 
 Unpack optional testing data in the same directory where the Library Source is unpacked.
 
-- [InsightData-5.4.0.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightData-5.4.0.tar.gz)
-- [InsightData-5.4.0.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightData-5.4.0.zip)
+- [InsightData-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz)
+- [InsightData-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip)
 
 **Checksums and Signatures**
 
-- [InsightToolkit-5.4.0.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightToolkit-5.4.0.tar.gz.asc)
-- [InsightToolkit-5.4.0.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightToolkit-5.4.0.zip.asc)
+- [InsightToolkit-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz.asc)
+- [InsightToolkit-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip.asc)
 
-- [InsightData-5.4.0.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightData-5.4.0.tar.gz.asc)
-- [InsightData-5.4.0.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/InsightData-5.4.0.zip.asc)
+- [InsightData-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz.asc)
+- [InsightData-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip.asc)
 
-- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/MD5SUMS)
-- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.0/SHA512SUMS)
+- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/MD5SUMS)
+- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/SHA512SUMS)
 
 Additional releases can be downloaded from [ITK's GitHub Releases page].
 
@@ -110,9 +110,9 @@ where `ITKLatestRelease` is the name of the local repository created.
 Additionally, specific releases can be cloned using the tags, for example:
 
 ```bash
-git clone -b v5.4.0 https://github.com/InsightSoftwareConsortium/ITK ITK-5.4.0
+git clone -b v5.4.3 https://github.com/InsightSoftwareConsortium/ITK ITK-5.4.3
 ```
-where `v5.4.0` corresponds to ITK 5.4.0, and the `ITK-5.4.0` is the name
+where `v5.4.3` corresponds to ITK 5.4.3, and the `ITK-5.4.3` is the name
 of the local repository created.
 
 ### Update
@@ -147,7 +147,7 @@ instructions to update it.
 Alternatively, one may checkout a specific release tag using
 
 ```bash
-git checkout v5.4.0
+git checkout v5.4.3
 ```
 
 Release tags never move. Repeat the command with a different tag to get a


=====================================
Documentation/docs/releases/5.4.3.md
=====================================
@@ -0,0 +1,285 @@
+# ITK 5.4.3 Release Notes
+
+We are pleased to announce the release of [ITK 5.4.3](https://docs.itk.org), 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](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/releases).
+- **Doxygen Documentation**: Updated Doxygen documentation to reflect the [latest changes and improvements in ITK](https://docs.itk.org/en/latest/releases/5.4.0.html), including links to the [ReadTheDocs site](https://docs.itk.org/projects/doxygen/).
+- **Remote Module Updates**: Improvements to the [`LabelErodeDilate`](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate) and [`MeshToPolyData`](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData) remote 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](https://docs.itk.org/en/latest/releases/5.4.0.html).
+
+💾 Download
+-----------
+
+**Python Packages**
+
+Install [ITK Python packages](https://docs.itk.org/en/latest/learn/python_quick_start.html) with:
+
+```bash
+pip install itk
+```
+
+**Guide and Textbook**
+
+- [InsightSoftwareGuide-Book1-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book1-5.4.3.pdf)
+- [InsightSoftwareGuide-Book2-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book2-5.4.3.pdf)
+
+**Library Sources**
+
+- [InsightToolkit-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz)
+- [InsightToolkit-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip)
+
+**Testing Data**
+
+Unpack optional testing data in the same directory where the Library Source is unpacked.
+
+- [InsightData-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz)
+- [InsightData-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip)
+
+**Checksums and Signatures**
+
+- [InsightToolkit-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz.asc)
+- [InsightToolkit-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip.asc)
+
+- [InsightData-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz.asc)
+- [InsightData-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip.asc)
+
+- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/MD5SUMS)
+- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/SHA512SUMS)
+
+🙏 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](https://github.com/InsightSoftwareConsortium/ITK/commit/50ab3e0f6e))
+
+#### Bug Fixes
+
+- Update LabelErodeDilate remote module ([ea1ee3a961](https://github.com/InsightSoftwareConsortium/ITK/commit/ea1ee3a961))
+
+
+### Dženan Zukić (1):
+
+#### Documentation Updates
+
+- Remove duplicate new author name (Matthieu LAURENDEAU) ([6d82d2bd8f](https://github.com/InsightSoftwareConsortium/ITK/commit/6d82d2bd8f))
+
+
+### Matthew McCormick (10):
+
+#### Enhancements
+
+- Bump ITK version to 5.4.3 ([0913f2a962](https://github.com/InsightSoftwareConsortium/ITK/commit/0913f2a962))
+
+#### Documentation Updates
+
+- Update maintenance branch for 5.4 series ([146bc6de06](https://github.com/InsightSoftwareConsortium/ITK/commit/146bc6de06))
+- Point to RTD Doxygen documentation, ITKDoxygen Docker build ([8ba1cfc8f2](https://github.com/InsightSoftwareConsortium/ITK/commit/8ba1cfc8f2))
+- Update Doxygen class links to use ReadTheDocs ([d3189c245e](https://github.com/InsightSoftwareConsortium/ITK/commit/d3189c245e))
+- Update versioned Doxygen links to point to ReadTheDocs ([ce4fa184e8](https://github.com/InsightSoftwareConsortium/ITK/commit/ce4fa184e8))
+- ITK 5.4.0 release notes ([f2852f6ee9](https://github.com/InsightSoftwareConsortium/ITK/commit/f2852f6ee9))
+- Add ITK 5.4.2 release notes ([f817e2f775](https://github.com/InsightSoftwareConsortium/ITK/commit/f817e2f775))
+
+#### Platform Fixes
+
+- Bump MeshToPolyData Remote Module to 2024-03-14 main ([7366509c1c](https://github.com/InsightSoftwareConsortium/ITK/commit/7366509c1c))
+
+#### Bug Fixes
+
+- Remove VNL Netlib rpoly files ([6894a1715c](https://github.com/InsightSoftwareConsortium/ITK/commit/6894a1715c))
+- Clamp GlobalDefault threads with GlobalMaximum with initialization ([7e485eac71](https://github.com/InsightSoftwareConsortium/ITK/commit/7e485eac71))
+
+
+### Simon Rit (1):
+
+#### Bug Fixes
+
+- Remove check on WrapITK.pth existence in itk_python_add_test ([71d5cce482](https://github.com/InsightSoftwareConsortium/ITK/commit/71d5cce482))
+
+
+### Nick Tustison (1):
+
+#### Bug Fixes
+
+- Incorrect size for closed parametric dimension. ([0dd02ac9f1](https://github.com/InsightSoftwareConsortium/ITK/commit/0dd02ac9f1))
+
+
+ITK Software Guide Changes Since v5.4.2
+---------------------------------------
+
+### Matthew McCormick (1):
+
+#### Enhancements
+
+- Bump ITK to v5.4.3 ([0db3df8](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/0db3df8))
+
+### albert-github (1):
+
+#### Documentation Updates
+
+- Spelling corrections ([5849c78](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/5849c78))
+
+
+
+
+Remote Module Changes Since v5.4.2
+---------------------------------------------
+
+## LabelErodeDilate:
+### Bradley Lowekamp (4):
+
+#### Bug Fixes
+
+- Addressed memory leak of progress object ([05a0a1c](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/05a0a1c))
+- Address uninitialized value ([921aaab](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/921aaab))
+- Fix Valgrind defect with uninitialized array in doOneDimensionErode ([b9567df](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/b9567df))
+
+#### Miscellaneous Changes
+
+- Update CI infrastructure to use 5.4.2 infrastructure ([c9f9037](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/c9f9037))
+
+
+### Hans Johnson (4):
+
+#### Enhancements
+
+- Update to support the clang-format-linter CI ([b25c27e](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/b25c27e))
+- Update to use local error message. ([22d8846](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/22d8846))
+
+#### Style Changes
+
+- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro ([6a892cd](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/6a892cd))
+- Update to match clang-format-19 from ITK ([32e7773](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/32e7773))
+
+
+### Jon Haitz Legarreta Gorroño (12):
+
+#### Enhancements
+
+- Transition project configuration to `pyproject.toml` ([8197f14](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/8197f14))
+- Initialize all arrays in `LabelSetUtils.h` file ([108b0ba](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/108b0ba))
+
+#### Platform Fixes
+
+- Bump to minimum CMake 3.16.3 ([f247673](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/f247673))
+
+#### Style Changes
+
+- Conform to ITK style guidelines in local variable naming ([61c7a93](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/61c7a93))
+- Do no use `m_` to start function parameter names ([c347f23](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/c347f23))
+- Use medial capitals for variable naming in C++ code ([518fab1](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/518fab1))
+- Use `ITK_TRY_EXPECT_NO_EXCEPTION` macro in tests ([5f37494](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/5f37494))
+- Make the input argument checking be the first task in tests ([1a5febf](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/1a5febf))
+- Conform to ITK style guidelines in test arg check ([7f9ffc7](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/7f9ffc7))
+- Remove unnecessary brackets around `EXIT_FAILURE` ([02de4bd](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/02de4bd))
+- Remove unreachable `break` after `return` statement ([0fbfa1c](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/0fbfa1c))
+- Remove unnecessary/empty comment statements in tests ([276b195](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/276b195))
+
+
+
+## MeshToPolyData:
+### Dženan Zukić (1):
+
+#### Platform Fixes
+
+- ITK_DISALLOW_COPY_AND_ASSIGN -> ITK_DISALLOW_COPY_AND_MOVE ([b866a68](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/b866a68))
+
+
+### Hans Johnson (7):
+
+#### Enhancements
+
+- Use latest actions, do not pin to latest version ([8aed3c7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8aed3c7))
+- Use tag v5.4.2 for the build packages tags ([9c0209b](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/9c0209b))
+
+#### Style Changes
+
+- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro ([c3c0006](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/c3c0006))
+- Replace itkStaticConstMacro with static constexpr ([86435bd](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/86435bd))
+- CoordRepType -> CoordinateType code readability ([d90e542](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/d90e542))
+- Update to match clang-format-19 from ITK ([6aa2abf](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/6aa2abf))
+- Fix KWStyleError ([597c780](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/597c780))
+
+
+### Jon Haitz Legarreta Gorroño (1):
+
+#### Platform Fixes
+
+- Bump to minimum CMake 3.16.3 ([97c575f](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/97c575f))
+
+
+### Matt McCormick (12):
+
+#### Enhancements
+
+- Bump itk-wasm to 1.0.0-b.173 ([08779a7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/08779a7))
+- Bump itk-wasm version to 1.0.0-b.175 ([254a24d](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/254a24d))
+- Add VTK C++ conversion example ([8153ecc](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8153ecc))
+- Update ITK to 5.4.0 ([4ce9813](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/4ce9813))
+- Bump wasm package version to 1.1.1 ([a9d1fd7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/a9d1fd7))
+- Bump pnpm to 10.6.2 ([bd893e4](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/bd893e4))
+- Update pyproject.toml for 0.11.1 ([8941ee1](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8941ee1))
+
+#### Documentation Updates
+
+- Lines to Vertices in method description ([ff3cc60](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/ff3cc60))
+
+#### Platform Fixes
+
+- Provide backwards compatible CoordRepType in itk::PolyData ([c9e0aba](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/c9e0aba))
+- Update wasm for ITK 5.4.2 ([1c2a0b5](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/1c2a0b5))
+
+#### Bug Fixes
+
+- Update Python package version to 0.11.0 ([5e8de5d](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/5e8de5d))
+- Support Variable-Length-Vector in mesh-to-polydata ([e9b30dc](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/e9b30dc))
+
+### dependabot[bot] (2):
+
+#### Miscellaneous Changes
+
+- Bump vite from 4.5.3 to 4.5.6 ([02b88a3](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/02b88a3))
+- Bump esbuild from 0.19.12 to 0.25.0 ([edf43cb](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/edf43cb))


=====================================
Documentation/docs/releases/index.md
=====================================
@@ -4,6 +4,7 @@
 :maxdepth: 1
 :caption: 📝 ITK Release Notes
 
+5.4.3.md
 5.4.2.md
 5.4.0.md
 5.4rc04.md


=====================================
Modules/Bridge/NumPy/wrapping/PyBuffer.i.init
=====================================
@@ -29,29 +29,29 @@ else:
         loads = dask_deserialize.dispatch(np.ndarray)
         return NDArrayITKBase(loads(header, frames))
 
-def _get_numpy_pixelid(itk_Image_type):
+def _get_numpy_pixelid(itk_Image_type) -> np.dtype:
     """Returns a ITK PixelID given a numpy array."""
 
     # This is a Mapping from numpy array types to itk pixel types.
-    _np_itk = {"UC":np.uint8,
-               "US":np.uint16,
-               "UI":np.uint32,
-               "UL":np.uint64,
-               "ULL":np.uint64,
-               "SC":np.int8,
-               "SS":np.int16,
-               "SI":np.int32,
-               "SL":np.int64,
-               "SLL":np.int64,
-               "F":np.float32,
-               "D":np.float64,
-               "PF2":np.float32,
-               "PF3":np.float32,
+    _np_itk = {"UC":np.dtype(np.uint8),
+               "US":np.dtype(np.uint16),
+               "UI":np.dtype(np.uint32),
+               "UL":np.dtype(np.uint64),
+               "ULL":np.dtype(np.uint64),
+               "SC":np.dtype(np.int8),
+               "SS":np.dtype(np.int16),
+               "SI":np.dtype(np.int32),
+               "SL":np.dtype(np.int64),
+               "SLL":np.dtype(np.int64),
+               "F":np.dtype(np.float32),
+               "D":np.dtype(np.float64),
+               "PF2":np.dtype(np.float32),
+               "PF3":np.dtype(np.float32),
                 }
     import os
     if os.name == 'nt':
-        _np_itk['UL'] = np.uint32
-        _np_itk['SL'] = np.int32
+        _np_itk['UL'] = np.dtype(np.uint32)
+        _np_itk['SL'] = np.dtype(np.int32)
     try:
         return _np_itk[itk_Image_type]
     except KeyError as e:


=====================================
Modules/Core/Common/include/itkFloatingPointExceptions.h
=====================================
@@ -18,6 +18,8 @@
 #ifndef itkFloatingPointExceptions_h
 #define itkFloatingPointExceptions_h
 
+#include <cstdint>
+
 #include "itkMacro.h" // for ITKCommon_EXPORT
 #include "itkSingletonMacro.h"
 


=====================================
Modules/IO/ImageBase/test/CMakeLists.txt
=====================================
@@ -933,7 +933,6 @@ itk_add_test(
   COMMAND
   itkUnicodeIOTest)
 
-set(ITKIOImageBaseGTests itkWriteImageFunctionGTest.cxx)
+set(ITKIOImageBaseGTests itkWriteImageFunctionGTest.cxx
+)
 creategoogletestdriver(ITKIOImageBase "${ITKIOImageBase-Test_LIBRARIES}" "${ITKIOImageBaseGTests}")
-
-target_compile_definitions(ITKIOImageBaseGTestDriver PRIVATE "-DITK_TEST_OUTPUT_DIR=${ITK_TEST_OUTPUT_DIR}")


=====================================
Modules/IO/TIFF/src/itkTIFFImageIO.cxx
=====================================
@@ -182,12 +182,13 @@ TIFFImageIO::Read(void * buffer)
 {
 
   // re-open the file if it was closed
-  if (!m_InternalImage->m_IsOpen)
+  if (!m_InternalImage->m_IsOpen || m_FileName != TIFFFileName(m_InternalImage->m_Image))
   {
     if (!this->CanReadFile(m_FileName.c_str()))
     {
       itkExceptionMacro("Cannot open file " << this->m_FileName << '!');
     }
+    m_InternalImage->Open(m_FileName.c_str());
   }
 
   // The IO region should be of dimensions 3 otherwise we read only the first
@@ -333,14 +334,16 @@ TIFFImageIO::InitializeColors()
 void
 TIFFImageIO::ReadImageInformation()
 {
-  // If the internal image was not open we open it.
+
+  // If the internal image was not open or the filenames are the same we open it.
   // This is usually done when the user sets the ImageIO manually
-  if (!m_InternalImage->m_IsOpen)
+  if (!m_InternalImage->m_IsOpen || m_FileName != TIFFFileName(m_InternalImage->m_Image))
   {
     if (!this->CanReadFile(m_FileName.c_str()))
     {
       itkExceptionMacro("Cannot open file " << this->m_FileName << '!');
     }
+    m_InternalImage->Open(m_FileName.c_str());
   }
 
   ReadTIFFTags();


=====================================
Modules/IO/TIFF/test/CMakeLists.txt
=====================================
@@ -632,3 +632,12 @@ itk_add_test(
   ITKIOTIFFTestDriver
   itkTIFFImageIOIntPixelTest
   DATA{Input/int.tiff})
+
+# Add GTest for TIFF module
+set(ITKIOTIFFGTests
+  itkImageSeriesReaderReverse.cxx
+)
+creategoogletestdriver(ITKIOTIFF "${ITKIOTIFF-Test_LIBRARIES}" "${ITKIOTIFFGTests}")
+
+
+target_compile_definitions(ITKIOTIFFGTestDriver PRIVATE "-DITK_TEST_OUTPUT_DIR=${ITK_TEST_OUTPUT_DIR}")


=====================================
Modules/IO/TIFF/test/itkImageSeriesReaderReverse.cxx
=====================================
@@ -0,0 +1,140 @@
+/*=========================================================================
+ *
+ *  Copyright NumFOCUS
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *         https://www.apache.org/licenses/LICENSE-2.0.txt
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *=========================================================================*/
+
+#include "itkImageSeriesWriter.h"
+#include "itkImageSeriesReader.h"
+#include "itkImage.h"
+#include "itkTIFFImageIO.h"
+
+#include "itkGTest.h"
+#include "itksys/SystemTools.hxx"
+#include "itkTestDriverIncludeRequiredFactories.h"
+#include <string>
+
+
+#define _STRING(s) #s
+#define TOSTRING(s) std::string(_STRING(s))
+
+namespace
+{
+
+struct ITKIOTIFF : public ::testing::Test
+{
+  void
+  SetUp() override
+  {
+    RegisterRequiredFactories();
+
+    itksys::SystemTools::MakeDirectory(m_TempDir);
+  }
+
+  void
+  TearDown() override
+  {
+    // Remove the temporary directory and its contents
+    itksys::SystemTools::RemoveADirectory(m_TempDir);
+  }
+
+  std::string m_TempDir = TOSTRING(ITK_TEST_OUTPUT_DIR) + "/ImageSeriesReader.ReverseOrder";
+
+
+  template <typename PixelType>
+  typename itk::Image<PixelType, 3>::Pointer
+  MakeImage(unsigned int z_size)
+  {
+    using ImageType = itk::Image<PixelType, 3>;
+
+    typename ImageType::Pointer    img = ImageType::New();
+    typename ImageType::SizeType   size = { { 32, 32, z_size } };
+    typename ImageType::RegionType region;
+    region.SetSize(size);
+    img->SetRegions(region);
+    img->Allocate();
+    img->FillBuffer(0);
+
+    for (unsigned int z = 0; z < z_size; ++z)
+    {
+      for (unsigned int y = 0; y < 32; ++y)
+        for (unsigned int x = 0; x < 32; ++x)
+        {
+          typename ImageType::IndexType idx = { { x, y, z } };
+          img->SetPixel(idx, static_cast<PixelType>(1 + z * 5));
+        }
+    }
+    return img;
+  }
+};
+
+
+} // namespace
+
+TEST_F(ITKIOTIFF, ReverseOrder_with_ImageIO)
+{
+
+
+  // Create a series of 3 TIFF files with different values using native itk::Image
+  const unsigned int z_size = 3;
+  using PixelType = unsigned char;
+  constexpr unsigned int Dimension = 3;
+  using ImageType = itk::Image<PixelType, Dimension>;
+
+
+  auto img = MakeImage<PixelType>(z_size);
+
+  std::vector<std::string> filePaths;
+  for (unsigned int z = 0; z < z_size; ++z)
+  {
+    std::ostringstream oss;
+    oss << m_TempDir << "/test_reader_kwargs_" << z << ".tiff";
+    filePaths.push_back(oss.str());
+  }
+  {
+    // Create an ImageSeriesWriter to write the series of images
+    auto writer = itk::ImageSeriesWriter<
+      ImageType,
+      typename ImageType::RebindImageType<ImageType::PixelType, ImageType::ImageDimension - 1>>::New();
+    writer->SetFileNames(filePaths);
+    writer->SetInput(img);
+    writer->Update();
+  }
+
+  // Create ImageIO for TIFF
+  auto imageIO = itk::TIFFImageIO::New();
+
+  // Test reading with ReverseOrder=True
+  auto reader = itk::ImageSeriesReader<ImageType>::New();
+  reader->SetImageIO(imageIO);
+  reader->SetFileNames(filePaths);
+  reader->SetReverseOrder(true);
+  reader->Update();
+  ImageType::Pointer reversed_img = reader->GetOutput();
+
+
+  // Print the value at 0,0 of each slice for the two images
+  for (unsigned int z = 0; z < z_size; ++z)
+  {
+
+    ImageType::IndexType idx{ { 31, 31, z } };
+    auto                 actual = reversed_img->GetPixel(idx);
+
+    idx[2] = z_size - 1 - z;
+    auto expected = img->GetPixel(idx);
+
+    EXPECT_EQ(static_cast<int>(expected), static_cast<int>(actual)) << "Slice " << z << " value mismatch";
+  }
+}


=====================================
Modules/Remote/Montage.remote.cmake
=====================================
@@ -47,5 +47,5 @@ itk_fetch_module(
   "Reconstruction of 3D volumetric dataset from a collection of 2D slices"
   MODULE_COMPLIANCE_LEVEL 3
   GIT_REPOSITORY https://github.com/InsightSoftwareConsortium/ITKMontage.git
-  GIT_TAG 79c81953d87f891f9a2c96457480bdc9f9110f24
+  GIT_TAG f310be543baf7b233d231c6040a2d509d62bacba
   )


=====================================
Modules/Remote/MorphologicalContourInterpolation.remote.cmake
=====================================
@@ -58,5 +58,5 @@ This work is supported by NIH grant R01 EB014346
 'Continued development and maintenance of the ITK-SNAP 3D image segmentation software'."
   MODULE_COMPLIANCE_LEVEL 3
   GIT_REPOSITORY https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation.git
-  GIT_TAG fc7ffdc939395a272e1ccba8d027db80d0eb834e
+  GIT_TAG 821bf9b3ef8eaaab10391ed060dc9ca5e4d37b39
   )


=====================================
Modules/Remote/WebAssemblyInterface.remote.cmake
=====================================
@@ -44,8 +44,8 @@
 # Contact: Matt McCormick <matt.mccormick at kitware.com>
 itk_fetch_module(
   WebAssemblyInterface
-  "The itk-wasm WebAssemblyInterface module provides tools to a) build C/C++ code to WebAssembly-compatible processing pipelines, b) bridge local filesystems, JavaScript/Typescript data structures, and traditional file formats, c) transfer data efficiently in and out of the WebAssembly runtime."
+  "The ITK-Wasm WebAssemblyInterface module provides tools to a) build C/C++ code to WebAssembly-compatible processing pipelines, b) bridge local filesystems, JavaScript/Typescript data structures, and traditional file formats, c) transfer data efficiently in and out of the WebAssembly runtime."
   MODULE_COMPLIANCE_LEVEL 3
-  GIT_REPOSITORY https://github.com/InsightSoftwareConsortium/itk-wasm.git
-  GIT_TAG d140dd81a7b3a3d34753caa1b27a2b74696ecd6a
+  GIT_REPOSITORY https://github.com/InsightSoftwareConsortium/ITK-Wasm.git
+  GIT_TAG 982daf8ea91d5ecb052c3bf707542dbc43a4d1ef
   )


=====================================
Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx
=====================================
@@ -1484,7 +1484,8 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
     &image) ? true : false;
   if(!bResult)
   {
-  opj_stream_destroy(cio);
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
     return false;
   }
   //image = opj_decode(dinfo, cio);
@@ -1527,6 +1528,8 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
 
   if( !check_comp_valid( image ) )
     {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
     gdcmErrorMacro( "Invalid test failed" );
     return false;
     }
@@ -1548,6 +1551,8 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
     }
   else
     {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
     gdcmErrorMacro( "do not handle precision: " << comp->prec );
     return false;
     }
@@ -1600,6 +1605,8 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
     }
   else if( image->numcomps == 4 )
     {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
     /* Yes this is legal */
     // http://www.crc.ricoh.com/~gormish/jpeg2000conformance/
     // jpeg2000testimages/Part4TestStreams/codestreams_profile0/p0_06.j2k
@@ -1609,6 +1616,8 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
     }
   else
     {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
     // jpeg2000testimages/Part4TestStreams/codestreams_profile0/p0_13.j2k
     gdcmErrorMacro( "Image is " << image->numcomps << " components which is not supported in DICOM" );
     return false;


=====================================
Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmRAWCodec.cxx
=====================================
@@ -118,8 +118,12 @@ bool RAWCodec::DecodeBytes(const char* inBytes, size_t inBufferLength,
     {
     size_t len = str.size() * 16 / 12;
     char * copy = new char[len];
-    bool b = Unpacker12Bits::Unpack(copy, str.data(), str.size() ); (void)b;
-    assert( b );
+    bool b = Unpacker12Bits::Unpack(copy, str.data(), str.size() );
+    if (!b)
+      {
+      delete[] copy;
+      return false;
+      }
     assert (len == inOutBufferLength);
     assert(inOutBufferLength == len);
     memcpy(outBytes, copy, len);


=====================================
Testing/ContinuousIntegration/AzurePipelinesBatch.yml
=====================================
@@ -11,7 +11,7 @@ trigger:
 pr: none
 
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
   - job: Windows
     timeoutInMinutes: 0
@@ -58,7 +58,7 @@ jobs:
 
           curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
           cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-          cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+          cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
         workingDirectory: $(Agent.BuildDirectory)
         displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesLinux.yml
=====================================
@@ -25,13 +25,13 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: Linux
   timeoutInMinutes: 0
   cancelTimeoutInMinutes: 300
   pool:
-    vmImage: ubuntu-20.04
+    vmImage: ubuntu-22.04
   steps:
     - checkout: self
       clean: true
@@ -62,7 +62,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 
@@ -108,7 +108,7 @@ jobs:
   timeoutInMinutes: 0
   cancelTimeoutInMinutes: 300
   pool:
-    vmImage: ubuntu-20.04
+    vmImage: ubuntu-22.04
   steps:
     - checkout: self
       clean: true
@@ -134,7 +134,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesLinuxPython.yml
=====================================
@@ -25,13 +25,13 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: Linux
   timeoutInMinutes: 0
   cancelTimeoutInMinutes: 300
   pool:
-    vmImage: ubuntu-20.04
+    vmImage: ubuntu-22.04
   steps:
     - checkout: self
       clean: true
@@ -61,7 +61,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesMacOS.yml
=====================================
@@ -25,7 +25,7 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: macOS
   timeoutInMinutes: 0
@@ -63,7 +63,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesMacOSPython.yml
=====================================
@@ -25,7 +25,7 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: macOS
   timeoutInMinutes: 0
@@ -66,7 +66,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesWindows.yml
=====================================
@@ -25,7 +25,7 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: Windows
   timeoutInMinutes: 0
@@ -57,7 +57,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Testing/ContinuousIntegration/AzurePipelinesWindowsPython.yml
=====================================
@@ -25,7 +25,7 @@ pr:
     - Utilities/ITKv5Preparation/*
     - Utilities/Maintenance/*
 variables:
-  ExternalDataVersion: 5.3.0
+  ExternalDataVersion: 5.4.3
 jobs:
 - job: Windows
   timeoutInMinutes: 0
@@ -57,7 +57,7 @@ jobs:
 
         curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
         cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
-        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
+        cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/CID $(Build.SourcesDirectory)/.ExternalData/CID
       workingDirectory: $(Agent.BuildDirectory)
       displayName: 'Download dashboard script and testing data'
 


=====================================
Wrapping/Generators/Python/CMakeLists.txt
=====================================
@@ -83,10 +83,14 @@ macro(WRAP_ITK_PYTHON_BINDINGS_INSTALL path wrapper_library_name)
       set(_component_module "${wrapper_library_name}")
     endif()
   endif()
+  set(_ORIG_DESTINATION "${PY_SITE_PACKAGES_PATH}/${path}")
+  cmake_path(NORMAL_PATH _ORIG_DESTINATION OUTPUT_VARIABLE _NORMALIZED_DESTINATION)
   install(
     FILES ${ARGN}
-    DESTINATION "${PY_SITE_PACKAGES_PATH}/${path}"
+    DESTINATION "${_NORMALIZED_DESTINATION}"
     COMPONENT ${_component_module}${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries)
+  unset(_ORIG_DESTINATION)
+  unset(_NORMALIZED_DESTINATION)
   unset(_component_module)
 endmacro()
 


=====================================
Wrapping/Generators/Python/PyBase/pyBase.i
=====================================
@@ -566,8 +566,13 @@ str = str
                 import numpy as np
                 from itk.support import types
 
-                # if both a numpy dtype and a ctype exist, use the latter.
+                # Convert numpy type to dtype object for consistency
+                # i.e. <np.float32> -> np.dtype('float32')
                 if type(pixel_type) is type:
+                    pixel_type = np.dtype(pixel_type)
+
+                # if both a numpy dtype and an ITK ctype exist, use the latter.
+                if issubclass(type(pixel_type), np.dtype):
                     c_pixel_type = types.itkCType.GetCTypeForDType(pixel_type)
                     if c_pixel_type is not None:
                         pixel_type = c_pixel_type


=====================================
Wrapping/Generators/Python/Tests/extras.py
=====================================
@@ -389,6 +389,10 @@ itk.transformwrite(transforms[0], sys.argv[7], compression=True)
 
 # BridgeNumPy
 
+arr = np.zeros([3,4,5],dtype=np.dtype('uintc'))
+image = itk.image_from_array(arr)
+assert itk.template(image)[1] == (itk.UI, 3)
+
 # Images
 
 image = itk.imread(filename)


=====================================
Wrapping/Generators/Python/itk/support/extras.py
=====================================
@@ -273,26 +273,23 @@ def _get_itk_pixelid(numpy_array_type):
 
     # This is a Mapping from numpy array types to itk pixel types.
     _np_itk = {
-        np.uint8: itk.UC,
-        np.uint16: itk.US,
-        np.uint32: itk.UI,
-        np.uint64: _long_type(),
-        np.int8: itk.SC,
-        np.int16: itk.SS,
-        np.int32: itk.SI,
-        np.int64: itk.SL,
-        np.float32: itk.F,
-        np.float64: itk.D,
-        np.complex64: itk.complex[itk.F],
-        np.complex128: itk.complex[itk.D],
+        np.dtype(np.uint8): itk.UC,
+        np.dtype(np.uint16): itk.US,
+        np.dtype(np.uint32): itk.UI,
+        np.dtype(np.uint64): _long_type(),
+        np.dtype(np.int8): itk.SC,
+        np.dtype(np.int16): itk.SS,
+        np.dtype(np.int32): itk.SI,
+        np.dtype(np.int64): itk.SL,
+        np.dtype(np.float32): itk.F,
+        np.dtype(np.float64): itk.D,
+        np.dtype(np.complex64): itk.complex[itk.F],
+        np.dtype(np.complex128): itk.complex[itk.D],
     }
     try:
-        return _np_itk[numpy_array_type.dtype.type]
+        return _np_itk[numpy_array_type.dtype]
     except KeyError as e:
-        for key in _np_itk:
-            if np.issubdtype(numpy_array_type.dtype.type, key):
-                return _np_itk[key]
-            raise e
+        raise e
 
 
 def _GetArrayFromImage(


=====================================
Wrapping/Generators/Python/itk/support/types.py
=====================================
@@ -119,28 +119,28 @@ class itkCType:
         """
         import numpy as np
 
-        _F: "itkCType" = itkCType("float", "F", np.float32)
-        _D: "itkCType" = itkCType("double", "D", np.float64)
-        _UC: "itkCType" = itkCType("unsigned char", "UC", np.uint8)
-        _US: "itkCType" = itkCType("unsigned short", "US", np.uint16)
-        _UI: "itkCType" = itkCType("unsigned int", "UI", np.uint32)
+        _F: "itkCType" = itkCType("float", "F", np.dtype(np.float32))
+        _D: "itkCType" = itkCType("double", "D", np.dtype(np.float64))
+        _UC: "itkCType" = itkCType("unsigned char", "UC", np.dtype(np.uint8))
+        _US: "itkCType" = itkCType("unsigned short", "US", np.dtype(np.uint16))
+        _UI: "itkCType" = itkCType("unsigned int", "UI", np.dtype(np.uint32))
         if os.name == "nt":
-            _UL: "itkCType" = itkCType("unsigned long", "UL", np.uint32)
-            _SL: "itkCType" = itkCType("signed long", "SL", np.int32)
+            _UL: "itkCType" = itkCType("unsigned long", "UL", np.dtype(np.uint32))
+            _SL: "itkCType" = itkCType("signed long", "SL", np.dtype(np.int32))
             _LD: "itkCType" = itkCType("long double", "LD")
         else:
-            _UL: "itkCType" = itkCType("unsigned long", "UL", np.uint64)
-            _SL: "itkCType" = itkCType("signed long", "SL", np.int64)
+            _UL: "itkCType" = itkCType("unsigned long", "UL", np.dtype(np.uint64))
+            _SL: "itkCType" = itkCType("signed long", "SL", np.dtype(np.int64))
             if hasattr(np, "float128"):
-                _LD: "itkCType" = itkCType("long double", "LD", np.float128)
+                _LD: "itkCType" = itkCType("long double", "LD", np.dtype(np.float128))
             else:
                 _LD: "itkCType" = itkCType("long double", "LD")
-        _ULL: "itkCType" = itkCType("unsigned long long", "ULL", np.uint64)
-        _SC: "itkCType" = itkCType("signed char", "SC", np.int8)
-        _SS: "itkCType" = itkCType("signed short", "SS", np.int16)
-        _SI: "itkCType" = itkCType("signed int", "SI", np.int32)
-        _SLL: "itkCType" = itkCType("signed long long", "SLL", np.int64)
-        _B: "itkCType" = itkCType("bool", "B", np.bool_)
+        _ULL: "itkCType" = itkCType("unsigned long long", "ULL", np.dtype(np.uint64))
+        _SC: "itkCType" = itkCType("signed char", "SC", np.dtype(np.int8))
+        _SS: "itkCType" = itkCType("signed short", "SS", np.dtype(np.int16))
+        _SI: "itkCType" = itkCType("signed int", "SI", np.dtype(np.int32))
+        _SLL: "itkCType" = itkCType("signed long long", "SLL", np.dtype(np.int64))
+        _B: "itkCType" = itkCType("bool", "B", np.dtype(np.bool))
         return _F, _D, _UC, _US, _UI, _UL, _SL, _LD, _ULL, _SC, _SS, _SI, _SLL, _B
 
 


=====================================
Wrapping/macro_files/itk_end_wrap_module.cmake
=====================================
@@ -421,7 +421,15 @@ ${DO_NOT_WAIT_FOR_THREADS_CALLS}
       if (ITK_USE_PYTHON_LIMITED_API)
         set_target_properties(${lib} PROPERTIES SUFFIX .abi3.so)
       else()
-        set_target_properties(${lib} PROPERTIES SUFFIX .so)
+        if(NOT PYTHON3_FOUND)
+            find_package(Python3 ${PYTHON_VERSION_MIN}...${PYTHON_VERSION_MAX} COMPONENTS Interpreter Development.Module ${SKBUILD_SABI_COMPONENT})
+        endif()
+        if(PYTHON3_FOUND)
+# Graalpy Patch
+          set_target_properties(${lib} PROPERTIES SUFFIX .${Python3_SOABI}.so)
+        else()
+          set_target_properties(${lib} PROPERTIES SUFFIX .so)
+        endif()
       endif()
     endif()
     if(NOT MSVC)


=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+insighttoolkit5 (5.4.4-1) unstable; urgency=medium
+
+  [ Steve Robbins ]
+  * [afe9b5c] New upstream version 5.4.4
+  * [e69b339] d/rules: update version to 5.4.4.
+
+ -- Steve M. Robbins <smr at debian.org>  Sat, 11 Oct 2025 10:31:54 -0500
+
 insighttoolkit5 (5.4.3-5) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/rules
=====================================
@@ -2,7 +2,7 @@
 
 VER_MAJOR = 5
 VER_MINOR = 4
-VER_REVISION = 3
+VER_REVISION = 4
 VERSION = $(VER_MAJOR).$(VER_MINOR).$(VER_REVISION)
 SOVERSION = $(VER_MAJOR).$(VER_MINOR)
 
@@ -152,21 +152,14 @@ control-file:
 # For ITK 5.4.3 this was done manually:
 #
 # 1. Download manually:
-#    a. https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz
-#    b. https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz
+#    a. https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.4/InsightToolkit-5.4.4.tar.gz
+#    b. https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.4/InsightData-5.4.4.tar.gz
 #
 # 2. Extract in "tarballs", create new merged source tarball:
 #    mv ~/Downloads/Insight* .
-#    tar xzf InsightToolkit-5.4.3.tar.gz
-#    tar xzf InsightData-5.4.3.tar.gz
-#    tar --xz -cf insighttoolkit5_5.4.3.orig.tar.xz InsightToolkit-5.4.3
+#    tar xzf InsightToolkit-5.4.4.tar.gz
+#    tar xzf InsightData-5.4.4.tar.gz
+#    tar --xz -cf insighttoolkit5_5.4.4.orig.tar.xz InsightToolkit-5.4.4
 #
 # 3. Import into GIT
-#    gbp import-orig --pristine-tar ../tarballs/insighttoolkit5_5.4.3.orig.tar.xz
-
-TARBALLDIR = "../tarballs"
-get-orig-source:
-	echo "Create manually; see rules"
-	#uscan --watchfile debian/data/watch --force-download --no-symlink --destdir $(TARBALLDIR)
-	#uscan --force-download --rename --destdir $(TARBALLDIR)
-	#cd $(TARBALLDIR) && mv `ls InsightData-$(VERSION).tar.xz` insighttoolkit$(VER_MAJOR)_$(VERSION)-dfsg1.orig-data.tar.xz
+#    gbp import-orig --pristine-tar ../tarballs/insighttoolkit5_5.4.4.orig.tar.xz



View it on GitLab: https://salsa.debian.org/med-team/insighttoolkit/-/compare/a0ee84a71fe349f43124833364cec47623bfd52e...2fe08ff119e6a6baf06dea16385cadb08ad500ac

-- 
View it on GitLab: https://salsa.debian.org/med-team/insighttoolkit/-/compare/a0ee84a71fe349f43124833364cec47623bfd52e...2fe08ff119e6a6baf06dea16385cadb08ad500ac
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251013/8c340fec/attachment-0001.htm>


More information about the debian-med-commit mailing list