Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet > Class Template Reference

This class extracts key points from an input image, trough a pyramidal decomposition. More...

#include <otbImageToSIFTKeyPointSetFilter.h>

+ Inheritance diagram for otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >:
+ Collaboration diagram for otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef ExpandFilterType::Pointer ExpandFilterPointerType
 
typedef itk::ExpandImageFilter
< TInputImage, TInputImage > 
ExpandFilterType
 
typedef GaussianFilterType::Pointer GaussianFilterPointerType
 
typedef
itk::RecursiveGaussianImageFilter
< InputImageType,
InputImageType
GaussianFilterType
 
typedef GradientFilterType::Pointer GradientFilterPointerType
 
typedef
itk::GradientImageFilter
< InputImageType, PixelType,
PixelType
GradientFilterType
 
typedef
GradientFilterType::OutputImageType 
GradientOutputImageType
 
typedef ImageListType::Pointer ImageListPointerType
 
typedef otb::ImageList
< InputImageType
ImageListType
 
typedef TInputImage::Pointer InputImagePointerType
 
typedef TInputImage InputImageType
 
typedef
MagnitudeFilterType::Pointer 
MagnitudeFilterPointerType
 
typedef
itk::UnaryFunctorImageFilter
< GradientOutputImageType,
InputImageType,
Functor::MagnitudeFunctor
< typename
GradientOutputImageType::PixelType,
typename
InputImageType::PixelType > > 
MagnitudeFilterType
 
typedef
MinimumMaximumCalculatorType::Pointer 
MinimumMaximumCalculatorPointerType
 
typedef
itk::MinimumMaximumImageCalculator
< InputImageType
MinimumMaximumCalculatorType
 
typedef
itk::ConstNeighborhoodIterator
< InputImageType
NeighborhoodIteratorType
 
typedef
NeighborhoodIteratorType::NeighborhoodType 
NeighborhoodType
 
typedef
NeighborhoodType::OffsetType 
OffsetType
 
typedef
OrientationFilterType::Pointer 
OrientationFilterPointerType
 
typedef
itk::UnaryFunctorImageFilter
< GradientOutputImageType,
InputImageType,
Functor::OrientationFunctor
< typename
GradientOutputImageType::PixelType,
typename
InputImageType::PixelType > > 
OrientationFilterType
 
typedef TOutputPointSet::PixelType OutputPixelType
 
typedef
TOutputPointSet::PointIdentifier 
OutputPointIdentifierType
 
typedef TOutputPointSet::Pointer OutputPointSetPointerType
 
typedef TOutputPointSet OutputPointSetType
 
typedef TOutputPointSet::PointType OutputPointType
 
typedef TInputImage::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
itk::ImageRegionConstIterator
< InputImageType
RegionIteratorType
 
typedef
ImageToSIFTKeyPointSetFilter 
Self
 
typedef ShrinkFilterType::Pointer ShrinkFilterPointerType
 
typedef itk::ShrinkImageFilter
< InputImageType,
InputImageType
ShrinkFilterType
 
typedef SubtractFilterType::Pointer SubtractFilterPointerType
 
typedef
itk::SubtractImageFilter
< InputImageType,
InputImageType, InputImageType
SubtractFilterType
 
typedef ImageToPointSetFilter
< TInputImage, TOutputPointSet > 
Superclass
 
typedef itk::Vector< PixelType, 3 > VectorPointType
 
- Public Types inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
InputImageType::ConstPointer 
InputImageConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef
Superclass::OutputPointSetPointer 
OutputPointSetPointer
 
typedef
Superclass::OutputPointSetType 
OutputPointSetType
 
typedef
Superclass::PointDataContainerType 
PointDataContainerType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
Superclass::PointsContainerType 
PointsContainerType
 
typedef itk::ProcessObject ProcessObjectType
 
typedef ImageToPointSetFilter Self
 
typedef PointSetSource
< TOutputPointSet > 
Superclass
 
- Public Types inherited from otb::PointSetSource< TOutputPointSet >
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef itk::DataObject::Pointer DataObjectPointer
 
typedef OutputPointSetType::Pointer OutputPointSetPointer
 
typedef TOutputPointSet OutputPointSetType
 
typedef
OutputPointSetType::PointDataContainer 
PointDataContainerType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
OutputPointSetType::PointsContainer 
PointsContainerType
 
typedef PointSetSource Self
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual double GetDoGThreshold ()
 
virtual double GetEdgeThreshold ()
 
virtual unsigned int GetExpandFactors ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetOctavesNumber ()
 
virtual unsigned int GetScalesNumber ()
 
virtual unsigned int GetShrinkFactors ()
 
virtual double GetSigma0 ()
 
virtual double GetSigmaFactorDescriptor ()
 
virtual double GetSigmaFactorOrientation ()
 
virtual void SetDoGThreshold (double _arg)
 
virtual void SetEdgeThreshold (double _arg)
 
virtual void SetExpandFactors (unsigned int _arg)
 
virtual void SetOctavesNumber (unsigned int _arg)
 
virtual void SetScalesNumber (unsigned int _arg)
 
virtual void SetShrinkFactors (unsigned int _arg)
 
virtual void SetSigma0 (double _arg)
 
virtual void SetSigmaFactorDescriptor (double _arg)
 
virtual void SetSigmaFactorOrientation (double _arg)
 
- Public Member Functions inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
void GenerateOutputInformation (void)
 
const InputImageTypeGetInput (unsigned int idx)
 
const InputImageTypeGetInput ()
 
void SetInput (unsigned int idx, const InputImageType *input)
 
void SetInput (const InputImageType *input)
 
- Public Member Functions inherited from otb::PointSetSource< TOutputPointSet >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
OutputPointSetTypeGetOutput (void)
 
OutputPointSetTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, itk::DataObject *output)
 
virtual void GraftOutput (itk::DataObject *output)
 
virtual DataObjectPointer MakeOutput (unsigned int idx)
 
void SetOutput (OutputPointSetType *output)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::PointSetSource< TOutputPointSet >
static Pointer New ()
 

Protected Member Functions

 ImageToSIFTKeyPointSetFilter ()
 
virtual ~ImageToSIFTKeyPointSetFilter ()
 
void ComputeDifferenceOfGaussian (InputImagePointerType input)
 
std::vector< PixelTypeComputeKeyPointDescriptor (const NeighborhoodIteratorType &currentScale, const unsigned int scale, const PixelType &orientation)
 
std::vector< PixelTypeComputeKeyPointOrientations (const NeighborhoodIteratorType &currentScale, const unsigned int scale, const PixelType translation)
 
void DetectKeyPoint (const unsigned int octave)
 
virtual void GenerateData ()
 
void InitializeInputImage ()
 
bool IsLocalExtremum (const NeighborhoodIteratorType &currentScale, const NeighborhoodIteratorType &previousScale, const NeighborhoodIteratorType &nextScale) const
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const
 
bool RefineLocationKeyPoint (const NeighborhoodIteratorType &currentScale, const NeighborhoodIteratorType &previousScale, const NeighborhoodIteratorType &nextScale, VectorPointType &solution)
 
- Protected Member Functions inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
 ImageToPointSetFilter ()
 
virtual ~ImageToPointSetFilter ()
 
virtual void AfterThreadedGenerateData ()
 
virtual void BeforeThreadedGenerateData ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
virtual int SplitRequestedRegion (int i, int num, InputImageRegionType &splitRegion)
 
virtual void ThreadedGenerateData (const InputImageRegionType &inputRegionForThread, itk::ThreadIdType threadId)
 
- Protected Member Functions inherited from otb::PointSetSource< TOutputPointSet >
 PointSetSource ()
 
virtual ~PointSetSource ()
 
void GenerateInputRequestedRegion ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 

Private Member Functions

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

Private Attributes

unsigned int m_ChangeSamplePointsMax
 
unsigned int m_DifferentSamplePoints
 
unsigned int m_DiscardedKeyPoints
 
ImageListPointerType m_DoGList
 
double m_DoGThreshold
 
double m_EdgeThreshold
 
unsigned int m_ExpandFactors
 
ExpandFilterPointerType m_ExpandFilter
 
GradientFilterPointerType m_GradientFilter
 
PixelType m_GradientMagnitudeThreshold
 
InputImagePointerType m_LastGaussian
 
MagnitudeFilterPointerType m_MagnitudeFilter
 
ImageListPointerType m_MagnitudeList
 
unsigned int m_OctavesNumber
 
OrientationFilterPointerType m_OrientationFilter
 
ImageListPointerType m_OrientationList
 
double m_RatioEdgeThreshold
 
unsigned int m_ScalesNumber
 
unsigned int m_ShrinkFactors
 
ShrinkFilterPointerType m_ShrinkFilter
 
GaussianFilterType::ScalarRealType m_Sigma0
 
double m_SigmaFactorDescriptor
 
double m_SigmaFactorOrientation
 
double m_Sigmak
 
SubtractFilterPointerType m_SubtractFilter
 
OutputPointIdentifierType m_ValidatedKeyPoints
 
GaussianFilterPointerType m_XGaussianFilter
 
GaussianFilterPointerType m_YGaussianFilter
 

Static Private Attributes

static const double m_HistogramGaussianWeights [73]
 
static const OffsetType m_Offsets [8]
 

Additional Inherited Members

- Static Public Attributes inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
- Protected Types inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
typedef std::vector< typename
OutputPointSetType::PointDataContainer::Pointer > 
OutputPointDataContainerForThreadType
 
typedef std::vector< typename
OutputPointSetType::PointsContainer::Pointer > 
OutputPointsContainerForThreadType
 
typedef SplitterType::Pointer RegionSplitterPointer
 
typedef
itk::ImageRegionSplitter
< itkGetStaticConstMacro(InputImageDimension)> 
SplitterType
 
typedef StreamingTraits
< InputImageType
StreamingTraitsType
 
- Static Protected Member Functions inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 
- Protected Attributes inherited from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >
OutputPointDataContainerForThreadType m_PointDataContainerPerThread
 
OutputPointsContainerForThreadType m_PointsContainerPerThread
 
RegionSplitterPointer m_RegionSplitter
 

Detailed Description

template<class TInputImage, class TOutputPointSet>
class otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >

This class extracts key points from an input image, trough a pyramidal decomposition.

This class implements the SIFT key point detector proposed by David G. Lowe in proceedings of International Conference on Computer Vision, Corfu, september 1999.

Selected key points are stored in a itk::PointSet structure. Data points contains a list of (magnitude, main orientation) for each level of the pyramidal decomposition.

Orientation is expressed in degree in the range [0, 360] with a precision of 10 degrees.

Definition at line 109 of file otbImageToSIFTKeyPointSetFilter.h.

Member Typedef Documentation

template<class TInputImage , class TOutputPointSet >
typedef itk::SmartPointer<const Self> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ConstPointer

Definition at line 117 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef ExpandFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ExpandFilterPointerType

Definition at line 180 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::ExpandImageFilter<TInputImage, TInputImage> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ExpandFilterType

Internal typedefs

Definition at line 176 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef GaussianFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GaussianFilterPointerType

Definition at line 186 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::RecursiveGaussianImageFilter<InputImageType, InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GaussianFilterType

Definition at line 185 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef GradientFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GradientFilterPointerType

Definition at line 204 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::GradientImageFilter<InputImageType, PixelType, PixelType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GradientFilterType

Definition at line 203 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef GradientFilterType::OutputImageType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GradientOutputImageType

Definition at line 205 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef ImageListType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ImageListPointerType

Definition at line 189 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef otb::ImageList<InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ImageListType

Definition at line 188 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TInputImage::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::InputImagePointerType

Definition at line 127 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TInputImage otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::InputImageType

Template parameters typedefs

Definition at line 123 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef MagnitudeFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::MagnitudeFilterPointerType

Definition at line 211 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::UnaryFunctorImageFilter<GradientOutputImageType, InputImageType, Functor::MagnitudeFunctor<typename GradientOutputImageType::PixelType, typename InputImageType::PixelType> > otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::MagnitudeFilterType

Definition at line 210 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef MinimumMaximumCalculatorType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::MinimumMaximumCalculatorPointerType

Definition at line 201 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::MinimumMaximumImageCalculator<InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::MinimumMaximumCalculatorType

Definition at line 200 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::ConstNeighborhoodIterator<InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::NeighborhoodIteratorType

Definition at line 194 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef NeighborhoodIteratorType::NeighborhoodType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::NeighborhoodType

Definition at line 195 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef NeighborhoodType::OffsetType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OffsetType

Definition at line 196 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef OrientationFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OrientationFilterPointerType

Definition at line 217 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::UnaryFunctorImageFilter<GradientOutputImageType, InputImageType, Functor::OrientationFunctor<typename GradientOutputImageType::PixelType, typename InputImageType::PixelType> > otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OrientationFilterType

Definition at line 216 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TOutputPointSet::PixelType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OutputPixelType

Definition at line 132 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TOutputPointSet::PointIdentifier otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OutputPointIdentifierType

Definition at line 134 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TOutputPointSet::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OutputPointSetPointerType

Definition at line 131 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TOutputPointSet otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OutputPointSetType

Definition at line 130 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TOutputPointSet::PointType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OutputPointType

Definition at line 133 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef TInputImage::PixelType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::PixelType

Definition at line 128 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::SmartPointer<Self> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::Pointer

Definition at line 116 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::ImageRegionConstIterator<InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::RegionIteratorType

Definition at line 198 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef ImageToSIFTKeyPointSetFilter otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::Self

Standard typedefs

Definition at line 114 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef ShrinkFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ShrinkFilterPointerType

Definition at line 183 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::ShrinkImageFilter<InputImageType, InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ShrinkFilterType

Definition at line 182 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef SubtractFilterType::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SubtractFilterPointerType

Definition at line 192 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::SubtractImageFilter<InputImageType, InputImageType, InputImageType> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SubtractFilterType

Definition at line 191 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef ImageToPointSetFilter<TInputImage, TOutputPointSet> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::Superclass

Definition at line 115 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
typedef itk::Vector<PixelType, 3> otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::VectorPointType

Definition at line 136 of file otbImageToSIFTKeyPointSetFilter.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputPointSet >
otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ImageToSIFTKeyPointSetFilter ( )
protected

Constructor

Definition at line 77 of file otbImageToSIFTKeyPointSetFilter.txx.

template<class TInputImage , class TOutputPointSet >
virtual otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::~ImageToSIFTKeyPointSetFilter ( )
inlineprotectedvirtual

Destructor

Definition at line 227 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ImageToSIFTKeyPointSetFilter ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ComputeDifferenceOfGaussian ( InputImagePointerType  input)
protected

Compute differenec of gaussian

Parameters
inputcurrent input in process

Compute the difference of gaussian

Definition at line 195 of file otbImageToSIFTKeyPointSetFilter.txx.

References otbGenericMsgDebugMacro.

template<class TInputImage , class TOutputPointSet >
std::vector< typename ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::PixelType > otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ComputeKeyPointDescriptor ( const NeighborhoodIteratorType currentScale,
const unsigned int  scale,
const PixelType orientation 
)
protected

Compute local image descriptor

Parameters
currentScaleneighborhood iterator
scale
orientation
Returns
histogram descriptor

Compute key point descriptor

Definition at line 744 of file otbImageToSIFTKeyPointSetFilter.txx.

References otb::CONST_2PI, otb::CONST_PI_180, itk::Index< VIndexDimension >::GetIndex(), itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetIndex(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::Index< VIndexDimension >::SetIndex().

template<class TInputImage , class TOutputPointSet >
std::vector< typename ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::PixelType > otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::ComputeKeyPointOrientations ( const NeighborhoodIteratorType currentScale,
const unsigned int  scale,
const PixelType  translation 
)
protected

Assign key point orientation

Parameters
currentScaleneighborhood iterator
scalecurrent scale
translationrefine offset pixel location
Returns
orientation key point orientation

Compute key point orientation

Definition at line 563 of file otbImageToSIFTKeyPointSetFilter.txx.

References otb::CONST_2PI, itk::Index< VIndexDimension >::GetIndex(), itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetIndex(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::Index< VIndexDimension >::SetIndex().

template<class TInputImage , class TOutputPointSet >
virtual::itk::LightObject::Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::CreateAnother ( void  ) const
template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::DetectKeyPoint ( const unsigned int  octave)
protected
template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GenerateData ( void  )
protectedvirtual

Actually process the input

Reimplemented from otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >.

Definition at line 106 of file otbImageToSIFTKeyPointSetFilter.txx.

References otbGenericMsgDebugMacro.

template<class TInputImage , class TOutputPointSet >
virtual double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetDoGThreshold ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetEdgeThreshold ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetExpandFactors ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual const char* otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetNameOfClass ( ) const
virtual
template<class TInputImage , class TOutputPointSet >
virtual unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetOctavesNumber ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetScalesNumber ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetShrinkFactors ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetSigma0 ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetSigmaFactorDescriptor ( )
virtual
template<class TInputImage , class TOutputPointSet >
virtual double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::GetSigmaFactorOrientation ( )
virtual
template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::InitializeInputImage ( )
protected

Initialize input image

Initialize the input image

Definition at line 173 of file otbImageToSIFTKeyPointSetFilter.txx.

template<class TInputImage , class TOutputPointSet >
bool otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::IsLocalExtremum ( const NeighborhoodIteratorType currentScale,
const NeighborhoodIteratorType previousScale,
const NeighborhoodIteratorType nextScale 
) const
protected

Check local extremum for 26 neighbors (current and adjacents scales)

Parameters
currentScale
previousScale
nextScale
Returns
true if the pixel is extremum

Check local extremum for 26 neighbors

Definition at line 423 of file otbImageToSIFTKeyPointSetFilter.txx.

References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetCenterPixel(), and itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetPixel().

template<class TInputImage , class TOutputPointSet >
static Pointer otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::New ( )
static

Creation through object factory macro

template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::operator= ( const Self )
private
template<class TInputImage , class TOutputPointSet >
void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protectedvirtual

PrintSelf method

PrintSelf Method

Definition at line 894 of file otbImageToSIFTKeyPointSetFilter.txx.

template<class TInputImage , class TOutputPointSet >
bool otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::RefineLocationKeyPoint ( const NeighborhoodIteratorType currentScale,
const NeighborhoodIteratorType previousScale,
const NeighborhoodIteratorType nextScale,
VectorPointType solution 
)
protected

Refine location key point

  • Discard keypoints with low contrats DoG < DoGThreshold
  • Discard keypoints that have a ratio between the principles curvature greater than EdgeTrhesold (=10)
Parameters
currentScaleiterator
previousScaleiterator
nextScaleiterator
solution
Returns
true if key point is accepted, false otherwise

Refine location key point

Definition at line 472 of file otbImageToSIFTKeyPointSetFilter.txx.

References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetCenterPixel(), and itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetPixel().

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetDoGThreshold ( double  _arg)
virtual

Set/Get the Difference of gaussian threshold eliminating low contrast key point

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetEdgeThreshold ( double  _arg)
virtual

Set/Get Edgethreshold Eliminating edge responses

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetExpandFactors ( unsigned int  _arg)
virtual

Set/Get the expand factors

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetOctavesNumber ( unsigned int  _arg)
virtual

Set/Get the number of octaves

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetScalesNumber ( unsigned int  _arg)
virtual

Set/Get the number of scales

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetShrinkFactors ( unsigned int  _arg)
virtual

Set/Get the shrink factors

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetSigma0 ( double  _arg)
virtual

Set/Get the sigma 0

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetSigmaFactorDescriptor ( double  _arg)
virtual

Set/Get Gauss sigma factor descriptor

template<class TInputImage , class TOutputPointSet >
virtual void otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::SetSigmaFactorOrientation ( double  _arg)
virtual

Set/Get Gauss sigma factor orientation

Member Data Documentation

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ChangeSamplePointsMax
private

Number of change sample max

Definition at line 382 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_DifferentSamplePoints
private

Number of key point which offset is larger than 0.5 per octave

Definition at line 376 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_DiscardedKeyPoints
private

Number of discarded key points

Definition at line 379 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
ImageListPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_DoGList
private

Difference of gaussian list

Definition at line 352 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_DoGThreshold
private

Threshold DoG

Definition at line 315 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_EdgeThreshold
private

Edge Threshold

Definition at line 318 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ExpandFactors
private

Expand factors

Definition at line 309 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
ExpandFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ExpandFilter
private

Expand filter

Definition at line 339 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
GradientFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_GradientFilter
private

Gradient filter

Definition at line 364 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
PixelType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_GradientMagnitudeThreshold
private

Histogram sift keys descriptors gradient magnitude threshold

Definition at line 324 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
const double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_HistogramGaussianWeights
staticprivate
Initial value:
=
{
2.3771112282795414e-07, 3.8860734758633732e-07, 6.2655544995978937e-07, 9.9631120821413786e-07,
1.5624909838697011e-06, 2.4167238265599128e-06, 3.6865788528530121e-06,
5.5463469229192623e-06, 8.2295774080263437e-06, 1.2043009749602365e-05, 1.738119136656513e-05,
2.4740646513897326e-05, 3.4731980398846277e-05, 4.808781565748272e-05,
6.5664032975164266e-05, 8.8431512984476723e-05, 0.00011745555408931643, 0.00015386047198026335,
0.00019877765486783745, 0.00025327659834301937, 0.00031828015928190065,
0.00039446735551235698, 0.00048216931692246382, 0.00058126620279441276, 0.00069109471776775144,
0.00081037694122312908, 0.00093718121775182789, 0.0010689246133776746,
0.0012024238404411182, 0.0013339976954896103, 0.0014596192424447215, 0.0015751106965100009, 0.0016763688464699555,
0.0017596045720966803, 0.0018215772013714365,
0.0018598035923515156, 0.0018727231637146351, 0.0018598035923515156, 0.0018215772013714365, 0.0017596045720966803,
0.0016763688464699555, 0.0015751106965100009,
0.0014596192424447215, 0.0013339976954896103, 0.0012024238404411182, 0.0010689246133776746,
0.00093718121775182789, 0.00081037694122312908, 0.00069109471776775144,
0.00058126620279441276, 0.00048216931692246382, 0.00039446735551235698, 0.00031828015928190065,
0.00025327659834301937, 0.00019877765486783745, 0.00015386047198026335,
0.00011745555408931643, 8.8431512984476723e-05, 6.5664032975164266e-05, 4.808781565748272e-05,
3.4731980398846277e-05, 2.4740646513897326e-05, 1.738119136656513e-05,
1.2043009749602365e-05, 8.2295774080263437e-06, 5.5463469229192623e-06, 3.6865788528530121e-06,
2.4167238265599128e-06, 1.5624909838697011e-06, 9.9631120821413786e-07,
6.2655544995978937e-07, 3.8860734758633732e-07, 2.3771112282795414e-07
}

Gaussian sigma for histogram smoothing

Definition at line 385 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
InputImagePointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_LastGaussian
private

Gaussian image pointer

Definition at line 349 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
MagnitudeFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_MagnitudeFilter
private

Magnitude filter

Definition at line 367 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
ImageListPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_MagnitudeList
private

Magnitude image list

Definition at line 355 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_OctavesNumber
private

Number of octaves

Definition at line 303 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
const ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::OffsetType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_Offsets
staticprivate
Initial value:
=
{
{{-1, -1}},
{{-1, 0}},
{{-1, 1}},
{{ 0, -1}},
{{ 0, 1}},
{{ 1, -1}},
{{ 1, 0}},
{{ 1, 1}},
}

Offsets vector, conveniance datas

Definition at line 388 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
OrientationFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_OrientationFilter
private

Orientation filter

Definition at line 370 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
ImageListPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_OrientationList
private

Orientation image list

Definition at line 358 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_RatioEdgeThreshold
private

Ratio threshold compute

Definition at line 321 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ScalesNumber
private

Number of scale for each octave

Definition at line 306 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
unsigned int otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ShrinkFactors
private

Shrink factors

Definition at line 312 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
ShrinkFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ShrinkFilter
private

Shrink filter

Definition at line 342 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
GaussianFilterType::ScalarRealType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_Sigma0
private

Sigma 0

Definition at line 327 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_SigmaFactorDescriptor
private

Descriptor size

Definition at line 336 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_SigmaFactorOrientation
private

Gauss factor length for key point orientation

Definition at line 333 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
double otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_Sigmak
private

Sigma k

Definition at line 330 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
SubtractFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_SubtractFilter
private

Subtract filter

Definition at line 361 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
OutputPointIdentifierType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_ValidatedKeyPoints
private

Number of key points

Definition at line 373 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
GaussianFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_XGaussianFilter
private

Gaussian filter

Definition at line 345 of file otbImageToSIFTKeyPointSetFilter.h.

template<class TInputImage , class TOutputPointSet >
GaussianFilterPointerType otb::ImageToSIFTKeyPointSetFilter< TInputImage, TOutputPointSet >::m_YGaussianFilter
private

Definition at line 346 of file otbImageToSIFTKeyPointSetFilter.h.


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