Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
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

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

#include <otbHarrisImageFilter.h>

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

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
itk::RecursiveGaussianImageFilter
< TensorType, TensorType
GaussianFilterType
 
typedef
itk::HessianRecursiveGaussianImageFilter
< InputImageType, TensorType
HessianFilterType
 
typedef
otb::HessianToScalarImageFilter
< TensorType, OutputImageType
HessianToScalarFilterType
 
typedef TInputImage InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef
otb::MultiplyByScalarImageFilter
< OutputImageType,
OutputImageType
MultiplyScalarFilterType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef HarrisImageFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef
itk::ImageToImageFilter
< InputImageType,
OutputImageType
Superclass
 
typedef itk::Image
< itk::SymmetricSecondRankTensor
< typename itk::NumericTraits
< InputPixelType >::RealType,
InputImageDimension >
, InputImageDimension
TensorType
 

Public Member Functions

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

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ImageSource< TOutputImage >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter (void)
 

Static Public Attributes

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

Protected Member Functions

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

Private Member Functions

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

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 53 of file otbHarrisImageFilter.h.

Member Typedef Documentation

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

Definition at line 70 of file otbHarrisImageFilter.h.

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

Definition at line 91 of file otbHarrisImageFilter.h.

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

Definition at line 88 of file otbHarrisImageFilter.h.

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

Definition at line 92 of file otbHarrisImageFilter.h.

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

Definition at line 64 of file otbHarrisImageFilter.h.

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

Definition at line 74 of file otbHarrisImageFilter.h.

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

Definition at line 93 of file otbHarrisImageFilter.h.

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

Definition at line 65 of file otbHarrisImageFilter.h.

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

Definition at line 79 of file otbHarrisImageFilter.h.

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

Definition at line 69 of file otbHarrisImageFilter.h.

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

Definition at line 67 of file otbHarrisImageFilter.h.

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

Definition at line 77 of file otbHarrisImageFilter.h.

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

Definition at line 68 of file otbHarrisImageFilter.h.

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 86 of file otbHarrisImageFilter.h.

Constructor & Destructor Documentation

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

Definition at line 31 of file otbHarrisImageFilter.txx.

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

Definition at line 104 of file otbHarrisImageFilter.h.

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

Member Function Documentation

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

Definition at line 47 of file otbHarrisImageFilter.txx.

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

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual const double& otb::HarrisImageFilter< TInputImage, TOutputImage >::GetSigmaD ( )
virtual
template<class TInputImage , class TOutputImage >
virtual const double& otb::HarrisImageFilter< TInputImage, TOutputImage >::GetSigmaI ( )
virtual
template<class TInputImage , class TOutputImage >
static Pointer otb::HarrisImageFilter< TInputImage, TOutputImage >::New ( )
static
template<class TInputImage , class TOutputImage >
void otb::HarrisImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
private
template<class TInputImage , class TOutput >
void otb::HarrisImageFilter< TInputImage, TOutput >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protected

Standard "PrintSelf" method

Definition at line 81 of file otbHarrisImageFilter.txx.

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

Member Data Documentation

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

Definition at line 59 of file otbHarrisImageFilter.h.

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

Definition at line 116 of file otbHarrisImageFilter.h.

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

Definition at line 119 of file otbHarrisImageFilter.h.

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

Definition at line 120 of file otbHarrisImageFilter.h.

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

Definition at line 118 of file otbHarrisImageFilter.h.

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

Definition at line 121 of file otbHarrisImageFilter.h.

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

Definition at line 122 of file otbHarrisImageFilter.h.

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

Definition at line 114 of file otbHarrisImageFilter.h.

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

Definition at line 115 of file otbHarrisImageFilter.h.

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

Definition at line 62 of file otbHarrisImageFilter.h.


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