Isotropic Wavelets

In building the Wavelet Frequency Inverse test I encounter this problem:
In file included from /home/melrobin/packages/ITK/Modules/Remote/IsotropicWavelets/test/itkWaveletFrequencyInverseTest.cxx:23:0:
/home/melrobin/packages/ITK/Modules/Remote/IsotropicWavelets/include/itkWaveletFrequencyInverse.h: In instantiation of ‘class itk::WaveletFrequencyInverse<itk::Image<std::complex, 2>, itk::Image<std::complex, 2>, itk::WaveletFrequencyFilterBankGenerator<itk::Image<std::complex, 2>, itk::HeldIsotropicWavelet<>, itk::FrequencyFFTLayoutImageRegionIteratorWithIndex<itk::Image<std::complex, 2> > >, itk::FrequencyExpandImageFilter<itk::Image<std::complex, 2> > >’:
/home/melrobin/packages/ITK/Modules/Remote/IsotropicWavelets/test/itkWaveletFrequencyInverseTest.cxx:95:48: required from ‘int runWaveletFrequencyInverseTest(const string&, const string&, const unsigned int&, const unsigned int&) [with unsigned int VDimension = 2; TWaveletFunction = itk::HeldIsotropicWavelet<>; std::__cxx11::string = std::__cxx11::basic_string]’
/home/melrobin/packages/ITK/Modules/Remote/IsotropicWavelets/test/itkWaveletFrequencyInverseTest.cxx:284:113: required from here
/home/melrobin/packages/ITK/Modules/Remote/IsotropicWavelets/include/itkWaveletFrequencyInverse.h:168:8: error: ‘void itk::WaveletFrequencyInverse<TInputImage, TOutputImage, TWaveletFilterBank, TFrequencyExpandFilterType>::VerifyInputInformation() [with TInputImage = itk::Image<std::complex, 2>; TOutputImage = itk::Image<std::complex, 2>; TWaveletFilterBank = itk::WaveletFrequencyFilterBankGenerator<itk::Image<std::complex, 2>, itk::HeldIsotropicWavelet<>, itk::FrequencyFFTLayoutImageRegionIteratorWithIndex<itk::Image<std::complex, 2> > >; TFrequencyExpandFilterType = itk::FrequencyExpandImageFilter<itk::Image<std::complex, 2> >]’ marked ‘override’, but does not override
void VerifyInputInformation() override {};
^~~~~~~~~~~~~~~~~~~~~~

I am not exactly sure of what this error means.

There was a change made a few days ago here:

This fixes the error, but must have not made it into the source when executing git pull --recurse-submodules yet.

The remote module’s commit hash in ITK has not been updated to the latest commit in the module yet. See


vs.

But there is a gerrit topic that will hopefully bring those changes in:
http://review.source.kitware.com/#/c/23823

In the meantime, you can either use the module from outside ITK or replace the commit hash locally.

1 Like

Hi @melrobin , thanks for reporting this, I should have opened a PR for ITK after that change. Here is the patch: http://review.source.kitware.com/#/c/23849/

Meanwhile, you can apply this patch just changing the hash in the file Modules/Remote/IsotropicWavelets.remote.cmake in your ITK source folder, and rebuild. Hopefully this will be merged soon.

GIT_TAG 80fefd47f5177d29328b0106bd2ff53fa84b0396

Let me know how it goes with the module!

@dzenanz updated the hash for some remote modules here, so now you should be able to compile the IsotropicWavelets module. Thanks for reporting it!