|
| 1 | +# ITK 5.4.3 Release Notes |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +🔦 Highlights |
| 6 | +------------- |
| 7 | + |
| 8 | +As a maintenance update following 5.4.2, version 5.4.3 incorporates critical improvements including: |
| 9 | + |
| 10 | +- **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. |
| 11 | +- **License Fixes**: Removed unused VNL Netlib rpoly files to ensure compliance with our Apache 2.0 licensing requirements. |
| 12 | +- **Software Guide Updates**: Spelling corrections for the [ITK Software Guide](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/releases). |
| 13 | +- **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/). |
| 14 | +- **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. |
| 15 | + |
| 16 | +A full list of changes can be found in the changelog below. |
| 17 | + |
| 18 | +🔢 Versioning Note |
| 19 | +------------------ |
| 20 | + |
| 21 | +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). |
| 22 | + |
| 23 | +💾 Download |
| 24 | +----------- |
| 25 | + |
| 26 | +**Python Packages** |
| 27 | + |
| 28 | +Install [ITK Python packages](https://docs.itk.org/en/latest/learn/python_quick_start.html) with: |
| 29 | + |
| 30 | +```bash |
| 31 | +pip install itk |
| 32 | +``` |
| 33 | + |
| 34 | +**Guide and Textbook** |
| 35 | + |
| 36 | +- [InsightSoftwareGuide-Book1-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book1-5.4.3.pdf) |
| 37 | +- [InsightSoftwareGuide-Book2-5.4.3.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightSoftwareGuide-Book2-5.4.3.pdf) |
| 38 | + |
| 39 | +**Library Sources** |
| 40 | + |
| 41 | +- [InsightToolkit-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz) |
| 42 | +- [InsightToolkit-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip) |
| 43 | + |
| 44 | +**Testing Data** |
| 45 | + |
| 46 | +Unpack optional testing data in the same directory where the Library Source is unpacked. |
| 47 | + |
| 48 | +- [InsightData-5.4.3.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz) |
| 49 | +- [InsightData-5.4.3.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip) |
| 50 | + |
| 51 | +**Checksums and Signatures** |
| 52 | + |
| 53 | +- [InsightToolkit-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.tar.gz.asc) |
| 54 | +- [InsightToolkit-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightToolkit-5.4.3.zip.asc) |
| 55 | + |
| 56 | +- [InsightData-5.4.3.tar.gz.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.tar.gz.asc) |
| 57 | +- [InsightData-5.4.3.zip.asc](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/InsightData-5.4.3.zip.asc) |
| 58 | + |
| 59 | +- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/MD5SUMS) |
| 60 | +- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4.3/SHA512SUMS) |
| 61 | + |
| 62 | +🙏 Congratulations |
| 63 | +------------------ |
| 64 | + |
| 65 | +Congratulations and **thank you** to everyone who contributed to this release. |
| 66 | + |
| 67 | +🗣️ What's Next |
| 68 | +--------------- |
| 69 | + |
| 70 | +**ITK 6 Preparation** |
| 71 | + |
| 72 | +The development community is currently focused on delivering **ITK 6**, a major modernization release featuring: |
| 73 | + |
| 74 | +- Architectural upgrades for contemporary C++ development |
| 75 | +- Enhanced template metaprogramming capabilities |
| 76 | +- Streamlined build system configurations |
| 77 | + |
| 78 | +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. |
| 79 | + |
| 80 | +**5.4 Maintenance Commitment** |
| 81 | + |
| 82 | +We remain dedicated to supporting current users through: |
| 83 | + |
| 84 | +- Regular security and regression patches |
| 85 | +- Critical bug resolution |
| 86 | +- Platform compatibility updates |
| 87 | + |
| 88 | +**Enjoy ITK!** |
| 89 | + |
| 90 | +ITK Changes Since v5.4.2 |
| 91 | +------------------------ |
| 92 | + |
| 93 | +### Bradley Lowekamp (2): |
| 94 | + |
| 95 | +#### Enhancements |
| 96 | + |
| 97 | +- Use get_schedaffin to determine number of threads ([50ab3e0f6e](https://github.com/InsightSoftwareConsortium/ITK/commit/50ab3e0f6e)) |
| 98 | + |
| 99 | +#### Bug Fixes |
| 100 | + |
| 101 | +- Update LabelErodeDilate remote module ([ea1ee3a961](https://github.com/InsightSoftwareConsortium/ITK/commit/ea1ee3a961)) |
| 102 | + |
| 103 | + |
| 104 | +### Dženan Zukić (1): |
| 105 | + |
| 106 | +#### Documentation Updates |
| 107 | + |
| 108 | +- Remove duplicate new author name (Matthieu LAURENDEAU) ([6d82d2bd8f](https://github.com/InsightSoftwareConsortium/ITK/commit/6d82d2bd8f)) |
| 109 | + |
| 110 | + |
| 111 | +### Matthew McCormick (10): |
| 112 | + |
| 113 | +#### Enhancements |
| 114 | + |
| 115 | +- Bump ITK version to 5.4.3 ([0913f2a962](https://github.com/InsightSoftwareConsortium/ITK/commit/0913f2a962)) |
| 116 | + |
| 117 | +#### Documentation Updates |
| 118 | + |
| 119 | +- Update maintenance branch for 5.4 series ([146bc6de06](https://github.com/InsightSoftwareConsortium/ITK/commit/146bc6de06)) |
| 120 | +- Point to RTD Doxygen documentation, ITKDoxygen Docker build ([8ba1cfc8f2](https://github.com/InsightSoftwareConsortium/ITK/commit/8ba1cfc8f2)) |
| 121 | +- Update Doxygen class links to use ReadTheDocs ([d3189c245e](https://github.com/InsightSoftwareConsortium/ITK/commit/d3189c245e)) |
| 122 | +- Update versioned Doxygen links to point to ReadTheDocs ([ce4fa184e8](https://github.com/InsightSoftwareConsortium/ITK/commit/ce4fa184e8)) |
| 123 | +- ITK 5.4.0 release notes ([f2852f6ee9](https://github.com/InsightSoftwareConsortium/ITK/commit/f2852f6ee9)) |
| 124 | +- Add ITK 5.4.2 release notes ([f817e2f775](https://github.com/InsightSoftwareConsortium/ITK/commit/f817e2f775)) |
| 125 | + |
| 126 | +#### Platform Fixes |
| 127 | + |
| 128 | +- Bump MeshToPolyData Remote Module to 2024-03-14 main ([7366509c1c](https://github.com/InsightSoftwareConsortium/ITK/commit/7366509c1c)) |
| 129 | + |
| 130 | +#### Bug Fixes |
| 131 | + |
| 132 | +- Remove VNL Netlib rpoly files ([6894a1715c](https://github.com/InsightSoftwareConsortium/ITK/commit/6894a1715c)) |
| 133 | +- Clamp GlobalDefault threads with GlobalMaximum with initialization ([7e485eac71](https://github.com/InsightSoftwareConsortium/ITK/commit/7e485eac71)) |
| 134 | + |
| 135 | + |
| 136 | +### Simon Rit (1): |
| 137 | + |
| 138 | +#### Bug Fixes |
| 139 | + |
| 140 | +- Remove check on WrapITK.pth existence in itk_python_add_test ([71d5cce482](https://github.com/InsightSoftwareConsortium/ITK/commit/71d5cce482)) |
| 141 | + |
| 142 | + |
| 143 | +### Nick Tustison (1): |
| 144 | + |
| 145 | +#### Bug Fixes |
| 146 | + |
| 147 | +- Incorrect size for closed parametric dimension. ([0dd02ac9f1](https://github.com/InsightSoftwareConsortium/ITK/commit/0dd02ac9f1)) |
| 148 | + |
| 149 | + |
| 150 | +ITK Software Guide Changes Since v5.4.2 |
| 151 | +--------------------------------------- |
| 152 | + |
| 153 | +### Matthew McCormick (1): |
| 154 | + |
| 155 | +#### Enhancements |
| 156 | + |
| 157 | +- Bump ITK to v5.4.3 ([0db3df8](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/0db3df8)) |
| 158 | + |
| 159 | +### albert-github (1): |
| 160 | + |
| 161 | +#### Documentation Updates |
| 162 | + |
| 163 | +- Spelling corrections ([5849c78](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/5849c78)) |
| 164 | + |
| 165 | + |
| 166 | + |
| 167 | + |
| 168 | +Remote Module Changes Since v5.4.2 |
| 169 | +--------------------------------------------- |
| 170 | + |
| 171 | +## LabelErodeDilate: |
| 172 | +### Bradley Lowekamp (4): |
| 173 | + |
| 174 | +#### Bug Fixes |
| 175 | + |
| 176 | +- Addressed memory leak of progress object ([05a0a1c](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/05a0a1c)) |
| 177 | +- Address uninitialized value ([921aaab](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/921aaab)) |
| 178 | +- Fix Valgrind defect with uninitialized array in doOneDimensionErode ([b9567df](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/b9567df)) |
| 179 | + |
| 180 | +#### Miscellaneous Changes |
| 181 | + |
| 182 | +- Update CI infrastructure to use 5.4.2 infrastructure ([c9f9037](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/c9f9037)) |
| 183 | + |
| 184 | + |
| 185 | +### Hans Johnson (4): |
| 186 | + |
| 187 | +#### Enhancements |
| 188 | + |
| 189 | +- Update to support the clang-format-linter CI ([b25c27e](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/b25c27e)) |
| 190 | +- Update to use local error message. ([22d8846](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/22d8846)) |
| 191 | + |
| 192 | +#### Style Changes |
| 193 | + |
| 194 | +- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro ([6a892cd](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/6a892cd)) |
| 195 | +- Update to match clang-format-19 from ITK ([32e7773](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/32e7773)) |
| 196 | + |
| 197 | + |
| 198 | +### Jon Haitz Legarreta Gorroño (12): |
| 199 | + |
| 200 | +#### Enhancements |
| 201 | + |
| 202 | +- Transition project configuration to `pyproject.toml` ([8197f14](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/8197f14)) |
| 203 | +- Initialize all arrays in `LabelSetUtils.h` file ([108b0ba](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/108b0ba)) |
| 204 | + |
| 205 | +#### Platform Fixes |
| 206 | + |
| 207 | +- Bump to minimum CMake 3.16.3 ([f247673](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/f247673)) |
| 208 | + |
| 209 | +#### Style Changes |
| 210 | + |
| 211 | +- Conform to ITK style guidelines in local variable naming ([61c7a93](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/61c7a93)) |
| 212 | +- Do no use `m_` to start function parameter names ([c347f23](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/c347f23)) |
| 213 | +- Use medial capitals for variable naming in C++ code ([518fab1](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/518fab1)) |
| 214 | +- Use `ITK_TRY_EXPECT_NO_EXCEPTION` macro in tests ([5f37494](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/5f37494)) |
| 215 | +- Make the input argument checking be the first task in tests ([1a5febf](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/1a5febf)) |
| 216 | +- Conform to ITK style guidelines in test arg check ([7f9ffc7](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/7f9ffc7)) |
| 217 | +- Remove unnecessary brackets around `EXIT_FAILURE` ([02de4bd](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/02de4bd)) |
| 218 | +- Remove unreachable `break` after `return` statement ([0fbfa1c](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/0fbfa1c)) |
| 219 | +- Remove unnecessary/empty comment statements in tests ([276b195](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/276b195)) |
| 220 | + |
| 221 | + |
| 222 | + |
| 223 | +## MeshToPolyData: |
| 224 | +### Dženan Zukić (1): |
| 225 | + |
| 226 | +#### Platform Fixes |
| 227 | + |
| 228 | +- ITK_DISALLOW_COPY_AND_ASSIGN -> ITK_DISALLOW_COPY_AND_MOVE ([b866a68](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/b866a68)) |
| 229 | + |
| 230 | + |
| 231 | +### Hans Johnson (7): |
| 232 | + |
| 233 | +#### Enhancements |
| 234 | + |
| 235 | +- Use latest actions, do not pin to latest version ([8aed3c7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8aed3c7)) |
| 236 | +- Use tag v5.4.2 for the build packages tags ([9c0209b](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/9c0209b)) |
| 237 | + |
| 238 | +#### Style Changes |
| 239 | + |
| 240 | +- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro ([c3c0006](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/c3c0006)) |
| 241 | +- Replace itkStaticConstMacro with static constexpr ([86435bd](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/86435bd)) |
| 242 | +- CoordRepType -> CoordinateType code readability ([d90e542](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/d90e542)) |
| 243 | +- Update to match clang-format-19 from ITK ([6aa2abf](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/6aa2abf)) |
| 244 | +- Fix KWStyleError ([597c780](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/597c780)) |
| 245 | + |
| 246 | + |
| 247 | +### Jon Haitz Legarreta Gorroño (1): |
| 248 | + |
| 249 | +#### Platform Fixes |
| 250 | + |
| 251 | +- Bump to minimum CMake 3.16.3 ([97c575f](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/97c575f)) |
| 252 | + |
| 253 | + |
| 254 | +### Matt McCormick (12): |
| 255 | + |
| 256 | +#### Enhancements |
| 257 | + |
| 258 | +- Bump itk-wasm to 1.0.0-b.173 ([08779a7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/08779a7)) |
| 259 | +- Bump itk-wasm version to 1.0.0-b.175 ([254a24d](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/254a24d)) |
| 260 | +- Add VTK C++ conversion example ([8153ecc](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8153ecc)) |
| 261 | +- Update ITK to 5.4.0 ([4ce9813](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/4ce9813)) |
| 262 | +- Bump wasm package version to 1.1.1 ([a9d1fd7](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/a9d1fd7)) |
| 263 | +- Bump pnpm to 10.6.2 ([bd893e4](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/bd893e4)) |
| 264 | +- Update pyproject.toml for 0.11.1 ([8941ee1](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/8941ee1)) |
| 265 | + |
| 266 | +#### Documentation Updates |
| 267 | + |
| 268 | +- Lines to Vertices in method description ([ff3cc60](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/ff3cc60)) |
| 269 | + |
| 270 | +#### Platform Fixes |
| 271 | + |
| 272 | +- Provide backwards compatible CoordRepType in itk::PolyData ([c9e0aba](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/c9e0aba)) |
| 273 | +- Update wasm for ITK 5.4.2 ([1c2a0b5](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/1c2a0b5)) |
| 274 | + |
| 275 | +#### Bug Fixes |
| 276 | + |
| 277 | +- Update Python package version to 0.11.0 ([5e8de5d](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/5e8de5d)) |
| 278 | +- Support Variable-Length-Vector in mesh-to-polydata ([e9b30dc](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/e9b30dc)) |
| 279 | + |
| 280 | +### dependabot[bot] (2): |
| 281 | + |
| 282 | +#### Miscellaneous Changes |
| 283 | + |
| 284 | +- Bump vite from 4.5.3 to 4.5.6 ([02b88a3](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/02b88a3)) |
| 285 | +- Bump esbuild from 0.19.12 to 0.25.0 ([edf43cb](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/edf43cb)) |
0 commit comments