OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | List of all members
otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction > Class Template Reference

#include <otbBinaryFunctorNeighborhoodImageFilter.h>

+ Inheritance diagram for otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >:
+ Collaboration diagram for otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TFunction FunctorType
 
typedef Input1ImageType::ConstPointer Input1ImageConstPointer
 
typedef Input1ImageType::PixelType Input1ImagePixelType
 
typedef Input1ImageType::Pointer Input1ImagePointer
 
typedef Input1ImageType::RegionType Input1ImageRegionType
 
typedef TInputImage1 Input1ImageType
 
typedef Input2ImageType::ConstPointer Input2ImageConstPointer
 
typedef Input2ImageType::PixelType Input2ImagePixelType
 
typedef Input2ImageType::Pointer Input2ImagePointer
 
typedef Input2ImageType::RegionType Input2ImageRegionType
 
typedef TInputImage2 Input2ImageType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::ProcessObject ProcessObjectType
 
typedef BinaryFunctorNeighborhoodImageFilter Self
 
typedef itk::ImageToImageFilter< TInputImage1, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
void SetInput1 (const TInputImage1 *image1)
 
void SetInput2 (const TInputImage2 *image2)
 

Static Public Member Functions

static Pointer New ()
 
typedef itk::ConstNeighborhoodIterator< TInputImage1 > NeighborhoodIteratorType1
 
typedef itk::ConstNeighborhoodIterator< TInputImage2 > NeighborhoodIteratorType2
 
typedef NeighborhoodIteratorType1::RadiusType RadiusType1
 
typedef NeighborhoodIteratorType2::RadiusType RadiusType2
 
typedef itk::Size< Input1ImageType::ImageDimension > RadiusSizeType
 
RadiusSizeType m_Radius
 
FunctorType m_Functor
 
const TInputImage1 * GetInput1 ()
 
const TInputImage2 * GetInput2 ()
 
FunctorTypeGetFunctor ()
 
void SetFunctor (const FunctorType &functor)
 
virtual void SetRadius (RadiusSizeType _arg)
 
void SetRadius (unsigned int radius)
 
 BinaryFunctorNeighborhoodImageFilter ()
 
 ~BinaryFunctorNeighborhoodImageFilter () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
void GenerateInputRequestedRegion (void) override
 
 BinaryFunctorNeighborhoodImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<class TInputImage1, class TInputImage2, class TOutputImage, class TFunction>
class otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >

Implements neighborhood-wise generic operation of two images.

This class is parameterized over the types of the two input images and the type of the output image. It is also parameterized by the operation to be applied. A Functor style is used.

Definition at line 47 of file otbBinaryFunctorNeighborhoodImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::SmartPointer<const Self> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::ConstPointer

Definition at line 54 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ FunctorType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef TFunction otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::FunctorType

Some convenient typedefs.

Definition at line 60 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input1ImageConstPointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input1ImageType::ConstPointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImageConstPointer

Definition at line 65 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input1ImagePixelType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input1ImageType::PixelType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImagePixelType

Definition at line 68 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input1ImagePointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input1ImageType::Pointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImagePointer

Definition at line 66 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input1ImageRegionType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input1ImageType::RegionType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImageRegionType

Definition at line 67 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input1ImageType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef TInputImage1 otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImageType

Definition at line 64 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input2ImageConstPointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input2ImageType::ConstPointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImageConstPointer

Definition at line 70 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input2ImagePixelType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input2ImageType::PixelType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImagePixelType

Definition at line 73 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input2ImagePointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input2ImageType::Pointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImagePointer

Definition at line 71 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input2ImageRegionType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input2ImageType::RegionType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImageRegionType

Definition at line 72 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Input2ImageType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef TInputImage2 otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImageType

Definition at line 69 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ NeighborhoodIteratorType1

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::ConstNeighborhoodIterator<TInputImage1> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::NeighborhoodIteratorType1

Get the inputs

Definition at line 114 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ NeighborhoodIteratorType2

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::ConstNeighborhoodIterator<TInputImage2> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::NeighborhoodIteratorType2

Get the inputs

Definition at line 115 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ OutputImagePixelType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef OutputImageType::PixelType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImagePixelType

Definition at line 77 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ OutputImagePointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef OutputImageType::Pointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImagePointer

Definition at line 75 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef OutputImageType::RegionType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImageRegionType

Definition at line 76 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ OutputImageType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef TOutputImage otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImageType

Definition at line 74 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Pointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::SmartPointer<Self> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Pointer

Definition at line 53 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ ProcessObjectType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::ProcessObject otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::ProcessObjectType

Definition at line 79 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ RadiusSizeType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::Size<Input1ImageType::ImageDimension> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::RadiusSizeType

Get the inputs

Definition at line 120 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ RadiusType1

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef NeighborhoodIteratorType1::RadiusType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::RadiusType1

Get the inputs

Definition at line 117 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ RadiusType2

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef NeighborhoodIteratorType2::RadiusType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::RadiusType2

Get the inputs

Definition at line 118 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Self

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef BinaryFunctorNeighborhoodImageFilter otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Self

Standard class typedefs.

Definition at line 51 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ Superclass

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::ImageToImageFilter<TInputImage1, TOutputImage> otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Superclass

Definition at line 52 of file otbBinaryFunctorNeighborhoodImageFilter.h.

Constructor & Destructor Documentation

◆ BinaryFunctorNeighborhoodImageFilter() [1/2]

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::BinaryFunctorNeighborhoodImageFilter
protected

Constructor

Definition at line 36 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ ~BinaryFunctorNeighborhoodImageFilter()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::~BinaryFunctorNeighborhoodImageFilter ( )
inlineoverrideprotected

Get the inputs

Definition at line 132 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ BinaryFunctorNeighborhoodImageFilter() [2/2]

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::BinaryFunctorNeighborhoodImageFilter ( const Self )
privatedelete

Get the inputs

Member Function Documentation

◆ CreateAnother()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
virtual::itk::LightObject::Pointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::CreateAnother ( void  ) const

◆ GenerateInputRequestedRegion()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::GenerateInputRequestedRegion ( void  )
overrideprotected

Pad the inputs requested regions by radius

Definition at line 84 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ GetFunctor()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
FunctorType& otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::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 96 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ GetInput1()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
const TInputImage1 * otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::GetInput1

Get the inputs

Definition at line 64 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ GetInput2()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
const TInputImage2 * otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::GetInput2

Get the inputs

Definition at line 74 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ GetNameOfClass()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
virtual const char* otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ New()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
static Pointer otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::operator= ( const Self )
privatedelete

Get the inputs

◆ SetFunctor()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetFunctor ( const 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 107 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ SetInput1()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetInput1 ( const TInputImage1 *  image1)

Connect one of the operands for pixel-wise addition

Connect one of the operands for neighborhood-wise operation

Definition at line 47 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ SetInput2()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetInput2 ( const TInputImage2 *  image2)

Connect one of the operands for pixel-wise addition

Connect one of the operands for neighborhood-wise operation

Definition at line 57 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

◆ SetRadius() [1/2]

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
virtual void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetRadius ( RadiusSizeType  _arg)
virtual

Get the inputs

◆ SetRadius() [2/2]

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetRadius ( unsigned int  radius)
inline

Set unsigned int radius

Definition at line 125 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ ThreadedGenerateData()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
overrideprotected

BinaryFunctorNeighborhoodImageFilter can be implemented as a multithreaded 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()

ThreadedGenerateData Performs the neighborhood-wise operation

Definition at line 157 of file otbBinaryFunctorNeighborhoodImageFilter.hxx.

Member Data Documentation

◆ m_Functor

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
FunctorType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::m_Functor
private

Get the inputs

Definition at line 159 of file otbBinaryFunctorNeighborhoodImageFilter.h.

◆ m_Radius

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
RadiusSizeType otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::m_Radius
protected

Get the inputs

Definition at line 153 of file otbBinaryFunctorNeighborhoodImageFilter.h.


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