Hi folks,
The next patch (bugfix) release, ITK 5.2.1, is coming up.
Patches currently staged on the Git release
branch are:
Bradley Lowekamp (7):
BUG: Register ComposeScaleSkewVersor3DTransform transform
BUG: Add tests demonstration current behavior of histogram based median
BUG: Fix StatisticsLabelMap median for even number of pixels
ENH: StatisticsLabelMapFilter use improve integer histogram
ENH: Add additional testing for zero sized label object
BUG: Fix HDF5 installation with cmake targets
BUG: Propagate usage of HDF5 find_package NO_MODULE arg to install
Dženan Zukić (5):
Revert "COMP: Use CMake 3.18.4 in macOS CI builds"
COMP: Update KWStyle to fix compile warnings on Ubuntu 20.04
BUG: add support for long long pixel types in PyBuffer
COMP: Restore generation of static runtime library on MSVC
ENH: fix Python multi-processing hang on unix
Lee Newberg (3):
BUG: Ellipsis is not iterable
ENH: Propagate StatisticsLabelMapFilter's default NumberOfBins
ENH: Wrap itkAdaptiveHistogramEqualizationImageFilter for Python.
Matt McCormick (12):
BUG: Add vnl_vector_from_array to extras __all__
ENH: Update CastXML source builds to v0.4.3, LLVM 11.1.0
ENH: Add CastXML binary for macOS arm64
ENH: Add Linux arm64 CastXML binaries
COMP: Backport CastXML arm64 Eigen support
COMP: Do not add IPO to Python wrapping if not supported
COMP: Only use np.float128 when available
COMP: Make floating point exceptions a no-op with MUSL, Linux, ARMv8
BUG: Do not create global multiprocessing RLock
BUG: Support double colons in Changelog commit summary
STYLE: Apply black to AuthorsChangesSince.py script
COMP: Use numpy==1.20.3 for CI testing
Stephen R. Aylward (3):
BUG: SpatialObject writes object color
BUG: TubeSpatialObject missing CopyInformation
BUG: TubeSpatialObject didn't preserver Artery flag
We also have:
Are there other patches that are missing? Patches should be critical bugfixes, improved support for compilers, and documentation fixes.
dzenanz
(Dženan Zukić)
August 10, 2021, 1:37pm
2
We should also consider these:
InsightSoftwareConsortium:master
← dzenanz:pythonVLV
opened 04:39PM - 06 Jul 21 UTC
The test file is produced by 3D Slicer, which is a saved
segmentation of mouse … tibia (down-sampled for test).
## PR Checklist
- [x] No [API changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#breaking-changes) were made (or the changes have been approved)
- [x] No [major design changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#design-changes) were made (or the changes have been approved)
- [x] Added test (or behavior not changed)
- [ ] Updated API documentation (or API not changed)
- [x] Added [license](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/KWStyle/ITKHeader.h) to new files (if any)
- [x] Added Python wrapping to new files (if any) as described in [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) Section 9.5
- [ ] Added [ITK examples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples) for all new major features (if any)
InsightSoftwareConsortium:master
← dzenanz:macroPrefixReview
opened 06:18PM - 22 Jul 21 UTC
To address https://open.cdash.org/viewBuildError.php?type=0&buildid=7354490:
``… `text
/Users/builder/externalModules/Nonunit/Review/test/itkStochasticFractalDimensionImageFilterTest.cxx:46:50: error: use of undeclared identifier 'StochasticFractalDimensionImageFilter'
EXERCISE_BASIC_OBJECT_METHODS(fractalFilter, StochasticFractalDimensionImageFilter, ImageToImageFilter);
^
/Users/builder/externalModules/Nonunit/Review/test/itkStochasticFractalDimensionImageFilterTest.cxx:46:89: error: use of undeclared identifier 'ImageToImageFilter'
EXERCISE_BASIC_OBJECT_METHODS(fractalFilter, StochasticFractalDimensionImageFilter, ImageToImageFilter);
^
2 errors generated.
```
InsightSoftwareConsortium:master
← N-Dekker:Remove-zeroFilledFixedArray-comparisons-MatrixOffsetTransformBaseGTest
opened 06:59PM - 21 Jul 21 UTC
Comparing an `itk::FixedArray` to an `itk::Point` appears to cause C++20
compil… ation errors, as observed with Visual Studio 2019 ("/std:c++latest"),
reported by @QuellaZhang, issue https://github.com/InsightSoftwareConsortium/ITK/issues/2640
> itkMatrixOffsetTransformBaseGTest.i(390249): error C2666: 'itk::FixedArray<double,2>::operator ==': 2 overloads have similar conversions
> itkMatrixOffsetTransformBaseGTest.i(87990): note: could be 'bool itk::FixedArray<double,2>::operator ==(const itk::FixedArray<double,2> &) const'
> itkMatrixOffsetTransformBaseGTest.i(390240): note: or 'bool testing::internal::operator ==(testing::internal::faketype,testing::internal::faketype)'
> itkMatrixOffsetTransformBaseGTest.i(269102): note: or 'bool itk::Point<TParametersValueType,2>::operator ==(const itk::Point<TParametersValueType,2> &) const' [synthesized expression 'y == x']
InsightSoftwareConsortium:master
← dzenanz:updateKWSys
opened 03:34PM - 13 Jul 21 UTC
InsightSoftwareConsortium:master
← dzenanz:wrapMeshFileWriter
opened 08:08PM - 09 Jul 21 UTC
MeshFileWriter was erroneously wrapped for
WRAP_ITK_REAL instead of WRAP_ITK_SC… ALAR.
```text
itk.meshwrite(mesh, file_path)
...
itk.support.extras.TemplateTypeError: itk.MeshFileWriter is not wrapped for input type `itk.Mesh[itk.UC,3]`.
To limit the size of the package, only a limited number of
types are available in ITK Python.
...
Supported input types:
itk.Mesh[itk.F,2]
itk.Mesh[itk.D,2]
itk.Mesh[itk.F,3]
itk.Mesh[itk.D,3]
```
## PR Checklist
- [x] No [API changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#breaking-changes) were made (or the changes have been approved)
- [x] No [major design changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#design-changes) were made (or the changes have been approved)
- [ ] Added test (or behavior not changed)
- [ ] Updated API documentation (or API not changed)
- [ ] Added [license](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/KWStyle/ITKHeader.h) to new files (if any)
- [x] Added Python wrapping to new files (if any) as described in [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) Section 9.5
- [ ] Added [ITK examples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples) for all new major features (if any)
InsightSoftwareConsortium:master
← N-Dekker:SimilarityTransform.SetCenterAndScale
opened 02:56PM - 02 Jul 21 UTC
Closes #2629 "Similarity3DTransform::SetScale should recompute m_Offset", which … said:
> When `Similarity3DTransform::SetScale` is called, it does not compute
> `m_Offset`, which appears to cause an incorrect result from
> `similarity3DTransform.TransformPoint` when `TransformPoint` is called
> directly after `SetScale`.
Included a unit test (GoogleTest) to ensure that the issue is fixed.
InsightSoftwareConsortium:master
← darrent1974:C++20-gcc-11-compatibility
opened 11:03AM - 09 Jun 21 UTC
<!-- The text within this markup is a comment, and is intended to provide
guide… lines to open a Pull Request for the ITK repository. This text will not
be part of the Pull Request. -->
<!-- See the CONTRIBUTING (CONTRIBUTING.md) guide. Specifically:
Start ITK commit messages with a standard prefix (and a space):
* BUG: fix for runtime crash or incorrect result
* COMP: compiler error or warning fix
* DOC: documentation change
* ENH: new functionality
* PERF: performance improvement
* STYLE: no logic impact (indentation, comments)
* WIP: Work In Progress not ready for merge
Provide a short, meaningful message that describes the change you made.
When the PR is based on a single commit, the commit message is usually left as
the PR message.
A reference to a related issue or pull request (https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests)
in your repository. You can automatically
close a related issues using keywords (https://help.github.com/articles/closing-issues-using-keywords/)
@mentions (https://help.github.com/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)
of the person or team responsible for reviewing proposed changes. -->
## PR Checklist
- [x] No [API changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#breaking-changes) were made (or the changes have been approved)
- [x] No [major design changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#design-changes) were made (or the changes have been approved)
- [x] Added test (or behavior not changed)
- [x] Updated API documentation (or API not changed)
- [ ] Added [license](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/KWStyle/ITKHeader.h) to new files (if any)
- [ ] Added Python wrapping to new files (if any) as described in [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) Section 9.5
- [ ] Added [ITK examples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples) for all new major features (if any)
Refer to the [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) for
further development details if necessary.
InsightSoftwareConsortium:release
← thewtex:numpy-1.20
opened 12:07PM - 24 Jun 21 UTC
With numpy 1.21.0, PythonMedianImageFilterTest fails with:
2916: Traceback … (most recent call last):
2916: File "/home/matt/src/ITK/Modules/Filtering/Smoothing/wrapping/test/MedianImageFilterTest.py", line 56, in <module>
2916: type_hints = get_type_hints(itk.median_image_filter, globalns= { 'itk': itk })
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 1266, in get_type_hints
2916: value = _eval_type(value, globalns, localns)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 272, in _eval_type
2916: ev_args = tuple(_eval_type(a, globalns, localns) for a in t.__args__)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 272, in <genexpr>
2916: ev_args = tuple(_eval_type(a, globalns, localns) for a in t.__args__)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 272, in _eval_type
2916: ev_args = tuple(_eval_type(a, globalns, localns) for a in t.__args__)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 272, in <genexpr>
2916: ev_args = tuple(_eval_type(a, globalns, localns) for a in t.__args__)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 270, in _eval_type
2916: return t._evaluate(globalns, localns)
2916: File "/home/matt/bin/miniconda/lib/python3.8/typing.py", line 520, in _evaluate
2916: eval(self.__forward_code__, globalns, localns),
2916: File "<string>", line 1, in <module>
2916: NameError: name 'dtype' is not defined
2916: itkTestDriver: Process exited with return value: 1
Use 1.20.3 until this is addressed, issue is tracked in #2613.
InsightSoftwareConsortium:master
← tbirdso:wrap-symsecondranktensor
opened 03:13PM - 11 Jun 21 UTC
<!-- The text within this markup is a comment, and is intended to provide
guide… lines to open a Pull Request for the ITK repository. This text will not
be part of the Pull Request. -->
Adds `float` wrapping for `itk::SymmetricSecondRankTensor` as well as its usage in `itk::Image` and `itk::ImageToImageFilter`.
Motivated by updates in [ITKStrain](https://github.com/KitwareMedical/ITKStrain/pull/42).
<!-- See the CONTRIBUTING (CONTRIBUTING.md) guide. Specifically:
Start ITK commit messages with a standard prefix (and a space):
* BUG: fix for runtime crash or incorrect result
* COMP: compiler error or warning fix
* DOC: documentation change
* ENH: new functionality
* PERF: performance improvement
* STYLE: no logic impact (indentation, comments)
* WIP: Work In Progress not ready for merge
Provide a short, meaningful message that describes the change you made.
When the PR is based on a single commit, the commit message is usually left as
the PR message.
A reference to a related issue or pull request (https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests)
in your repository. You can automatically
close a related issues using keywords (https://help.github.com/articles/closing-issues-using-keywords/)
@mentions (https://help.github.com/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)
of the person or team responsible for reviewing proposed changes. -->
## PR Checklist
- [x] Added Python wrapping to new files (if any) as described in [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) Section 9.5
InsightSoftwareConsortium:master
← thewtex:ci-external-data-version
opened 07:25PM - 08 Jun 21 UTC
- ENH: Updated CI cached testing ExternalData to 5.2.0
InsightSoftwareConsortium:master
← InsightSoftwareConsortium:ImageDuplicator-longlong
opened 04:52PM - 07 Jun 21 UTC
This is a follow-up to #2554, suggested in
https://github.com/InsightSoftwareCo… nsortium/ITK/pull/2578#issuecomment-855014914
## PR Checklist
- [x] No [API changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#breaking-changes) were made (or the changes have been approved)
- [x] No [major design changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#design-changes) were made (or the changes have been approved)
- [ ] Added test (or behavior not changed)
- [ ] Updated API documentation (or API not changed)
- [ ] Added [license](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/KWStyle/ITKHeader.h) to new files (if any)
- [x] Added Python wrapping to new files (if any) as described in [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf) Section 9.5
- [ ] Added [ITK examples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples) for all new major features (if any)
1 Like
blowekamp
(Bradley Lowekamp)
August 10, 2021, 1:41pm
3
We should also consider the update to GDCM done in this PR:
InsightSoftwareConsortium/ITK#2618
This may be the only patch needed to have ITK 5.2.1 work with GCC 11, but it should be tested to verified.
opened 08:50AM - 07 Aug 21 UTC
closed 01:40PM - 10 Aug 21 UTC
related log:
```text
In file included from /build/python-simpleitk/src/python-… simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.cxx:14:
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:32: error: no member named 'numeric_limits' in namespace 'std'
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
~~~~~^
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:47: error: 'T' does not refer to a value
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
^
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:63:20: note: declared here
template <typename T>
^
[ 70%] Building CXX object Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/CMakeFiles/gdcmMSFF.dir/gdcmUIDGenerator.cxx.o
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:51: error: no member named 'max' in the global namespace
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
~~^
[ 70%] Building CXX object Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/CMakeFiles/gdcmMSFF.dir/gdcmUUIDGenerator.cxx.o
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:64: error: no member named 'numeric_limits' in namespace 'std'
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
~~~~~^
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:79: error: 'T' does not refer to a value
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
^
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:63:20: note: declared here
template <typename T>
^
/build/python-simpleitk/src/python-simpleitk-2.1.0/_skbuild/linux-x86_64-3.9/cmake-build/sitk-sb/ITK/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h:67:83: error: no member named 'max' in the global namespace
return v < 0 ? 0 : (v > std::numeric_limits<T>::max() ? std::numeric_limits<T>::max() : v);
```
this gdcm issue is fixed by upstream patch https://github.com/malaterre/GDCM/commit/4404b770be337bd0d5d3c2289abfd34426433db2. Upgrade gdcm src to this commit would fix it.
2 Likes
Thanks, @dzenanz @blowekamp !
The GDCM patch was backported along with a VXL update for GCC 11 support.
1 Like