22 #ifndef otbQuaternaryFunctorImageFilter_h
23 #define otbQuaternaryFunctorImageFilter_h
25 #include "itkInPlaceImageFilter.h"
26 #include "itkImageRegionIteratorWithIndex.h"
44 template <
class TInputImage1,
class TInputImage2,
class TInputImage3,
class TInputImage4,
class TOutputImage,
class TFunction>
50 typedef itk::InPlaceImageFilter<TInputImage1, TOutputImage>
Superclass;
84 void SetInput1(
const TInputImage1* image1);
87 void SetInput2(
const TInputImage2* image2);
90 void SetInput3(
const TInputImage3* image3);
93 void SetInput4(
const TInputImage4* image4);
121 if (!(functor == m_Functor))
130 itkStaticConstMacro(Input1ImageDimension,
unsigned int, TInputImage1::ImageDimension);
131 itkStaticConstMacro(Input2ImageDimension,
unsigned int, TInputImage2::ImageDimension);
132 itkStaticConstMacro(Input3ImageDimension,
unsigned int, TInputImage3::ImageDimension);
133 itkStaticConstMacro(Input4ImageDimension,
unsigned int, TInputImage4::ImageDimension);
134 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
145 void BeforeThreadedGenerateData()
override;
157 void DynamicThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread)
override;
168 #ifndef OTB_MANUAL_INSTANTIATION
Implements pixel-wise generic operation of four images.
TInputImage2 Input2ImageType
const FunctorType & GetFunctor() const
OutputImageType::Pointer OutputImagePointer
Input3ImageType::PixelType Input3ImagePixelType
TOutputImage OutputImageType
Input1ImageType::ConstPointer Input1ImagePointer
Input3ImageType::ConstPointer Input3ImagePointer
OutputImageType::RegionType OutputImageRegionType
TInputImage3 Input3ImageType
QuaternaryFunctorImageFilter Self
Input2ImageType::ConstPointer Input2ImagePointer
Input4ImageType::PixelType Input4ImagePixelType
itk::SmartPointer< Self > Pointer
Input4ImageType::RegionType Input4ImageRegionType
TInputImage4 Input4ImageType
void SetFunctor(const FunctorType &functor)
Input4ImageType::ConstPointer Input4ImagePointer
itk::SmartPointer< const Self > ConstPointer
QuaternaryFunctorImageFilter(const Self &)=delete
OutputImageType::PixelType OutputImagePixelType
Input2ImageType::PixelType Input2ImagePixelType
Input3ImageType::RegionType Input3ImageRegionType
~QuaternaryFunctorImageFilter() override
Input1ImageType::PixelType Input1ImagePixelType
Input2ImageType::RegionType Input2ImageRegionType
TInputImage1 Input1ImageType
Input1ImageType::RegionType Input1ImageRegionType
FunctorType & GetFunctor(void)
itk::InPlaceImageFilter< TInputImage1, TOutputImage > Superclass
void operator=(const Self &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.