13 #ifndef __itkMultiOutputNaryFunctorImageFilter_h 14 #define __itkMultiOutputNaryFunctorImageFilter_h 16 #include "itkImageToImageFilter.h" 17 #include "itkImageIterator.h" 41 template<
class TInputImage,
class TOutputImage,
class TFunction,
class TMaskImage = ::itk::Image<
unsigned char, TInputImage::ImageDimension> >
43 public ImageToImageFilter< TInputImage, TOutputImage >
49 typedef ImageToImageFilter< TInputImage, TOutputImage >
Superclass;
88 if ( m_Functor != functor )
91 this->ActualizeOutputs();
96 itkSetObjectMacro(Mask, MaskImageType);
97 itkGetConstObjectMacro(Mask, MaskImageType);
101 InputImageDimension,
unsigned int, TInputImage::ImageDimension);
103 OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
105 #ifdef ITK_USE_CONCEPT_CHECKING 107 itkConceptMacro( SameDimensionCheck,
108 ( Concept::SameDimension< InputImageDimension, OutputImageDimension > ) );
109 itkConceptMacro( OutputHasZeroCheck,
110 ( Concept::HasZero< OutputImagePixelType > ) );
127 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
128 ThreadIdType threadId)
override;
131 void ActualizeOutputs();
135 void operator=(
const Self &);
137 FunctorType m_Functor;
138 MaskImagePointer m_Mask;
142 #ifndef ITK_MANUAL_INSTANTIATION TOutputImage OutputImageType
OutputImageType::Pointer OutputImagePointer
OutputImageType::RegionType OutputImageRegionType
MultiOutputNaryFunctorImageFilter Self
SmartPointer< Self > Pointer
void SetFunctor(FunctorType &functor)
Perform a generic pixel-wise operation on N images and produces m output images.
SmartPointer< const Self > ConstPointer
InputImageType::PixelType InputImagePixelType
InputImageType::Pointer InputImagePointer
FunctorType::OutputPixelArrayType NaryOutputArrayType
MaskImageType::Pointer MaskImagePointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
FunctorType & GetFunctor()
TInputImage InputImageType
OutputImageType::PixelType OutputImagePixelType
~MultiOutputNaryFunctorImageFilter() override
FunctorType::InputPixelArrayType NaryInputArrayType
InputImageType::RegionType InputImageRegionType
MaskImageType::RegionType MaskImageRegionType