InsightSoftwareConsortium / ITKIsotropicWavelets

External Module for ITK, implementing Isotropic Wavelets and Riesz Filter for multiscale phase analysis.
Apache License 2.0
13 stars 11 forks source link

ENH: Set RieszRotationMatrix ValueType to std::complex #115

Closed phcerdan closed 3 years ago

phcerdan commented 5 years ago

Still some wrappings warnings at configure time (Ok at runtime)

Generating /path/../IsotropicWavelets_snake_case.py
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::Vector< std::complex< float >, 2 >
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::Point< std::complex< float >, 2 >
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::CovariantVector< std::complex< float >, 2 >
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::Vector< std::complex< float >, 3 >
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::Point< std::complex< float >, 3 >
itkMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::CovariantVector< std::complex< float >, 3 >
itkVariableSizeMatrixComplex: warning(4): ITK type not wrapped, or currently not known: itk::Array< std::complex< float > >
itkStructureTensor: warning(4): ITK type not wrapped, or currently not known: itk::GaussianImageSource< itk::Image< double, 3 > >
itkRieszRotationMatrix: warning(4): ITK type not wrapped, or currently not known: itk::Array< std::complex< double > >
phcerdan commented 5 years ago

CI will fail until new beta of ITK, depends on: https://github.com/InsightSoftwareConsortium/ITK/pull/434.

The dependency is to use NumericTraits::epsilon with std::complex, but can be workaround-ed if needed.

dzenanz commented 3 years ago

Good to merge?

phcerdan commented 3 years ago

Good to merge?

Yes, thanks @dzenanz

dzenanz commented 3 years ago

The configure time warning might go away if you build ITK wrappings with ITK_WRAP_complex_double, ITK_WRAP_complex_float, ITK_WRAP_double and ITK_WRAP_float.

phcerdan commented 3 years ago

The configure time warning might go away if you build ITK wrappings with ITK_WRAP_complex_double, ITK_WRAP_complex_float, ITK_WRAP_double and ITK_WRAP_float.

I think that will fix the following, because the default is wrap images with complex float, not double.

itkStructureTensor: warning(4): ITK type not wrapped, or currently not known: itk::GaussianImageSource< itk::Image< double, 3 > >

However, all the core types associates to itkMatrix will still be missing.

In any case, I don't think it's a big problem if some API is missing from python.

phcerdan commented 3 years ago

I won't fix the configure time python warnings. See #143 for details.