[Insight-users] NaryFunctorImageFilter Bug?

Luis Ibanez luis.ibanez at kitware.com
Wed, 25 Feb 2004 11:42:15 -0500


Hi Sah,


Thanks for pointing this out.

This is actually a bug / design overlook.

The simple solution in your case is to use
the


      itkTernaryFunctorImageFilter


which actually invokes the Functor with
three arguments.


As far as the itkNaryFunctorImageFitler is
concerned we should probably make the signature
of the functor to expect a FixedArray<> or an
Array<> as input so we can pass arbitrary numbers
of parameters to the functor.

This issue has been entered in the Bug database
as Bug #628.

http://www.itk.org/Bug/bug.php?op=show&bugid=628&pos=14



Please let us know if you have further questions.


Thanks


    Luis



----------------------
Sah Rayman wrote:

> Seems I have trouble make NaryFunctorImageFilter
> working on 3 or more inputs.
> 
> ------------- Here are the code ---------------
> 
>     typedef int PixelType;
>     typedef itk::Image< PixelType, 3> ImageType;
> 
>     class TestFunctor3 {
>     public:
>         inline PixelType operator() (const PixelType
> &in1, 
>             const PixelType &in2,
>             const PixelType &in3) {
>                 
>                 return 1;
>             }
> 
>     };
> 
>     class TestFunctor2 {
>     public:
>         inline PixelType operator() (const PixelType
> &in1, 
>             const PixelType &in2) {
>                 
>                 return 1;
>             }
> 
>     };
> 
> 
>     typedef itk::NaryFunctorImageFilter< ImageType,
> ImageType, TestFunctor2> 
>         TestFilterType;
> 
>     TestFilterType::Pointer myFilter;
> ------------- End of the code ---------------
> 
> Above code compiles fine. 
> But if we replace 
> typedef itk::NaryFunctorImageFilter< ImageType,
> ImageType, TestFunctor2> 
>         TestFilterType;
> with 
> typedef itk::NaryFunctorImageFilter< ImageType,
> ImageType, TestFunctor3> 
>         TestFilterType;
> 
> the compiler will complain:
> InsightToolkit-1.6.0\Code\BasicFilters\itkNaryFunctorImageFilter.txx(81)
> : error C2064: term does not evaluate to a function
> taking 2 arguments
> 
> Can someone confirm this is a bug or let me know if I
> did something incorrect?
> 
> Thanks!
> 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail SpamGuard - Read only the mail you want.
> http://antispam.yahoo.com/tools
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>