OTB  6.7.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 Self
ConstPointer
 
typedef
CoordinateHistogramType::iterator 
CoordinateHistogramIteratorType
 
typedef std::vector
< IndexVectorType
CoordinateHistogramType
 
typedef
VectorDataType::DataNodeType 
DataNodeType
 
typedef
DirectionVectorType::iterator 
DirectionVectorIteratorType
 
typedef std::vector< float > DirectionVectorType
 
typedef GradientFilterType::Pointer GradientFilterPointerType
 
typedef
itk::GradientRecursiveGaussianImageFilter
< OutputImageType
GradientFilterType
 
typedef
GradientFilterType::OutputImageType 
GradientOutputImageType
 
typedef IndexVectorType::iterator IndexVectorIteratorType
 
typedef std::vector
< OutputIndexType
IndexVectorType
 
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
< RectangleType
RectangleListType
 
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
< IndexVectorType
VectorOfIndexVectorType
 
typedef LineType::VertexType VertexType
 
- Public Types inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
typedef itk::SmartPointer
< const Self
ConstPointer
 
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 Types inherited from itk::ProcessObject
typedef SmartPointer< const SelfConstPointer
 
typedef
DataObject::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
 
typedef
DataObjectPointerArray::size_type 
DataObjectPointerArraySizeType
 
typedef std::vector
< DataObjectIdentifierType
NameArray
 
typedef SmartPointer< SelfPointer
 
typedef ProcessObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

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)
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreader * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual const ThreadIdTypeGetNumberOfThreads () const
 
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual const float & GetProgress () const
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual bool GetReleaseDataFlag () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
virtual DataObjectPointer MakeOutput (DataObjectPointerArraySizeType idx)
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
void ReleaseDataFlagOff ()
 
void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void SetNumberOfThreads (ThreadIdType _arg)
 
void SetProgress (float progress)
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual void SetReleaseDataFlag (bool flag)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
virtual ModifiedTimeType GetMTime () const
 
virtual const std::string & GetObjectName () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::VectorDataSource< otb::VectorData< TPrecision > >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
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 ()
 
 ~VectorDataSource () override
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
virtual void AddOutput (DataObject *output)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateOutputInformation ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs () const
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs () const
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual const char * GetPrimaryInputName (void) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
virtual const char * GetPrimaryOutputName (void) const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
virtual void PopBackInput ()
 
virtual void PopFrontInput ()
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void PushBackInput (const DataObject *input)
 
virtual void PushFrontInput (const DataObject *input)
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *input)
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual void SetPrimaryOutput (DataObject *output)
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
void SetRequiredInputNames (const NameArray &)
 
virtual void VerifyInputInformation ()
 
virtual void VerifyPreconditions ()
 
 ~ProcessObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

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
 

Additional Inherited Members

- Protected Attributes inherited from itk::ProcessObject
TimeStamp m_OutputInformationMTime
 
bool m_Updating
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

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 94 of file otbLineSegmentDetector.h.

Member Typedef Documentation

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

Definition at line 103 of file otbLineSegmentDetector.h.

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

Definition at line 137 of file otbLineSegmentDetector.h.

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

Definition at line 136 of file otbLineSegmentDetector.h.

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

Definition at line 122 of file otbLineSegmentDetector.h.

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

Definition at line 142 of file otbLineSegmentDetector.h.

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

Definition at line 141 of file otbLineSegmentDetector.h.

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

Definition at line 146 of file otbLineSegmentDetector.h.

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

Definition at line 145 of file otbLineSegmentDetector.h.

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

Definition at line 147 of file otbLineSegmentDetector.h.

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

Definition at line 135 of file otbLineSegmentDetector.h.

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 134 of file otbLineSegmentDetector.h.

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

Definition of the input image

Definition at line 109 of file otbLineSegmentDetector.h.

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

Definition at line 114 of file otbLineSegmentDetector.h.

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

Definition at line 113 of file otbLineSegmentDetector.h.

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

Definition at line 166 of file otbLineSegmentDetector.h.

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 165 of file otbLineSegmentDetector.h.

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

Definition at line 123 of file otbLineSegmentDetector.h.

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

Definition at line 152 of file otbLineSegmentDetector.h.

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 151 of file otbLineSegmentDetector.h.

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

Definition at line 155 of file otbLineSegmentDetector.h.

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

Definition at line 154 of file otbLineSegmentDetector.h.

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

Definition at line 153 of file otbLineSegmentDetector.h.

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

Definition at line 160 of file otbLineSegmentDetector.h.

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 159 of file otbLineSegmentDetector.h.

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

Definition at line 118 of file otbLineSegmentDetector.h.

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

Definition at line 162 of file otbLineSegmentDetector.h.

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

Definition at line 161 of file otbLineSegmentDetector.h.

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 128 of file otbLineSegmentDetector.h.

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

Definition at line 130 of file otbLineSegmentDetector.h.

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

Definition at line 129 of file otbLineSegmentDetector.h.

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

Definition at line 131 of file otbLineSegmentDetector.h.

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

Definition at line 102 of file otbLineSegmentDetector.h.

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

Definition at line 124 of file otbLineSegmentDetector.h.

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

Definition at line 170 of file otbLineSegmentDetector.h.

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

Definition at line 171 of file otbLineSegmentDetector.h.

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

Definition at line 172 of file otbLineSegmentDetector.h.

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

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

Definition at line 169 of file otbLineSegmentDetector.h.

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

Definition at line 116 of file otbLineSegmentDetector.h.

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

typedef for the classes standards.

Definition at line 100 of file otbLineSegmentDetector.h.

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

Definition at line 115 of file otbLineSegmentDetector.h.

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

Definition at line 117 of file otbLineSegmentDetector.h.

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

Definition at line 101 of file otbLineSegmentDetector.h.

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

Definition of the output vector data.

Definition at line 121 of file otbLineSegmentDetector.h.

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

typedef structure to store REGION

Definition at line 140 of file otbLineSegmentDetector.h.

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

Definition at line 125 of file otbLineSegmentDetector.h.

Constructor & Destructor Documentation

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

Definition at line 197 of file otbLineSegmentDetector.h.

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

Member Function Documentation

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::angle_diff ( double  a,
double  b 
) const
protectedvirtual
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

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

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::ComputeRegionOrientation ( IndexVectorType  region,
double  x,
double  y,
double  angleRegion 
) const
protectedvirtual
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

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

Reimplemented from itk::Object.

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

Generate Data method

Reimplemented from itk::ProcessObject.

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

Reimplemented from itk::ProcessObject.

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

Custom Get methods to access intermediate data

Definition at line 185 of file otbLineSegmentDetector.h.

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

Custom Get methods to access intermediate data

Definition at line 189 of file otbLineSegmentDetector.h.

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

Custom Get methods to access intermediate data

Definition at line 181 of file otbLineSegmentDetector.h.

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 > >.

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 "

template<class TInputImage, class TPrecision = double>
virtual double otb::LineSegmentDetector< TInputImage, TPrecision >::ImproveRectangle ( RectangleType rectangle) const
protectedvirtual
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

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

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

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

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

Method for management of the object factory.

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

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

Printself method

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TPrecision = double>
virtual RectangleType otb::LineSegmentDetector< TInputImage, TPrecision >::Region2Rectangle ( IndexVectorType  region,
double  regionAngle 
)
protectedvirtual
template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetInput ( const InputImageType input)
virtual
template<class TInputImage, class TPrecision = double>
virtual void otb::LineSegmentDetector< TInputImage, TPrecision >::SetPixelToNotIni ( InputIndexType  index)
protectedvirtual

Set Pixel flag to NOTINI

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

Set Pixel flag to USED

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

Set Pixels flag to NOTINI

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

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

Definition at line 275 of file otbLineSegmentDetector.h.

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

Definition at line 269 of file otbLineSegmentDetector.h.

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

Gradient filter

Definition at line 279 of file otbLineSegmentDetector.h.

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

Magnitude filter

Definition at line 282 of file otbLineSegmentDetector.h.

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

Definition at line 276 of file otbLineSegmentDetector.h.

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

Orientation filter

Definition at line 285 of file otbLineSegmentDetector.h.

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

Definition at line 274 of file otbLineSegmentDetector.h.

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

Definition at line 271 of file otbLineSegmentDetector.h.

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

Definition at line 268 of file otbLineSegmentDetector.h.

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

Definition at line 273 of file otbLineSegmentDetector.h.

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

Definition at line 270 of file otbLineSegmentDetector.h.


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