melrobin
(Melrobin)
October 30, 2018, 5:08am
1
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.
melrobin
(Melrobin)
October 30, 2018, 6:05am
2
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.
jhlegarreta
(Jon Haitz Legarreta Gorroño)
October 30, 2018, 12:36pm
3
The remote module’s commit hash in ITK has not been updated to the latest commit in the module yet. See
vs.
# Contact: Pablo Hernandez-Cerdan <pablo.hernandez.cerdan@outlook.com>
itk_fetch_module(IsotropicWavelets
"An ITK-based implementation of steerable isotropic wavelet transforms for multiscale phase analysis.
A more detailed description can be found in the Insight Journal article::
Cerdan, P.H. \"Steerable Isotropic Wavelets for Multiscale and Phase Analysis\".
http://hdl.handle.net/10380/3558
November, 2016.
"
# Upstream repository was transfered from phcerdan to InsightSoftwareConsortium
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKIsotropicWavelets.git
GIT_TAG 02e14fce040e976e31d14975eba2386cf6e38b89
)
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
phcerdan
(Pablo Hernandez-Cerdan)
October 30, 2018, 1:15pm
4
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!
phcerdan
(Pablo Hernandez-Cerdan)
October 30, 2018, 4:53pm
5
@dzenanz updated the hash for some remote modules here , so now you should be able to compile the IsotropicWavelets module. Thanks for reporting it!