[Insight-developers] Compile error with UsePhysicalSpace in BinaryFunctorImageFilter

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Tue May 31 16:25:31 EDT 2011


Hi Kent,

I get a compilation error in WrapITK with your recent changes in  
BinaryFunctorImageFilter and complex pixel types - see the error at  
the end of the message.
I'm not so sure, but I think the problem comes from the lack of  
casting from the output type of the interpolator to the pixel type of  
the second input. Or maybe the output of the interpolator is not of  
the right type?
BTW, is it possible to make the interpolator work with any kind of  
pixel? The interpolator may do some assumptions on the pixel types  
which are not done in BinaryFunctorImageFilter...

Regards,

Gaëtan



In file included from /home/glehmann/src/ITK/Modules/Filtering/ 
ImageFilterBase/include/itkBinaryFunctorImageFilter.h:267,
                  from /home/glehmann/src/ITK/Modules/Filtering/ 
ImageCompare/include/itkAbsoluteValueDifferenceImageFilter.h:22,
                  from /home/glehmann/src/ITK/build/Wrapping/WrapITK/ 
Typedefs/PixelMathExplicit.h:38,
                  from /home/glehmann/src/ITK/build/Wrapping/WrapITK/ 
Libraries/PixelMath/itkMultiplyImageFilterExplicit.cxx:3:
/home/glehmann/src/ITK/Modules/Filtering/ImageFilterBase/include/ 
itkBinaryFunctorImageFilter.txx: In member function 'void  
itk::BinaryFunctorImageFilter<TInputImage1, TInputImage2,  
TOutputImage, TFunction>::ThreadedGenerateData(const typename  
TOutputImage::RegionType&, int) [with TInputImage1 =  
itk::Image<std::complex<float>, 3u>, TInputImage2 =  
itk::Image<std::complex<float>, 3u>, TOutputImage =  
itk::Image<std::complex<float>, 3u>, TFunction =  
itk::Functor::Mult<std::complex<float>, std::complex<float>,  
std::complex<float> >]':
/home/glehmann/src/ITK/build/Wrapping/WrapITK/Libraries/PixelMath/ 
itkMultiplyImageFilterExplicit.cxx:21:   instantiated from here
/home/glehmann/src/ITK/Modules/Filtering/ImageFilterBase/include/ 
itkBinaryFunctorImageFilter.txx:302: error: no match for call to  
'(itk::Functor::Mult<std::complex<float>, std::complex<float>,  
std::complex<float> >) (std::complex<float>, std::complex<double>&)'
/home/glehmann/src/ITK/Modules/Filtering/ImageIntensity/include/ 
itkMultiplyImageFilter.h:58: note: candidates are: TOutput  
itk::Functor::Mult<TInput1, TInput2, TOutput>::operator()(const  
TInput1&, const TInput2&) const [with TInput1 = std::complex<float>,  
TInput2 = std::complex<float>, TOutput = std::complex<float>]
/home/glehmann/src/ITK/Modules/Filtering/ImageFilterBase/include/ 
itkBinaryFunctorImageFilter.txx: In member function 'void  
itk::BinaryFunctorImageFilter<TInputImage1, TInputImage2,  
TOutputImage, TFunction>::ThreadedGenerateData(const typename  
TOutputImage::RegionType&, int) [with TInputImage1 =  
itk::Image<std::complex<float>, 2u>, TInputImage2 =  
itk::Image<std::complex<float>, 2u>, TOutputImage =  
itk::Image<std::complex<float>, 2u>, TFunction =  
itk::Functor::Mult<std::complex<float>, std::complex<float>,  
std::complex<float> >]':
/home/glehmann/src/ITK/build/Wrapping/WrapITK/Libraries/PixelMath/ 
itkMultiplyImageFilterExplicit.cxx:21:   instantiated from here
/home/glehmann/src/ITK/Modules/Filtering/ImageFilterBase/include/ 
itkBinaryFunctorImageFilter.txx:302: error: no match for call to  
'(itk::Functor::Mult<std::complex<float>, std::complex<float>,  
std::complex<float> >) (std::complex<float>, std::complex<double>&)'
/home/glehmann/src/ITK/Modules/Filtering/ImageIntensity/include/ 
itkMultiplyImageFilter.h:58: note: candidates are: TOutput  
itk::Functor::Mult<TInput1, TInput2, TOutput>::operator()(const  
TInput1&, const TInput2&) const [with TInput1 = std::complex<float>,  
TInput2 = std::complex<float>, TOutput = std::complex<float>]
make[2]: *** [Wrapping/WrapITK/Libraries/PixelMath/CMakeFiles/ 
PixelMathExplicit.dir/itkMultiplyImageFilterExplicit.cxx.o] Error 1
make[1]: *** [Wrapping/WrapITK/Libraries/PixelMath/CMakeFiles/ 
PixelMathExplicit.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....



-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr  http://www.itk.org
http://www.mandriva.org  http://www.bepo.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 203 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110531/367d5397/attachment.pgp>


More information about the Insight-developers mailing list