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

#include <otbKullbackLeiblerSupervizedDistanceImageFilter.h>

+ Inheritance diagram for otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >:
+ Collaboration diagram for otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TInputImage1::PixelType MeasurementType1
 
typedef TInputImage2::PixelType MeasurementType2
 
typedef itk::SmartPointer< SelfPointer
 
typedef KullbackLeiblerSupervizedDistanceImageFilter Self
 
typedef otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< typename itk::ConstNeighborhoodIterator< TInputImage1 >, typename itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, typename TOutputImage::PixelType > > Superclass
 
typedef std::vector< MeasurementType1TrainingMeasureType1
 
typedef std::vector< MeasurementType2TrainingMeasureType2
 
- Public Types inherited from otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > 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
 
typedef itk::ConstNeighborhoodIterator< TInputImage1 > NeighborhoodIteratorType1
 
typedef itk::ConstNeighborhoodIterator< TInputImage2 > NeighborhoodIteratorType2
 
typedef NeighborhoodIteratorType1::RadiusType RadiusType1
 
typedef NeighborhoodIteratorType2::RadiusType RadiusType2
 
typedef itk::Size< Input1ImageType::ImageDimension > RadiusSizeType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
void SetTrainingArea (const TInputROIImage *trainingImage)
 
- Public Member Functions inherited from otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
void SetInput1 (const TInputImage1 *image1)
 
void SetInput2 (const TInputImage2 *image2)
 
const TInputImage1 * GetInput1 ()
 
const TInputImage2 * GetInput2 ()
 
FunctorTypeGetFunctor ()
 
void SetFunctor (const FunctorType &functor)
 
virtual void SetRadius (RadiusSizeType _arg)
 
void SetRadius (unsigned int radius)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > >
static Pointer New ()
 

Protected Member Functions

void BeforeThreadedGenerateData (void) override
 
 KullbackLeiblerSupervizedDistanceImageFilter ()
 
 ~KullbackLeiblerSupervizedDistanceImageFilter () override
 
- Protected Member Functions inherited from otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > >
 BinaryFunctorNeighborhoodImageFilter ()
 
 ~BinaryFunctorNeighborhoodImageFilter () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
void GenerateInputRequestedRegion (void) override
 

Private Member Functions

 KullbackLeiblerSupervizedDistanceImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Additional Inherited Members

- Protected Attributes inherited from otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, TOutputImage::PixelType > >
RadiusSizeType m_Radius
 

Detailed Description

template<class TInputImage1, class TInputImage2, class TInputROIImage, class TOutputImage>
class otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >

Implements KullbackLeibler distance over Edgeworth approximation, between a Neighborhood and a predefined Region of Interest.

This filter is parametrized over the types of the two input images and the type of the output image.

Numeric conversions (castings) are done by the C++ defaults.

The filter will walk over all the pixels in the two input images, and for each one of them it will do the following:

The filter expect all images to have the same dimension (e.g. all 2D, or all 3D, or all ND)

See article of Lin Saito et Levine "Edgeworth Approximation of the Kullback-Leibler Distance Towards Problems in Image Analysis" and "Edgeworth Expansions of the Kullback-Leibler Information" (submitted to JASA, nov 25, 1999) http://www.math.ucdavis.edu/~saito/publications

See also
CumulantsForEdgeworth

Definition at line 106 of file otbKullbackLeiblerSupervizedDistanceImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

◆ MeasurementType1

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef TInputImage1::PixelType otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::MeasurementType1

Vectors that hold the training area

Definition at line 124 of file otbKullbackLeiblerSupervizedDistanceImageFilter.h.

◆ MeasurementType2

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef TInputImage2::PixelType otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::MeasurementType2

◆ Pointer

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef itk::SmartPointer<Self> otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::Pointer

◆ Self

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef KullbackLeiblerSupervizedDistanceImageFilter otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 114 of file otbKullbackLeiblerSupervizedDistanceImageFilter.h.

◆ Superclass

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance<typename itk::ConstNeighborhoodIterator<TInputImage1>, typename itk::ConstNeighborhoodIterator<TInputImage2>, TInputROIImage, typename TOutputImage::PixelType> > otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::Superclass

◆ TrainingMeasureType1

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef std::vector<MeasurementType1> otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::TrainingMeasureType1

◆ TrainingMeasureType2

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
typedef std::vector<MeasurementType2> otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::TrainingMeasureType2

Constructor & Destructor Documentation

◆ KullbackLeiblerSupervizedDistanceImageFilter() [1/2]

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::KullbackLeiblerSupervizedDistanceImageFilter ( )
inlineprotected

◆ ~KullbackLeiblerSupervizedDistanceImageFilter()

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::~KullbackLeiblerSupervizedDistanceImageFilter ( )
inlineoverrideprotected

◆ KullbackLeiblerSupervizedDistanceImageFilter() [2/2]

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::KullbackLeiblerSupervizedDistanceImageFilter ( const Self )
privatedelete

Member Function Documentation

◆ BeforeThreadedGenerateData()

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
void otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::BeforeThreadedGenerateData ( void  )
overrideprotected

◆ CreateAnother()

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

◆ New()

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
static Pointer otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ operator=()

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

◆ SetTrainingArea()

template<class TInputImage1 , class TInputImage2 , class TInputROIImage , class TOutputImage >
void otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::SetTrainingArea ( const TInputROIImage *  trainingImage)

Method for creation of the training area and the computation of some reference cumulants

Connect the training area to build the reference pdfs, with parameters to be hold by Functor::KullbackLeiblerSupervizedDistance.

Images 1 & 2 are supposed to be already connected.

Definition at line 117 of file otbKullbackLeiblerSupervizedDistanceImageFilter.hxx.


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