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

#include <otbLineSegmentDetector.h>

+ Inheritance diagram for otb::LineSegmentDetector< TInputImage, TPrecision >:
+ Collaboration diagram for otb::LineSegmentDetector< TInputImage, TPrecision >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef CoordinateHistogramType::iterator CoordinateHistogramIteratorType
 
typedef std::vector< IndexVectorTypeCoordinateHistogramType
 
typedef VectorDataType::DataNodeType DataNodeType
 
typedef DirectionVectorType::iterator DirectionVectorIteratorType
 
typedef std::vector< float > DirectionVectorType
 
typedef GradientFilterType::Pointer GradientFilterPointerType
 
typedef itk::GradientRecursiveGaussianImageFilter< OutputImageTypeGradientFilterType
 
typedef GradientFilterType::OutputImageType GradientOutputImageType
 
typedef IndexVectorType::iterator IndexVectorIteratorType
 
typedef std::vector< OutputIndexTypeIndexVectorType
 
typedef TInputImage InputImageType
 
typedef InputImageType::IndexType InputIndexType
 
typedef InputImageType::PixelType InputPixelType
 
typedef LabelImageType::Pointer LabelImagePointerType
 
typedef otb::Image< unsigned char, 2 > LabelImageType
 
typedef VectorDataType::LineType LineType
 
typedef MagnitudeFilterType::Pointer MagnitudeFilterPointerType
 
typedef itk::UnaryFunctorImageFilter< GradientOutputImageType, OutputImageType, Functor::MagnitudeFunctor< typename GradientOutputImageType::PixelType, TPrecision > > MagnitudeFilterType
 
typedef MagnitudeImageType::Pointer MagnitudeImagePointerType
 
typedef MagnitudeFilterType::OutputImageType MagnitudeImageType
 
typedef MagnitudeFilterType::OutputImageType::PixelType MagnitudePixelType
 
typedef OrientationFilterType::Pointer OrientationFilterPointerType
 
typedef itk::UnaryFunctorImageFilter< GradientOutputImageType, OutputImageType, Functor::OrientationFunctor< typename GradientOutputImageType::PixelType, TPrecision > > OrientationFilterType
 
typedef InputImageType::PointType OriginType
 
typedef OutputImageDirType::RegionType OutputImageDirRegionType
 
typedef OrientationFilterType::OutputImageType OutputImageDirType
 
typedef Image< TPrecision, 2 > OutputImageType
 
typedef OutputImageType::IndexType OutputIndexType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef OutputImageType::SizeType OutputSizeType
 
typedef itk::SmartPointer< SelfPointer
 
typedef VectorDataType::PointType PointType
 
typedef RectangleType::iterator RectangleIteratorType
 
typedef std::vector< RectangleTypeRectangleListType
 
typedef RectangleListType::iterator RectangleListTypeIterator
 
typedef std::vector< double > RectangleType
 
typedef InputImageType::RegionType RegionType
 
typedef LineSegmentDetector Self
 
typedef InputImageType::SizeType SizeType
 
typedef InputImageType::SpacingType SpacingType
 
typedef VectorDataSource< VectorData< TPrecision > > Superclass
 
typedef VectorData< TPrecision > VectorDataType
 
typedef std::vector< IndexVectorTypeVectorOfIndexVectorType
 
typedef LineType::VertexType VertexType
 
- Public Types inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
 
typedef otb::VectorData< TPrecision > ::Pointer OutputVectorDataPointer
 
typedef otb::VectorData< TPrecision > OutputVectorDataType
 
typedef itk::SmartPointer< SelfPointer
 
typedef VectorDataSource Self
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetInput (const InputImageType *input)
 
virtual const InputImageTypeGetInput (void)
 
LabelImagePointerType GetMap ()
 
MagnitudeImagePointerType GetGradMod ()
 
OutputImageDirType::Pointer GetGradOri ()
 
- Public Member Functions inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual void GraftNthOutput (unsigned int idx, itk::DataObject *output)
 
virtual void GraftOutput (itk::DataObject *output)
 
virtual OutputVectorDataTypeGetOutput (void)
 
virtual OutputVectorDataTypeGetOutput (DataObjectPointerArraySizeType idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
static Pointer New ()
 

Protected Member Functions

virtual double angle_diff (double a, double b) const
 
virtual int ComputeRectangles ()
 
virtual double ComputeRectNFA (const RectangleType &rec) const
 
virtual double ComputeRegionOrientation (IndexVectorType region, double x, double y, double angleRegion) const
 
virtual void CopyRectangle (RectangleType &rDst, RectangleType &rSrc) const
 
void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
virtual bool GrowRegion (InputIndexType index, IndexVectorType &region, double &regionAngle)
 
virtual double ImproveRectangle (RectangleType &rectangle) const
 
virtual bool IsAligned (double Angle, double regionAngle, double prec) const
 
virtual bool IsNotIni (InputIndexType &index) const
 
virtual bool IsNotUsed (InputIndexType &index) const
 
virtual bool IsUsed (InputIndexType &index) const
 
virtual void LineSegmentDetection (CoordinateHistogramType &CoordinateHistogram)
 
 LineSegmentDetector ()
 
virtual double NFA (int n, int k, double p, double logNT) const
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual RectangleType Region2Rectangle (IndexVectorType region, double regionAngle)
 
virtual void SetPixelToNotIni (InputIndexType index)
 
virtual void SetPixelToUsed (InputIndexType index)
 
virtual void SetRegionToNotIni (IndexVectorType region)
 
virtual CoordinateHistogramType SortImageByModulusValue (MagnitudeImagePointerType modulusImage)
 
 ~LineSegmentDetector () override
 
- Protected Member Functions inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
virtual void AllocateOutputs ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~VectorDataSource () override
 
 VectorDataSource ()
 

Private Member Functions

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

Private Attributes

double m_DirectionsAllowed
 
DirectionVectorType m_DirectionVector
 
GradientFilterPointerType m_GradientFilter
 
MagnitudeFilterPointerType m_MagnitudeFilter
 
unsigned int m_MinimumRegionSize
 
OrientationFilterPointerType m_OrientationFilter
 
double m_Prec
 
RectangleListType m_RectangleList
 
VectorOfIndexVectorType m_RegionList
 
double m_Threshold
 
LabelImagePointerType m_UsedPointImage
 

Detailed Description

template<class TInputImage, class TPrecision = double>
class otb::LineSegmentDetector< TInputImage, TPrecision >

this class implement a fast line detector with false detection control using the a contrario method

The implementation is based on the online version of the lsd documentation and code lsd 1.5. The OTB version use a 3x3 filter to compute the gradient(vs. 2x2 in the original implementation) and implements the density control, the NOTINIT status and the incremental rectangle optimisation.

See also
StreamingLineSegmentDetector (streamed version)

See Publication : " LSD: A line segment detector ", R. Grompone, J.Jackubowicz, J-M.Morel, G.Randall And Website : http://www.ipol.im/pub/algo/gjmr_line_segment_detector/

Definition at line 92 of file otbLineSegmentDetector.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage, class TPrecision = double>
typedef itk::SmartPointer<const Self> otb::LineSegmentDetector< TInputImage, TPrecision >::ConstPointer

Definition at line 99 of file otbLineSegmentDetector.h.

◆ CoordinateHistogramIteratorType

template<class TInputImage, class TPrecision = double>
typedef CoordinateHistogramType::iterator otb::LineSegmentDetector< TInputImage, TPrecision >::CoordinateHistogramIteratorType

Definition at line 133 of file otbLineSegmentDetector.h.

◆ CoordinateHistogramType

template<class TInputImage, class TPrecision = double>
typedef std::vector<IndexVectorType> otb::LineSegmentDetector< TInputImage, TPrecision >::CoordinateHistogramType

Definition at line 132 of file otbLineSegmentDetector.h.

◆ DataNodeType

template<class TInputImage, class TPrecision = double>
typedef VectorDataType::DataNodeType otb::LineSegmentDetector< TInputImage, TPrecision >::DataNodeType

Definition at line 118 of file otbLineSegmentDetector.h.

◆ DirectionVectorIteratorType

template<class TInputImage, class TPrecision = double>
typedef DirectionVectorType::iterator otb::LineSegmentDetector< TInputImage, TPrecision >::DirectionVectorIteratorType

Definition at line 138 of file otbLineSegmentDetector.h.

◆ DirectionVectorType

template<class TInputImage, class TPrecision = double>
typedef std::vector<float> otb::LineSegmentDetector< TInputImage, TPrecision >::DirectionVectorType

Definition at line 137 of file otbLineSegmentDetector.h.

◆ GradientFilterPointerType

template<class TInputImage, class TPrecision = double>
typedef GradientFilterType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::GradientFilterPointerType

Definition at line 142 of file otbLineSegmentDetector.h.

◆ GradientFilterType

template<class TInputImage, class TPrecision = double>
typedef itk::GradientRecursiveGaussianImageFilter<OutputImageType> otb::LineSegmentDetector< TInputImage, TPrecision >::GradientFilterType

Definition at line 141 of file otbLineSegmentDetector.h.

◆ GradientOutputImageType

template<class TInputImage, class TPrecision = double>
typedef GradientFilterType::OutputImageType otb::LineSegmentDetector< TInputImage, TPrecision >::GradientOutputImageType

Definition at line 143 of file otbLineSegmentDetector.h.

◆ IndexVectorIteratorType

template<class TInputImage, class TPrecision = double>
typedef IndexVectorType::iterator otb::LineSegmentDetector< TInputImage, TPrecision >::IndexVectorIteratorType

Definition at line 131 of file otbLineSegmentDetector.h.

◆ IndexVectorType

template<class TInputImage, class TPrecision = double>
typedef std::vector<OutputIndexType> otb::LineSegmentDetector< TInputImage, TPrecision >::IndexVectorType

Histogram to store the coordinate of ordered pixels

Definition at line 130 of file otbLineSegmentDetector.h.

◆ InputImageType

template<class TInputImage, class TPrecision = double>
typedef TInputImage otb::LineSegmentDetector< TInputImage, TPrecision >::InputImageType

Definition of the input image

Definition at line 105 of file otbLineSegmentDetector.h.

◆ InputIndexType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::IndexType otb::LineSegmentDetector< TInputImage, TPrecision >::InputIndexType

Definition at line 110 of file otbLineSegmentDetector.h.

◆ InputPixelType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::PixelType otb::LineSegmentDetector< TInputImage, TPrecision >::InputPixelType

Definition at line 109 of file otbLineSegmentDetector.h.

◆ LabelImagePointerType

template<class TInputImage, class TPrecision = double>
typedef LabelImageType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::LabelImagePointerType

Definition at line 162 of file otbLineSegmentDetector.h.

◆ LabelImageType

template<class TInputImage, class TPrecision = double>
typedef otb::Image<unsigned char, 2> otb::LineSegmentDetector< TInputImage, TPrecision >::LabelImageType

Create an image to store the label USED(255), NOTINI(127) or NOTUSED (0)

Definition at line 161 of file otbLineSegmentDetector.h.

◆ LineType

template<class TInputImage, class TPrecision = double>
typedef VectorDataType::LineType otb::LineSegmentDetector< TInputImage, TPrecision >::LineType

Definition at line 119 of file otbLineSegmentDetector.h.

◆ MagnitudeFilterPointerType

template<class TInputImage, class TPrecision = double>
typedef MagnitudeFilterType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::MagnitudeFilterPointerType

Definition at line 148 of file otbLineSegmentDetector.h.

◆ MagnitudeFilterType

template<class TInputImage, class TPrecision = double>
typedef itk::UnaryFunctorImageFilter<GradientOutputImageType, OutputImageType, Functor::MagnitudeFunctor<typename GradientOutputImageType::PixelType, TPrecision> > otb::LineSegmentDetector< TInputImage, TPrecision >::MagnitudeFilterType

Definition at line 147 of file otbLineSegmentDetector.h.

◆ MagnitudeImagePointerType

template<class TInputImage, class TPrecision = double>
typedef MagnitudeImageType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::MagnitudeImagePointerType

Definition at line 151 of file otbLineSegmentDetector.h.

◆ MagnitudeImageType

template<class TInputImage, class TPrecision = double>
typedef MagnitudeFilterType::OutputImageType otb::LineSegmentDetector< TInputImage, TPrecision >::MagnitudeImageType

Definition at line 150 of file otbLineSegmentDetector.h.

◆ MagnitudePixelType

template<class TInputImage, class TPrecision = double>
typedef MagnitudeFilterType::OutputImageType::PixelType otb::LineSegmentDetector< TInputImage, TPrecision >::MagnitudePixelType

Definition at line 149 of file otbLineSegmentDetector.h.

◆ OrientationFilterPointerType

template<class TInputImage, class TPrecision = double>
typedef OrientationFilterType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::OrientationFilterPointerType

Definition at line 156 of file otbLineSegmentDetector.h.

◆ OrientationFilterType

template<class TInputImage, class TPrecision = double>
typedef itk::UnaryFunctorImageFilter<GradientOutputImageType, OutputImageType, Functor::OrientationFunctor<typename GradientOutputImageType::PixelType, TPrecision> > otb::LineSegmentDetector< TInputImage, TPrecision >::OrientationFilterType

Definition at line 155 of file otbLineSegmentDetector.h.

◆ OriginType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::PointType otb::LineSegmentDetector< TInputImage, TPrecision >::OriginType

Definition at line 114 of file otbLineSegmentDetector.h.

◆ OutputImageDirRegionType

template<class TInputImage, class TPrecision = double>
typedef OutputImageDirType::RegionType otb::LineSegmentDetector< TInputImage, TPrecision >::OutputImageDirRegionType

Definition at line 158 of file otbLineSegmentDetector.h.

◆ OutputImageDirType

template<class TInputImage, class TPrecision = double>
typedef OrientationFilterType::OutputImageType otb::LineSegmentDetector< TInputImage, TPrecision >::OutputImageDirType

Definition at line 157 of file otbLineSegmentDetector.h.

◆ OutputImageType

template<class TInputImage, class TPrecision = double>
typedef Image<TPrecision, 2> otb::LineSegmentDetector< TInputImage, TPrecision >::OutputImageType

Definition of temporary image ised to store LABELS

Definition at line 124 of file otbLineSegmentDetector.h.

◆ OutputIndexType

template<class TInputImage, class TPrecision = double>
typedef OutputImageType::IndexType otb::LineSegmentDetector< TInputImage, TPrecision >::OutputIndexType

Definition at line 126 of file otbLineSegmentDetector.h.

◆ OutputPixelType

template<class TInputImage, class TPrecision = double>
typedef OutputImageType::PixelType otb::LineSegmentDetector< TInputImage, TPrecision >::OutputPixelType

Definition at line 125 of file otbLineSegmentDetector.h.

◆ OutputSizeType

template<class TInputImage, class TPrecision = double>
typedef OutputImageType::SizeType otb::LineSegmentDetector< TInputImage, TPrecision >::OutputSizeType

Definition at line 127 of file otbLineSegmentDetector.h.

◆ Pointer

template<class TInputImage, class TPrecision = double>
typedef itk::SmartPointer<Self> otb::LineSegmentDetector< TInputImage, TPrecision >::Pointer

Definition at line 98 of file otbLineSegmentDetector.h.

◆ PointType

template<class TInputImage, class TPrecision = double>
typedef VectorDataType::PointType otb::LineSegmentDetector< TInputImage, TPrecision >::PointType

Definition at line 120 of file otbLineSegmentDetector.h.

◆ RectangleIteratorType

template<class TInputImage, class TPrecision = double>
typedef RectangleType::iterator otb::LineSegmentDetector< TInputImage, TPrecision >::RectangleIteratorType

Definition at line 166 of file otbLineSegmentDetector.h.

◆ RectangleListType

template<class TInputImage, class TPrecision = double>
typedef std::vector<RectangleType> otb::LineSegmentDetector< TInputImage, TPrecision >::RectangleListType

Definition at line 167 of file otbLineSegmentDetector.h.

◆ RectangleListTypeIterator

template<class TInputImage, class TPrecision = double>
typedef RectangleListType::iterator otb::LineSegmentDetector< TInputImage, TPrecision >::RectangleListTypeIterator

Definition at line 168 of file otbLineSegmentDetector.h.

◆ RectangleType

template<class TInputImage, class TPrecision = double>
typedef std::vector<double> otb::LineSegmentDetector< TInputImage, TPrecision >::RectangleType

Vector to store the rectangle characterization center, width, orientation , ( begin , end ) of the central line

Definition at line 165 of file otbLineSegmentDetector.h.

◆ RegionType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::RegionType otb::LineSegmentDetector< TInputImage, TPrecision >::RegionType

Definition at line 112 of file otbLineSegmentDetector.h.

◆ Self

template<class TInputImage, class TPrecision = double>
typedef LineSegmentDetector otb::LineSegmentDetector< TInputImage, TPrecision >::Self

typedef for the classes standards.

Definition at line 96 of file otbLineSegmentDetector.h.

◆ SizeType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::SizeType otb::LineSegmentDetector< TInputImage, TPrecision >::SizeType

Definition at line 111 of file otbLineSegmentDetector.h.

◆ SpacingType

template<class TInputImage, class TPrecision = double>
typedef InputImageType::SpacingType otb::LineSegmentDetector< TInputImage, TPrecision >::SpacingType

Definition at line 113 of file otbLineSegmentDetector.h.

◆ Superclass

template<class TInputImage, class TPrecision = double>
typedef VectorDataSource<VectorData<TPrecision> > otb::LineSegmentDetector< TInputImage, TPrecision >::Superclass

Definition at line 97 of file otbLineSegmentDetector.h.

◆ VectorDataType

template<class TInputImage, class TPrecision = double>
typedef VectorData<TPrecision> otb::LineSegmentDetector< TInputImage, TPrecision >::VectorDataType

Definition of the output vector data.

Definition at line 117 of file otbLineSegmentDetector.h.

◆ VectorOfIndexVectorType

template<class TInputImage, class TPrecision = double>
typedef std::vector<IndexVectorType> otb::LineSegmentDetector< TInputImage, TPrecision >::VectorOfIndexVectorType

typedef structure to store REGION

Definition at line 136 of file otbLineSegmentDetector.h.

◆ VertexType

template<class TInputImage, class TPrecision = double>
typedef LineType::VertexType otb::LineSegmentDetector< TInputImage, TPrecision >::VertexType

Definition at line 121 of file otbLineSegmentDetector.h.

Constructor & Destructor Documentation

◆ LineSegmentDetector() [1/2]

template<class TInputImage, class TPrecision = double>
otb::LineSegmentDetector< TInputImage, TPrecision >::LineSegmentDetector ( )
protected

◆ ~LineSegmentDetector()

template<class TInputImage, class TPrecision = double>
otb::LineSegmentDetector< TInputImage, TPrecision >::~LineSegmentDetector ( )
inlineoverrideprotected

Definition at line 193 of file otbLineSegmentDetector.h.

◆ LineSegmentDetector() [2/2]

template<class TInputImage, class TPrecision = double>
otb::LineSegmentDetector< TInputImage, TPrecision >::LineSegmentDetector ( const Self )
privatedelete

Member Function Documentation

◆ angle_diff()

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::angle_diff ( double  a,
double  b 
) const
protectedvirtual

◆ ComputeRectangles()

template<class TInputImage, class TPrecision = double>
virtual int otb::LineSegmentDetector< TInputImage, TPrecision >::ComputeRectangles ( )
protectedvirtual

For each region of the region List it builds a rectangle

◆ ComputeRectNFA()

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::ComputeRectNFA ( const RectangleType rec) const
protectedvirtual

Compute the Number Of False Alarm for a rectangle

◆ ComputeRegionOrientation()

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::ComputeRegionOrientation ( IndexVectorType  region,
double  x,
double  y,
double  angleRegion 
) const
protectedvirtual

◆ CopyRectangle()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::CopyRectangle ( RectangleType rDst,
RectangleType rSrc 
) const
protectedvirtual

Create a copy of a rectangle

◆ CreateAnother()

template<class TInputImage, class TPrecision = double>
virtual::itk::LightObject::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::CreateAnother ( void  ) const

◆ GenerateData()

template<class TInputImage, class TPrecision = double>
void otb::LineSegmentDetector< TInputImage, TPrecision >::GenerateData ( )
overrideprotected

Generate Data method

◆ GenerateInputRequestedRegion()

template<class TInputImage, class TPrecision = double>
void otb::LineSegmentDetector< TInputImage, TPrecision >::GenerateInputRequestedRegion ( )
overrideprotected

◆ GetGradMod()

template<class TInputImage, class TPrecision = double>
MagnitudeImagePointerType otb::LineSegmentDetector< TInputImage, TPrecision >::GetGradMod ( )
inline

Custom Get methods to access intermediate data

Definition at line 181 of file otbLineSegmentDetector.h.

◆ GetGradOri()

template<class TInputImage, class TPrecision = double>
OutputImageDirType::Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::GetGradOri ( )
inline

Custom Get methods to access intermediate data

Definition at line 185 of file otbLineSegmentDetector.h.

◆ GetInput()

template<class TInputImage, class TPrecision = double>
virtual const InputImageType* otb::LineSegmentDetector< TInputImage, TPrecision >::GetInput ( void  )
virtual

◆ GetMap()

template<class TInputImage, class TPrecision = double>
LabelImagePointerType otb::LineSegmentDetector< TInputImage, TPrecision >::GetMap ( void  )
inline

Custom Get methods to access intermediate data

Definition at line 177 of file otbLineSegmentDetector.h.

◆ GetNameOfClass()

template<class TInputImage, class TPrecision = double>
virtual const char* otb::LineSegmentDetector< TInputImage, TPrecision >::GetNameOfClass ( ) const
virtual

Return the name of the class.

Reimplemented from otb::VectorDataSource< otb::VectorData< TPrecision > >.

◆ GrowRegion()

template<class TInputImage, class TPrecision = double>
virtual bool otb::LineSegmentDetector< TInputImage, TPrecision >::GrowRegion ( InputIndexType  index,
IndexVectorType region,
double &  regionAngle 
)
protectedvirtual

search for a segment which begins from a seed "index "

◆ ImproveRectangle()

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::ImproveRectangle ( RectangleType rectangle) const
protectedvirtual

◆ IsAligned()

template<class TInputImage, class TPrecision = double>
virtual bool otb::LineSegmentDetector< TInputImage, TPrecision >::IsAligned ( double  Angle,
double  regionAngle,
double  prec 
) const
protectedvirtual

Define if two are aligned

◆ IsNotIni()

template<class TInputImage, class TPrecision = double>
virtual bool otb::LineSegmentDetector< TInputImage, TPrecision >::IsNotIni ( InputIndexType index) const
protectedvirtual

Return true if the pixel status is NOTINI

◆ IsNotUsed()

template<class TInputImage, class TPrecision = double>
virtual bool otb::LineSegmentDetector< TInputImage, TPrecision >::IsNotUsed ( InputIndexType index) const
protectedvirtual

Return true if the pixel status is NOTUSED

◆ IsUsed()

template<class TInputImage, class TPrecision = double>
virtual bool otb::LineSegmentDetector< TInputImage, TPrecision >::IsUsed ( InputIndexType index) const
protectedvirtual

Return true if the pixel status is USED

◆ LineSegmentDetection()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::LineSegmentDetection ( CoordinateHistogramType CoordinateHistogram)
protectedvirtual

◆ New()

template<class TInputImage, class TPrecision = double>
static Pointer otb::LineSegmentDetector< TInputImage, TPrecision >::New ( )
static

Method for management of the object factory.

◆ NFA()

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::NFA ( int  n,
int  k,
double  p,
double  logNT 
) const
protectedvirtual

NFA For a rectangle

◆ operator=()

template<class TInputImage, class TPrecision = double>
void otb::LineSegmentDetector< TInputImage, TPrecision >::operator= ( const Self )
privatedelete

◆ PrintSelf()

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

Printself method

◆ Region2Rectangle()

template<class TInputImage, class TPrecision = double>
virtual RectangleType otb::LineSegmentDetector< TInputImage, TPrecision >::Region2Rectangle ( IndexVectorType  region,
double  regionAngle 
)
protectedvirtual

◆ SetInput()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetInput ( const InputImageType input)
virtual

◆ SetPixelToNotIni()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetPixelToNotIni ( InputIndexType  index)
protectedvirtual

Set Pixel flag to NOTINI

◆ SetPixelToUsed()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetPixelToUsed ( InputIndexType  index)
protectedvirtual

Set Pixel flag to USED

◆ SetRegionToNotIni()

template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetRegionToNotIni ( IndexVectorType  region)
protectedvirtual

Set Pixels flag to NOTINI

◆ SortImageByModulusValue()

template<class TInputImage, class TPrecision = double>
virtual CoordinateHistogramType otb::LineSegmentDetector< TInputImage, TPrecision >::SortImageByModulusValue ( MagnitudeImagePointerType  modulusImage)
protectedvirtual

Sort the image and store the coordinates in a histogram this method is used to determine the seeds where to begin the search segments Points with large gradient modulus are more able to belong to a segment

Member Data Documentation

◆ m_DirectionsAllowed

template<class TInputImage, class TPrecision = double>
double otb::LineSegmentDetector< TInputImage, TPrecision >::m_DirectionsAllowed
private

Definition at line 273 of file otbLineSegmentDetector.h.

◆ m_DirectionVector

template<class TInputImage, class TPrecision = double>
DirectionVectorType otb::LineSegmentDetector< TInputImage, TPrecision >::m_DirectionVector
private

Definition at line 267 of file otbLineSegmentDetector.h.

◆ m_GradientFilter

template<class TInputImage, class TPrecision = double>
GradientFilterPointerType otb::LineSegmentDetector< TInputImage, TPrecision >::m_GradientFilter
private

Gradient filter

Definition at line 277 of file otbLineSegmentDetector.h.

◆ m_MagnitudeFilter

template<class TInputImage, class TPrecision = double>
MagnitudeFilterPointerType otb::LineSegmentDetector< TInputImage, TPrecision >::m_MagnitudeFilter
private

Magnitude filter

Definition at line 280 of file otbLineSegmentDetector.h.

◆ m_MinimumRegionSize

template<class TInputImage, class TPrecision = double>
unsigned int otb::LineSegmentDetector< TInputImage, TPrecision >::m_MinimumRegionSize
private

Definition at line 274 of file otbLineSegmentDetector.h.

◆ m_OrientationFilter

template<class TInputImage, class TPrecision = double>
OrientationFilterPointerType otb::LineSegmentDetector< TInputImage, TPrecision >::m_OrientationFilter
private

Orientation filter

Definition at line 283 of file otbLineSegmentDetector.h.

◆ m_Prec

template<class TInputImage, class TPrecision = double>
double otb::LineSegmentDetector< TInputImage, TPrecision >::m_Prec
private

Definition at line 272 of file otbLineSegmentDetector.h.

◆ m_RectangleList

template<class TInputImage, class TPrecision = double>
RectangleListType otb::LineSegmentDetector< TInputImage, TPrecision >::m_RectangleList
private

Definition at line 269 of file otbLineSegmentDetector.h.

◆ m_RegionList

template<class TInputImage, class TPrecision = double>
VectorOfIndexVectorType otb::LineSegmentDetector< TInputImage, TPrecision >::m_RegionList
private

Definition at line 266 of file otbLineSegmentDetector.h.

◆ m_Threshold

template<class TInputImage, class TPrecision = double>
double otb::LineSegmentDetector< TInputImage, TPrecision >::m_Threshold
private

Definition at line 271 of file otbLineSegmentDetector.h.

◆ m_UsedPointImage

template<class TInputImage, class TPrecision = double>
LabelImagePointerType otb::LineSegmentDetector< TInputImage, TPrecision >::m_UsedPointImage
private

Definition at line 268 of file otbLineSegmentDetector.h.


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