OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::ContinuousMinimumMaximumImageCalculator< TInputImage > Class Template Reference

#include <otbContinuousMinimumMaximumImageCalculator.h>

+ Inheritance diagram for otb::ContinuousMinimumMaximumImageCalculator< TInputImage >:
+ Collaboration diagram for otb::ContinuousMinimumMaximumImageCalculator< TInputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TInputImage::PointType ContinuousIndexType
 
typedef TInputImage::ConstPointer ImageConstPointer
 
typedef TInputImage::Pointer ImagePointer
 
typedef TInputImage ImageType
 
typedef TInputImage::IndexType IndexType
 
typedef TInputImage::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::NumericTraits< PixelType >::RealType RealPixelType
 
typedef TInputImage::RegionType RegionType
 
typedef ContinuousMinimumMaximumImageCalculator Self
 
typedef itk::Object Superclass
 

Public Member Functions

void Compute (void)
 
void ComputeMaximum (void)
 
void ComputeMinimum (void)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const ContinuousIndexTypeGetContinuousIndexOfMaximum () const
 
virtual const ContinuousIndexTypeGetContinuousIndexOfMinimum () const
 
virtual const IndexTypeGetIndexOfMaximum () const
 
virtual const IndexTypeGetIndexOfMinimum () const
 
virtual PixelType GetMaximum ()
 
virtual PixelType GetMinimum ()
 
virtual const char * GetNameOfClass () const
 
virtual void SetImage (const ImageType *_arg)
 
void SetRegion (const RegionType &region)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ContinuousMinimumMaximumImageCalculator ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~ContinuousMinimumMaximumImageCalculator () override=default
 

Protected Attributes

ImageConstPointer m_ContinuousImage
 
ContinuousIndexType m_ContinuousIndexOfMaximum
 
ContinuousIndexType m_ContinuousIndexOfMinimum
 
ImageConstPointer m_Image
 
IndexType m_IndexOfMaximum
 
IndexType m_IndexOfMinimum
 
PixelType m_Maximum
 
PixelType m_Minimum
 
RegionType m_Region
 
bool m_RegionSetByUser
 

Private Member Functions

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

Detailed Description

template<class TInputImage>
class otb::ContinuousMinimumMaximumImageCalculator< TInputImage >

Compute the continuous maximum and the minimum of an image.

To compute the continuous maximum and the minimum of an image, this class uses a simple polynomial interpolation.

First traditional discrete maximum and minimum are found. Then a second order polynomial is fitted between these extrema and their neighboring pixels.

The continuous extrema is assumed to be at the zero of the first order derivative of this polynom.

If we denote $ (x_0, y_0) $ the extrema and $ (x_{-1}, y_{-1}) $ and $ (x_1, y_1) $ its neighbor, the second degree polynom verify the following equations:

\[ y_{-1} = a*x_{-1}^2 + b*x_{-1} +c y_0 = a*x_0^2 + b*x_0 +c y_1 = a*x_1^2 + b*x_1 +c \]

The maximum is at $ -b/2a $ with is $ -\frac{(y_1-y_{-1})}{(2*(y_{-1}+y_1-2*y_0))} $

Remark: image is assumed to be 2 dimensionnal

Definition at line 65 of file otbContinuousMinimumMaximumImageCalculator.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage >
typedef itk::SmartPointer<const Self> otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ConstPointer

Definition at line 72 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ ContinuousIndexType

template<class TInputImage >
typedef TInputImage::PointType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ContinuousIndexType

Type definition for the input image index type.

Definition at line 99 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ ImageConstPointer

template<class TInputImage >
typedef TInputImage::ConstPointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ImageConstPointer

Const Pointer type for the image.

Definition at line 87 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ ImagePointer

template<class TInputImage >
typedef TInputImage::Pointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ImagePointer

Pointer type for the image.

Definition at line 84 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ ImageType

template<class TInputImage >
typedef TInputImage otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ImageType

Type definition for the input image.

Definition at line 78 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ IndexType

template<class TInputImage >
typedef TInputImage::IndexType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::IndexType

Type definition for the input image index type.

Definition at line 96 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ PixelType

template<class TInputImage >
typedef TInputImage::PixelType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::PixelType

Type definition for the input image pixel type.

Definition at line 90 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ Pointer

template<class TInputImage >
typedef itk::SmartPointer<Self> otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::Pointer

Definition at line 71 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ RealPixelType

template<class TInputImage >
typedef itk::NumericTraits<PixelType>::RealType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::RealPixelType

Type definition for the input image real pixel type.

Definition at line 93 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ RegionType

template<class TInputImage >
typedef TInputImage::RegionType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::RegionType

Type definition for the input image region type.

Definition at line 102 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ Self

Standard class typedefs.

Definition at line 69 of file otbContinuousMinimumMaximumImageCalculator.h.

◆ Superclass

template<class TInputImage >
typedef itk::Object otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::Superclass

Definition at line 70 of file otbContinuousMinimumMaximumImageCalculator.h.

Constructor & Destructor Documentation

◆ ContinuousMinimumMaximumImageCalculator() [1/2]

template<class TInputImage >
otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ContinuousMinimumMaximumImageCalculator
protected

◆ ~ContinuousMinimumMaximumImageCalculator()

template<class TInputImage >
otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::~ContinuousMinimumMaximumImageCalculator ( )
overrideprotecteddefault

◆ ContinuousMinimumMaximumImageCalculator() [2/2]

template<class TInputImage >
otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ContinuousMinimumMaximumImageCalculator ( const Self )
privatedelete

Member Function Documentation

◆ Compute()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::Compute ( void  )

Compute the minimum and maximum values of intensity of the input image.

Definition at line 50 of file otbContinuousMinimumMaximumImageCalculator.hxx.

◆ ComputeMaximum()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ComputeMaximum ( void  )

Compute the maximum value of intensity of the input image.

Definition at line 196 of file otbContinuousMinimumMaximumImageCalculator.hxx.

◆ ComputeMinimum()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::ComputeMinimum ( void  )

Compute the minimum value of intensity of the input image.

Definition at line 142 of file otbContinuousMinimumMaximumImageCalculator.hxx.

◆ CreateAnother()

template<class TInputImage >
virtual::itk::LightObject::Pointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::CreateAnother ( void  ) const

◆ GetContinuousIndexOfMaximum()

template<class TInputImage >
virtual const ContinuousIndexType& otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetContinuousIndexOfMaximum ( ) const
virtual

Return the index of the maximum intensity value.

◆ GetContinuousIndexOfMinimum()

template<class TInputImage >
virtual const ContinuousIndexType& otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetContinuousIndexOfMinimum ( ) const
virtual

Return the index of the minimum intensity value.

◆ GetIndexOfMaximum()

template<class TInputImage >
virtual const IndexType& otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetIndexOfMaximum ( ) const
virtual

Return the index of the maximum intensity value.

◆ GetIndexOfMinimum()

template<class TInputImage >
virtual const IndexType& otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetIndexOfMinimum ( ) const
virtual

Return the index of the minimum intensity value.

◆ GetMaximum()

template<class TInputImage >
virtual PixelType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetMaximum ( )
virtual

Return the maximum intensity value.

◆ GetMinimum()

template<class TInputImage >
virtual PixelType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetMinimum ( )
virtual

Return the minimum intensity value.

◆ GetNameOfClass()

template<class TInputImage >
virtual const char* otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ New()

template<class TInputImage >
static Pointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

◆ SetImage()

template<class TInputImage >
virtual void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::SetImage ( const ImageType _arg)
virtual

Set the input image.

◆ SetRegion()

template<class TInputImage >
void otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::SetRegion ( const RegionType region)

Set the region over which the values will be computed

Definition at line 259 of file otbContinuousMinimumMaximumImageCalculator.hxx.

Member Data Documentation

◆ m_ContinuousImage

template<class TInputImage >
ImageConstPointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_ContinuousImage
protected

◆ m_ContinuousIndexOfMaximum

template<class TInputImage >
ContinuousIndexType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_ContinuousIndexOfMaximum
protected

◆ m_ContinuousIndexOfMinimum

template<class TInputImage >
ContinuousIndexType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_ContinuousIndexOfMinimum
protected

◆ m_Image

template<class TInputImage >
ImageConstPointer otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_Image
protected

◆ m_IndexOfMaximum

template<class TInputImage >
IndexType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_IndexOfMaximum
protected

◆ m_IndexOfMinimum

template<class TInputImage >
IndexType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_IndexOfMinimum
protected

◆ m_Maximum

template<class TInputImage >
PixelType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_Maximum
protected

◆ m_Minimum

template<class TInputImage >
PixelType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_Minimum
protected

◆ m_Region

template<class TInputImage >
RegionType otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_Region
protected

◆ m_RegionSetByUser

template<class TInputImage >
bool otb::ContinuousMinimumMaximumImageCalculator< TInputImage >::m_RegionSetByUser
protected

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