Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage > Class Template Reference

Perform a generic pixel-wise operation on N images and produces m output images. More...

#include <itkMultiOutputNaryFunctorImageFilter.h>

Inheritance diagram for itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >:
Collaboration diagram for itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >:

Public Types

typedef MultiOutputNaryFunctorImageFilter Self
 
typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TFunction FunctorType
 
typedef TInputImage InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef FunctorType::InputPixelArrayType NaryInputArrayType
 
typedef FunctorType::OutputPixelArrayType NaryOutputArrayType
 
typedef TMaskImage MaskImageType
 
typedef MaskImageType::Pointer MaskImagePointer
 
typedef MaskImageType::RegionType MaskImageRegionType
 

Public Member Functions

virtual const char * GetClassName () const
 
FunctorTypeGetFunctor ()
 
void SetFunctor (FunctorType &functor)
 
virtual void SetMask (MaskImageType *_arg)
 
virtual const MaskImageTypeGetMask ()
 
 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
 
 itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 MultiOutputNaryFunctorImageFilter ()
 
 ~MultiOutputNaryFunctorImageFilter () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
void ActualizeOutputs ()
 

Detailed Description

template<class TInputImage, class TOutputImage, class TFunction, class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
class itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >

Perform a generic pixel-wise operation on N images and produces m output images.

This is an extension of the itk::NaryFunctorImageFilter. It assumes that the functor returns not only one result pixel value but a vector of m values an therefore generates m output images. In addition (and difference to itk::NaryFunctorImageFilter) it also passes the index of the current value vector to the functor (for space correlated evaluations).
Class is templated over the types of the input images and the type of the output images. It is also templated by the operation to be applied. A Functor style is used to represent the function.
All the input images must be of the same type.

Definition at line 42 of file itkMultiOutputNaryFunctorImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef SmartPointer< const Self > itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::ConstPointer

Definition at line 51 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ FunctorType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef TFunction itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::FunctorType

Some typedefs.

Definition at line 56 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ InputImagePixelType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef InputImageType::PixelType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::InputImagePixelType

Definition at line 63 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ InputImagePointer

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef InputImageType::Pointer itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::InputImagePointer

Definition at line 61 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef InputImageType::RegionType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::InputImageRegionType

Definition at line 62 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef TInputImage itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::InputImageType

Definition at line 60 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ MaskImagePointer

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef MaskImageType::Pointer itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::MaskImagePointer

Definition at line 71 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ MaskImageRegionType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef MaskImageType::RegionType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::MaskImageRegionType

Definition at line 72 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ MaskImageType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef TMaskImage itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::MaskImageType

Definition at line 70 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ NaryInputArrayType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef FunctorType::InputPixelArrayType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::NaryInputArrayType

Definition at line 68 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ NaryOutputArrayType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef FunctorType::OutputPixelArrayType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::NaryOutputArrayType

Definition at line 69 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ OutputImagePixelType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef OutputImageType::PixelType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::OutputImagePixelType

Definition at line 67 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ OutputImagePointer

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef OutputImageType::Pointer itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::OutputImagePointer

Definition at line 65 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef OutputImageType::RegionType itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::OutputImageRegionType

Definition at line 66 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef TOutputImage itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::OutputImageType

Definition at line 64 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef SmartPointer< Self > itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::Pointer

Definition at line 50 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef MultiOutputNaryFunctorImageFilter itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::Self

Standard class typedefs.

Definition at line 48 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::Superclass

Definition at line 49 of file itkMultiOutputNaryFunctorImageFilter.h.

Constructor & Destructor Documentation

◆ MultiOutputNaryFunctorImageFilter()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::MultiOutputNaryFunctorImageFilter ( )
protected

◆ ~MultiOutputNaryFunctorImageFilter()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::~MultiOutputNaryFunctorImageFilter ( )
inlineoverrideprotected

Definition at line 115 of file itkMultiOutputNaryFunctorImageFilter.h.

Member Function Documentation

◆ ActualizeOutputs()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
void itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::ActualizeOutputs ( )
protected

Methods actualize the output settings of the filter according to the current functor

◆ GetClassName()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
virtual const char* itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetFunctor()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
FunctorType& itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::GetFunctor ( )
inline

Get the functor object. The functor is returned by reference. (Functors do not have to derive from itk::LightObject, so they do not necessarily have a reference count. So we cannot return a SmartPointer).

Definition at line 78 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ GetMask()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
virtual const MaskImageType* itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::GetMask ( )
virtual

◆ itkStaticConstMacro() [1/2]

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::itkStaticConstMacro ( InputImageDimension  ,
unsigned int  ,
TInputImage::ImageDimension   
)

ImageDimension constants

◆ itkStaticConstMacro() [2/2]

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned int  ,
TOutputImage::ImageDimension   
)

◆ New()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
static Pointer itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::New ( )
static

Method for creation through the object factory.

◆ SetFunctor()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
void itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::SetFunctor ( FunctorType functor)
inline

Set the functor object. This replaces the current Functor with a copy of the specified Functor. This allows the user to specify a functor that has ivars set differently than the default functor. This method requires an operator!=() be defined on the functor (or the compiler's default implementation of operator!=() being appropriate).

Definition at line 86 of file itkMultiOutputNaryFunctorImageFilter.h.

◆ SetMask()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
virtual void itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::SetMask ( MaskImageType _arg)
virtual

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputImage , class TFunction , class TMaskImage = ::itk::Image<unsigned char, TInputImage::ImageDimension>>
void itk::MultiOutputNaryFunctorImageFilter< TInputImage, TOutputImage, TFunction, TMaskImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotected

MultiOutputNaryFunctorImageFilter can be implemented as a multi threaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

The documentation for this class was generated from the following file: