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

#include <otbHarrisImageFilter.h>

+ Inheritance diagram for otb::HarrisImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for otb::HarrisImageFilter< TInputImage, TOutputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::RecursiveGaussianImageFilter< TensorType, TensorTypeGaussianFilterType
 
typedef itk::HessianRecursiveGaussianImageFilter< InputImageType, TensorTypeHessianFilterType
 
typedef otb::HessianToScalarImageFilter< TensorType, OutputImageTypeHessianToScalarFilterType
 
typedef TInputImage InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef otb::MultiplyByScalarImageFilter< OutputImageType, OutputImageTypeMultiplyScalarFilterType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef HarrisImageFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef itk::ImageToImageFilter< InputImageType, OutputImageTypeSuperclass
 
typedef itk::Image< itk::SymmetricSecondRankTensor< typename itk::NumericTraits< InputPixelType >::RealType, InputImageDimension >, InputImageDimensionTensorType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const double & GetAlpha () const
 
virtual const char * GetNameOfClass () const
 
virtual const double & GetSigmaD () const
 
virtual const double & GetSigmaI () const
 
virtual void SetAlpha (double _arg)
 
virtual void SetSigmaD (double _arg)
 
virtual void SetSigmaI (double _arg)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

void GenerateData () override
 
 HarrisImageFilter ()
 
 ~HarrisImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Private Member Functions

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

Private Attributes

double m_Alpha
 
GaussianFilterType::Pointer m_GaussianFilter0
 
GaussianFilterType::Pointer m_GaussianFilter1
 
HessianFilterType::Pointer m_HessianFilter
 
HessianToScalarFilterType::Pointer m_HessianToScalarFilter
 
MultiplyScalarFilterType::Pointer m_MultiplyScalarFilter
 
double m_SigmaD
 
double m_SigmaI
 

Detailed Description

template<class TInputImage, class TOutputImage>
class otb::HarrisImageFilter< TInputImage, TOutputImage >

This filter performs the computation of the Harris measure as followed.

The derivative computation is performed by a convolution with the derivative of a Gaussian kernel of variance $\sigma_D$ (derivation scale) and the smoothing of the image is performed by convolving with a Gaussian kernel of variance $\sigma_I$ (integration scale). This allows the computation of the following matrix:

\[ \mu(\mathbf{x},\sigma_I,\sigma_D) = \sigma_D^2 g(\sigma_I)\star \left[\begin{array}{cc} L_x^2(\mathbf{x},\sigma_D) & L_xL_y^2(\mathbf{x},\sigma_D)\\ L_xL_y^2(\mathbf{x},\sigma_D)& L_y^2(\mathbf{x},\sigma_D) \end{array}\right] \]

The output of the detector is $[det(\mu) - \alpha trace^2(\mu)$.

The interest points can then be extracted with a thresholding filter.

Definition at line 56 of file otbHarrisImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<const Self> otb::HarrisImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 68 of file otbHarrisImageFilter.h.

◆ GaussianFilterType

template<class TInputImage , class TOutputImage >
typedef itk::RecursiveGaussianImageFilter<TensorType, TensorType> otb::HarrisImageFilter< TInputImage, TOutputImage >::GaussianFilterType

Definition at line 86 of file otbHarrisImageFilter.h.

◆ HessianFilterType

template<class TInputImage , class TOutputImage >
typedef itk::HessianRecursiveGaussianImageFilter<InputImageType, TensorType> otb::HarrisImageFilter< TInputImage, TOutputImage >::HessianFilterType

Definition at line 84 of file otbHarrisImageFilter.h.

◆ HessianToScalarFilterType

template<class TInputImage , class TOutputImage >
typedef otb::HessianToScalarImageFilter<TensorType, OutputImageType> otb::HarrisImageFilter< TInputImage, TOutputImage >::HessianToScalarFilterType

Definition at line 87 of file otbHarrisImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage >
typedef TInputImage otb::HarrisImageFilter< TInputImage, TOutputImage >::InputImageType

Definition at line 62 of file otbHarrisImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType otb::HarrisImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 72 of file otbHarrisImageFilter.h.

◆ MultiplyScalarFilterType

template<class TInputImage , class TOutputImage >
typedef otb::MultiplyByScalarImageFilter<OutputImageType, OutputImageType> otb::HarrisImageFilter< TInputImage, TOutputImage >::MultiplyScalarFilterType

Definition at line 88 of file otbHarrisImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage >
typedef TOutputImage otb::HarrisImageFilter< TInputImage, TOutputImage >::OutputImageType

Definition at line 63 of file otbHarrisImageFilter.h.

◆ OutputPixelType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType otb::HarrisImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 77 of file otbHarrisImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<Self> otb::HarrisImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 67 of file otbHarrisImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage >
typedef HarrisImageFilter otb::HarrisImageFilter< TInputImage, TOutputImage >::Self

Definition at line 65 of file otbHarrisImageFilter.h.

◆ SizeType

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType otb::HarrisImageFilter< TInputImage, TOutputImage >::SizeType

Definition at line 75 of file otbHarrisImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage >
typedef itk::ImageToImageFilter<InputImageType, OutputImageType> otb::HarrisImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 66 of file otbHarrisImageFilter.h.

◆ TensorType

template<class TInputImage , class TOutputImage >
typedef itk::Image<itk::SymmetricSecondRankTensor<typename itk::NumericTraits<InputPixelType>::RealType, InputImageDimension>, InputImageDimension> otb::HarrisImageFilter< TInputImage, TOutputImage >::TensorType

Definition at line 82 of file otbHarrisImageFilter.h.

Constructor & Destructor Documentation

◆ HarrisImageFilter() [1/2]

template<class TInputImage , class TOutputImage >
otb::HarrisImageFilter< TInputImage, TOutputImage >::HarrisImageFilter
protected

Definition at line 33 of file otbHarrisImageFilter.hxx.

◆ ~HarrisImageFilter()

template<class TInputImage , class TOutputImage >
otb::HarrisImageFilter< TInputImage, TOutputImage >::~HarrisImageFilter ( )
inlineoverrideprotected

Definition at line 99 of file otbHarrisImageFilter.h.

◆ HarrisImageFilter() [2/2]

template<class TInputImage , class TOutputImage >
otb::HarrisImageFilter< TInputImage, TOutputImage >::HarrisImageFilter ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

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

◆ GenerateData()

template<class TInputImage , class TOutputImage >
void otb::HarrisImageFilter< TInputImage, TOutputImage >::GenerateData
overrideprotected

Definition at line 47 of file otbHarrisImageFilter.hxx.

◆ GetAlpha()

template<class TInputImage , class TOutputImage >
virtual const double& otb::HarrisImageFilter< TInputImage, TOutputImage >::GetAlpha ( ) const
virtual

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage >
virtual const char* otb::HarrisImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

◆ GetSigmaD()

template<class TInputImage , class TOutputImage >
virtual const double& otb::HarrisImageFilter< TInputImage, TOutputImage >::GetSigmaD ( ) const
virtual

◆ GetSigmaI()

template<class TInputImage , class TOutputImage >
virtual const double& otb::HarrisImageFilter< TInputImage, TOutputImage >::GetSigmaI ( ) const
virtual

◆ New()

template<class TInputImage , class TOutputImage >
static Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::New ( )
static

◆ operator=()

template<class TInputImage , class TOutputImage >
void otb::HarrisImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
privatedelete

◆ PrintSelf()

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

Standard "PrintSelf" method

Definition at line 79 of file otbHarrisImageFilter.hxx.

◆ SetAlpha()

template<class TInputImage , class TOutputImage >
virtual void otb::HarrisImageFilter< TInputImage, TOutputImage >::SetAlpha ( double  _arg)
virtual

◆ SetSigmaD()

template<class TInputImage , class TOutputImage >
virtual void otb::HarrisImageFilter< TInputImage, TOutputImage >::SetSigmaD ( double  _arg)
virtual

◆ SetSigmaI()

template<class TInputImage , class TOutputImage >
virtual void otb::HarrisImageFilter< TInputImage, TOutputImage >::SetSigmaI ( double  _arg)
virtual

Member Data Documentation

◆ InputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::HarrisImageFilter< TInputImage, TOutputImage >::InputImageDimension = TInputImage::ImageDimension
static

Definition at line 59 of file otbHarrisImageFilter.h.

◆ m_Alpha

template<class TInputImage , class TOutputImage >
double otb::HarrisImageFilter< TInputImage, TOutputImage >::m_Alpha
private

Definition at line 113 of file otbHarrisImageFilter.h.

◆ m_GaussianFilter0

template<class TInputImage , class TOutputImage >
GaussianFilterType::Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::m_GaussianFilter0
private

Definition at line 116 of file otbHarrisImageFilter.h.

◆ m_GaussianFilter1

template<class TInputImage , class TOutputImage >
GaussianFilterType::Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::m_GaussianFilter1
private

Definition at line 117 of file otbHarrisImageFilter.h.

◆ m_HessianFilter

template<class TInputImage , class TOutputImage >
HessianFilterType::Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::m_HessianFilter
private

Definition at line 115 of file otbHarrisImageFilter.h.

◆ m_HessianToScalarFilter

template<class TInputImage , class TOutputImage >
HessianToScalarFilterType::Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::m_HessianToScalarFilter
private

Definition at line 118 of file otbHarrisImageFilter.h.

◆ m_MultiplyScalarFilter

template<class TInputImage , class TOutputImage >
MultiplyScalarFilterType::Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::m_MultiplyScalarFilter
private

Definition at line 119 of file otbHarrisImageFilter.h.

◆ m_SigmaD

template<class TInputImage , class TOutputImage >
double otb::HarrisImageFilter< TInputImage, TOutputImage >::m_SigmaD
private

Definition at line 111 of file otbHarrisImageFilter.h.

◆ m_SigmaI

template<class TInputImage , class TOutputImage >
double otb::HarrisImageFilter< TInputImage, TOutputImage >::m_SigmaI
private

Definition at line 112 of file otbHarrisImageFilter.h.

◆ OutputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::HarrisImageFilter< TInputImage, TOutputImage >::OutputImageDimension = TOutputImage::ImageDimension
static

Definition at line 60 of file otbHarrisImageFilter.h.


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