17 #ifndef __itkTernaryFunctorImageFilter_txx
18 #define __itkTernaryFunctorImageFilter_txx
31 template <
class TInputImage1,
class TInputImage2,
32 class TInputImage3,
class TOutputImage,
class TFunction >
42 template <
class TInputImage1,
class TInputImage2,
43 class TInputImage3,
class TOutputImage,
class TFunction >
49 this->SetNthInput( 0, const_cast<TInputImage1 *>( image1 ) );
55 template <
class TInputImage1,
class TInputImage2,
56 class TInputImage3,
class TOutputImage,
class TFunction >
62 this->SetNthInput( 1, const_cast<TInputImage2 *>( image2 ) );
68 template <
class TInputImage1,
class TInputImage2,
69 class TInputImage3,
class TOutputImage,
class TFunction >
75 this->SetNthInput( 2, const_cast<TInputImage3 *>( image3 ) );
81 template <
class TInputImage1,
class TInputImage2,
82 class TInputImage3,
class TOutputImage,
class TFunction >
93 if (inputPtr1.IsNull() || inputPtr2.IsNull() || inputPtr3.IsNull())
95 itkExceptionMacro(<<
"At least one input is missing."
96 <<
" Input1 is " << inputPtr1.GetPointer() <<
", "
97 <<
" Input2 is " << inputPtr2.GetPointer() <<
", "
98 <<
" Input3 is " << inputPtr3.GetPointer());
105 template <
class TInputImage1,
class TInputImage2,
106 class TInputImage3,
class TOutputImage,
class TFunction >
128 ProgressReporter progress(
this, threadId, outputRegionForThread.GetNumberOfPixels());
138 outputIt.
Set( m_Functor(inputIt1.
Get(), inputIt2.
Get(), inputIt3.
Get() ) );
143 progress.CompletedPixel();