OTB  9.0.0
Orfeo Toolbox
List of all members
otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator > Class Template Reference

#include <otbLineRatioDetectorImageFilter.h>

+ Inheritance diagram for otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >:
+ Collaboration diagram for otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >:
typedef LineRatioDetectorImageFilter Self
 
typedef LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator > Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputImageType InputImageType
 
typedef Superclass::OutputImageType OutputImageType
 
typedef Superclass::OutputImageDirectionType OutputImageDirectionType
 
typedef Superclass::InterpolatorType InterpolatorType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef InterpolatorType::CoordRepType CoordRepType
 
typedef InputImageType::PointType TPoint
 
typedef InputImageType::PixelType InputPixelType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef InputImageType::SizeType SizeType
 
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
 LineRatioDetectorImageFilter ()
 
 ~LineRatioDetectorImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
double ComputeMeasure (std::vector< double > *m1, std::vector< double > *m2, std::vector< double > *m3) override
 
 LineRatioDetectorImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Additional Inherited Members

- Public Types inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
typedef LineDetectorImageFilterBase Self
 
typedef ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage > Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputImageType InputImageType
 
typedef Superclass::OutputImageType OutputImageType
 
typedef Superclass::OutputImageDirectionType OutputImageDirectionType
 
typedef itk::LinearInterpolateImageFunction< TInputImage > InterpolatorType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef InterpolatorType::CoordRepType CoordRepType
 
typedef InputImageType::PointType TPoint
 
typedef InputImageType::PixelType InputPixelType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef OutputImageType::Pointer OutputImagePointerType
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef InputImageType::SizeType SizeType
 
- Public Types inherited from otb::ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage >
typedef ImageToModulusAndDirectionImageFilter Self
 
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputImageType InputImageType
 
typedef Superclass::OutputImageType OutputImageType
 
typedef TOutputImage OutputImageDirectionType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::ConstPointer OutputImageConstPointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
- Public Member Functions inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetLengthLine (unsigned int _arg)
 
virtual const unsigned int & GetLengthLine () const
 
virtual void SetWidthLine (unsigned int _arg)
 
virtual const unsigned int & GetWidthLine () const
 
virtual void SetRadius (SizeType _arg)
 
virtual const SizeTypeGetRadius () const
 
virtual void SetThreshold (OutputPixelType _arg)
 
virtual const OutputPixelTypeGetThreshold () const
 
virtual void SetNumberOfDirections (unsigned int _arg)
 
virtual const unsigned int & GetNumberOfDirections () const
 
void GenerateInputRequestedRegion () override
 
- Public Member Functions inherited from otb::ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
const OutputImageTypeGetOutput () const
 
OutputImageTypeGetOutput ()
 
const OutputImageDirectionTypeGetOutputDirection () const
 
OutputImageDirectionTypeGetOutputDirection ()
 
void GenerateInputRequestedRegion () override
 
- Static Public Member Functions inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
static Pointer New ()
 
- Static Public Member Functions inherited from otb::ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage >
static Pointer New ()
 
- Static Public Attributes inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
static const unsigned int InputImageDimension
 
static const unsigned int OutputImageDimension
 
- Static Public Attributes inherited from otb::ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage >
static const unsigned int InputImageDimension
 
static const unsigned int OutputImageDimension
 
- Protected Member Functions inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
 LineDetectorImageFilterBase ()
 
 ~LineDetectorImageFilterBase () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void BeforeThreadedGenerateData () override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
- Protected Member Functions inherited from otb::ImageToModulusAndDirectionImageFilter< TInputImage, TOutputImage, TOutputImage >
 ImageToModulusAndDirectionImageFilter ()
 
 ~ImageToModulusAndDirectionImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Attributes inherited from otb::LineDetectorImageFilterBase< TInputImage, TOutputImage, TOutputImage, itk::LinearInterpolateImageFunction< TInputImage > >
unsigned int m_LengthLine
 
unsigned int m_WidthLine
 
SizeType m_Radius
 
SizeType m_FaceList
 
OutputPixelType m_Threshold
 
unsigned int m_NumberOfDirections
 

Detailed Description

template<class TInputImage, class TOutputImage, class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
class otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >

Application of detection of linear features based on the ratio of local means.

This class implements the Tupin's detector D1 used to detect two parallel lines. This detector is derived from the coupling of two ratio edge detectors (Touzi detector) on both side of a region.

The region is divided in three zones to delimite two parallel lines. The size of one zone is defined by the product of the width of the linear feature by its length.

For each vertical line, we calculate the intensity of detection $ R_{12}(\theta_{0}) $ between zones 1 and 2 and $ R_{13}(\theta_{0})$ between zones 1 and 3 according to the principle of the Touzi's filter.

The response of the edge detector between two zones i and j is:

\[R_{ij}=1-\min (\frac{\mu_{i}}{\mu_{j}};\frac{\mu_{j}}{\mu_{i}}) \]

The intensity of detection in the three other directions $ R(\theta_{i}) $ is determined by rotation of the pixels of each zone around the central pixel of the region considered. By default, the pixel location after rotation is determined by the Spline interpolator.

Finally, the intensity of detection formed by the two parallel lines is determined by the minimum response of a ration edge detector on both sides of the linear structure:

\[ R = \min (R_{12}; R_{13}) \]

where $ R_{12} $ and $ R_{13}$ are the maximum response of the ratio edge detector of $ R(\theta_{i}) $. The intensity of detection lies in the interval $ [0, 1] $.

Definition at line 67 of file otbLineRatioDetectorImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef itk::SmartPointer<const Self> otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::ConstPointer

typedef for the classes standards.

Definition at line 79 of file otbLineRatioDetectorImageFilter.h.

◆ CoordRepType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InterpolatorType::CoordRepType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::CoordRepType

typedef for the classes standards.

Definition at line 94 of file otbLineRatioDetectorImageFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InputImageType::RegionType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InputImageRegionType

typedef for the classes standards.

Definition at line 102 of file otbLineRatioDetectorImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef Superclass::InputImageType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InputImageType

typedef for the classes standards.

Definition at line 85 of file otbLineRatioDetectorImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InputImageType::PixelType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InputPixelType

Definition of the input and output images

Definition at line 99 of file otbLineRatioDetectorImageFilter.h.

◆ InterpolatorPointer

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InterpolatorType::Pointer otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InterpolatorPointer

Typedefs to describe and access Interpolator

Definition at line 93 of file otbLineRatioDetectorImageFilter.h.

◆ InterpolatorType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef Superclass::InterpolatorType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InterpolatorType

typedef for the classes standards.

Definition at line 90 of file otbLineRatioDetectorImageFilter.h.

◆ OutputImageDirectionType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef Superclass::OutputImageDirectionType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::OutputImageDirectionType

typedef for the classes standards.

Definition at line 89 of file otbLineRatioDetectorImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef OutputImageType::RegionType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::OutputImageRegionType

typedef for the classes standards.

Definition at line 103 of file otbLineRatioDetectorImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef Superclass::OutputImageType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::OutputImageType

typedef for the classes standards.

Definition at line 88 of file otbLineRatioDetectorImageFilter.h.

◆ OutputPixelType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef OutputImageType::PixelType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::OutputPixelType

typedef for the classes standards.

Definition at line 100 of file otbLineRatioDetectorImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef itk::SmartPointer<Self> otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::Pointer

typedef for the classes standards.

Definition at line 78 of file otbLineRatioDetectorImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef LineRatioDetectorImageFilter otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::Self

typedef for the classes standards.

Definition at line 76 of file otbLineRatioDetectorImageFilter.h.

◆ SizeType

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InputImageType::SizeType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::SizeType

Definition of the size of the images.

Definition at line 106 of file otbLineRatioDetectorImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef LineDetectorImageFilterBase<TInputImage, TOutputImage, TOutputImageDirection, TInterpolator> otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::Superclass

typedef for the classes standards.

Definition at line 77 of file otbLineRatioDetectorImageFilter.h.

◆ TPoint

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
typedef InputImageType::PointType otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::TPoint

typedef for the classes standards.

Definition at line 96 of file otbLineRatioDetectorImageFilter.h.

Constructor & Destructor Documentation

◆ LineRatioDetectorImageFilter() [1/2]

template<class TInputImage , class TOutputImage , class TOutputImageDirection , class TInterpolator >
otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::LineRatioDetectorImageFilter
protected

typedef for the classes standards.

Definition at line 42 of file otbLineRatioDetectorImageFilter.hxx.

◆ ~LineRatioDetectorImageFilter()

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::~LineRatioDetectorImageFilter ( )
inlineoverrideprotected

typedef for the classes standards.

Definition at line 110 of file otbLineRatioDetectorImageFilter.h.

◆ LineRatioDetectorImageFilter() [2/2]

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::LineRatioDetectorImageFilter ( const Self )
privatedelete

typedef for the classes standards.

Member Function Documentation

◆ ComputeMeasure()

template<class TInputImage , class TOutputImage , class TOutputImageDirection , class TInterpolator >
double otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::ComputeMeasure ( std::vector< double > *  m1,
std::vector< double > *  m2,
std::vector< double > *  m3 
)
overrideprotectedvirtual

◆ CreateAnother()

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
virtual::itk::LightObject::Pointer otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::CreateAnother ( void  ) const

typedef for the classes standards.

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
virtual const char* otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::GetNameOfClass ( ) const
virtual

Return the name of the class.

◆ New()

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
static Pointer otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::New ( )
static

Method for management of the "object factory".

◆ operator=()

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
void otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::operator= ( const Self )
privatedelete

typedef for the classes standards.

◆ PrintSelf()

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

Standard "PrintSelf" method

Definition at line 113 of file otbLineRatioDetectorImageFilter.hxx.

Member Data Documentation

◆ InputImageDimension

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
const unsigned int otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::InputImageDimension = TInputImage::ImageDimension
static

Extract dimensions as well of the images of entry of exit.

Definition at line 71 of file otbLineRatioDetectorImageFilter.h.

◆ OutputImageDimension

template<class TInputImage , class TOutputImage , class TOutputImageDirection = TOutputImage, class TInterpolator = itk::LinearInterpolateImageFunction<TInputImage>>
const unsigned int otb::LineRatioDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection, TInterpolator >::OutputImageDimension = TOutputImage::ImageDimension
static

typedef for the classes standards.

Definition at line 72 of file otbLineRatioDetectorImageFilter.h.


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