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

#include <otbBinaryFunctorNeighborhoodVectorImageFilter.h>

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

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TFunction FunctorType
 
typedef Input1ImageType::PixelType Input1ImagePixelType
 
typedef Input1ImageType::ConstPointer Input1ImagePointer
 
typedef Input1ImageType::RegionType Input1ImageRegionType
 
typedef TInputImage1 Input1ImageType
 
typedef Input2ImageType::PixelType Input2ImagePixelType
 
typedef Input2ImageType::ConstPointer 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 BinaryFunctorNeighborhoodVectorImageFilter Self
 
typedef itk::InPlaceImageFilter< TInputImage1, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
FunctorTypeGetFunctor ()
 
virtual const char * GetNameOfClass () const
 
void SetInput1 (const TInputImage1 *image1)
 
void SetInput2 (const TInputImage2 *image2)
 
void SetRadius (const unsigned char &min, const unsigned char &max)
 

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 unsigned char RadiusSizeType
 
RadiusSizeType m_Radius
 
FunctorType m_Functor
 
void SetFunctor (const FunctorType &functor)
 
virtual void SetRadius (RadiusSizeType _arg)
 
 BinaryFunctorNeighborhoodVectorImageFilter ()
 
 ~BinaryFunctorNeighborhoodVectorImageFilter () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
void GenerateOutputInformation (void) override
 
 BinaryFunctorNeighborhoodVectorImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

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

Implements neighborhood-wise generic operation of two images being vector 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 42 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

◆ FunctorType

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

Some convenient typedefs.

Definition at line 55 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ Input1ImagePixelType

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

◆ Input1ImagePointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input1ImageType::ConstPointer otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImagePointer

◆ Input1ImageRegionType

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

◆ Input1ImageType

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

◆ Input2ImagePixelType

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

◆ Input2ImagePointer

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef Input2ImageType::ConstPointer otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImagePointer

◆ Input2ImageRegionType

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

◆ Input2ImageType

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

◆ NeighborhoodIteratorType1

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

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 otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ NeighborhoodIteratorType2

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

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 108 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ OutputImagePixelType

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

◆ OutputImagePointer

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

◆ OutputImageRegionType

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

◆ OutputImageType

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

◆ Pointer

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

◆ ProcessObjectType

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

◆ RadiusSizeType

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef unsigned char otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::RadiusSizeType

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 113 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ RadiusType1

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

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 110 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ RadiusType2

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

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 111 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ Self

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

Standard class typedefs.

Definition at line 46 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ Superclass

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
typedef itk::InPlaceImageFilter<TInputImage1, TOutputImage> otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Superclass

Constructor & Destructor Documentation

◆ BinaryFunctorNeighborhoodVectorImageFilter() [1/2]

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

Constructor

Definition at line 36 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

◆ ~BinaryFunctorNeighborhoodVectorImageFilter()

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

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 119 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ BinaryFunctorNeighborhoodVectorImageFilter() [2/2]

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

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).

Member Function Documentation

◆ CreateAnother()

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

◆ GenerateOutputInformation()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::GenerateOutputInformation ( void  )
overrideprotected

Since the number of components per pixel depends on the radius range, one must reimplement this method to set the proper number of component on the filter output.

Generate the output information

Definition at line 80 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

◆ GetFunctor()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
FunctorType& otb::BinaryFunctorNeighborhoodVectorImageFilter< 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 89 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ GetNameOfClass()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
virtual const char* otb::BinaryFunctorNeighborhoodVectorImageFilter< 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::BinaryFunctorNeighborhoodVectorImageFilter< 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::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::operator= ( const Self )
privatedelete

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).

◆ SetFunctor()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodVectorImageFilter< 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 100 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ SetInput1()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodVectorImageFilter< 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 48 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

◆ SetInput2()

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodVectorImageFilter< 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 58 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

◆ SetRadius() [1/2]

template<class TInputImage1 , class TInputImage2 , class TOutputImage , class TFunction >
void otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::SetRadius ( const unsigned char &  min,
const unsigned char &  max 
)

Connect the set of radius. In fact, Self keeps the larger size only to define neighborhood parameters, and gives the min and max radius to the functor.

Connect the interval of radius

Definition at line 68 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

◆ SetRadius() [2/2]

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

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).

◆ ThreadedGenerateData()

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

BinaryFunctorNeighborhoodVectorImageFilter 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 93 of file otbBinaryFunctorNeighborhoodVectorImageFilter.hxx.

Member Data Documentation

◆ m_Functor

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

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 147 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.

◆ m_Radius

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

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 141 of file otbBinaryFunctorNeighborhoodVectorImageFilter.h.


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