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: Add wrapping for itk::RieszFrequencyFunction class. #60

Closed jhlegarreta closed 5 years ago

jhlegarreta commented 7 years ago

Add wrapping for the itk::RieszFrequencyFunction class.

jhlegarreta commented 7 years ago

Addresses the itk::RieszFrequencyFunction class wrapping mentioned in #56.

Please, review. Not sure whether this is the way to correctly wrap the TFunctionValue template argument in the class.

jhlegarreta commented 7 years ago

Following the comment by @thewtex in PR #59, changed the way the TFunctionValue is wrapped. Please review.

phcerdan commented 7 years ago

Travis fails with message:

FAILED: /Users/Kitware/Dashboards/ITK/ITKPythonPackage/ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.xml 

cd /Users/travis/build/phcerdan/ITKIsotropicWavelets/_skbuild/cmake-build/Wrapping/Modules/IsotropicWavelets && env SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk MACOSX_DEPLOYMENT_TARGET=10.6 /Users/travis/build/phcerdan/ITKIsotropicWavelets/_skbuild/cmake-build/Wrapping/Generators/CastXML/castxml/bin/castxml -o /Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.xml --castxml-gccxml --castxml-start _wrapping_ --castxml-cc-gnu "(" /Applications/Xcode.app/Contents/Developer/usr/bin/g++ ")" -w -c @/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/IsotropicWavelets.castxml.inc /Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:26:63: error: cannot combine with previous 'type-name' declaration specifier

    typedef itk::RieszFrequencyFunction< std::complex< float >float, 2, itk::Point< double,2 > > itkRieszFrequencyFunctionstd::complex< float >F2PD2;

                                                              ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:26:98: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    typedef itk::RieszFrequencyFunction< std::complex< float >float, 2, itk::Point< double,2 > > itkRieszFrequencyFunctionstd::complex< float >F2PD2;
jhlegarreta commented 7 years ago

@phcerdan Thanks for the note ! See whether commit ffea423 solves the issue.

phcerdan commented 7 years ago

@jhlegarreta It seems like missing a parenthesis or something? itkRieszFrequencyFunctionstd::complex< float > You can see this error if you click in the travis Details and go all the way down to click in the raw log. raw log

cd /Users/travis/build/phcerdan/ITKIsotropicWavelets/_skbuild/cmake-build/Wrapping/Modules/IsotropicWavelets && env SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk MACOSX_DEPLOYMENT_TARGET=10.6 /Users/travis/build/phcerdan/ITKIsotropicWavelets/_skbuild/cmake-build/Wrapping/Generators/CastXML/castxml/bin/castxml -o /Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.xml --castxml-gccxml --castxml-start _wrapping_ --castxml-cc-gnu "(" /Applications/Xcode.app/Contents/Developer/usr/bin/g++ ")" -w -c @/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/IsotropicWavelets.castxml.inc /Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:26:92: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    typedef itk::RieszFrequencyFunction< std::complex< float >, 2, itk::Point< float,2 > > itkRieszFrequencyFunctionstd::complex< float >2PF2;

                                                                                           ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:27:101: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    typedef itk::RieszFrequencyFunction< std::complex< float >, 2, itk::Point< float,2 > >::Pointer itkRieszFrequencyFunctionstd::complex< float >2PF2_Pointer;

                                                                                                    ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:29:92: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    typedef itk::RieszFrequencyFunction< std::complex< float >, 3, itk::Point< float,3 > > itkRieszFrequencyFunctionstd::complex< float >3PF3;

                                                                                           ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:30:101: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    typedef itk::RieszFrequencyFunction< std::complex< float >, 3, itk::Point< float,3 > >::Pointer itkRieszFrequencyFunctionstd::complex< float >3PF3_Pointer;

                                                                                                    ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:38:18: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2);

                 ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:38:63: error: expected '(' for function-style cast or type construction

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2);

                                                        ~~~~~ ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:38:65: error: invalid suffix 'PF2' on integer constant

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2);

                                                                ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:39:18: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2_Pointer);

                 ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:39:63: error: expected '(' for function-style cast or type construction

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2_Pointer);

                                                        ~~~~~ ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:39:65: error: invalid suffix 'PF2_Pointer' on integer constant

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >2PF2_Pointer);

                                                                ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:41:18: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3);

                 ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:41:63: error: expected '(' for function-style cast or type construction

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3);

                                                        ~~~~~ ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:41:65: error: invalid suffix 'PF3' on integer constant

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3);

                                                                ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:42:18: error: use of undeclared identifier 'itkRieszFrequencyFunctionstd'

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3_Pointer);

                 ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:42:63: error: expected '(' for function-style cast or type construction

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3_Pointer);

                                                        ~~~~~ ^

/Users/Kitware/Dashboards/ITK/ITKPythonPackage/scripts/../ITK-2.7-macosx_x86_64/Wrapping/itkRieszFrequencyFunction.cxx:42:65: error: invalid suffix 'PF3_Pointer' on integer constant

    (void)sizeof(itkRieszFrequencyFunctionstd::complex< float >3PF3_Pointer);
jhlegarreta commented 7 years ago

@phcerdan Thanks for the pointer. Not sure. I'll check whether the new commit 6394be9 solves the issue (I think I mistyped the mangled type in the first template parameter).

jhlegarreta commented 7 years ago

Either the patch set was successful before the job limit was reached or the the latter was reached before being able to report potential errors related to the wrapping.

phcerdan commented 5 years ago

Base class is not wrapped, closing meanwhile, but referencing it in #56