OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > Class Template Reference

#include <otbStreamingImageToOGRLayerSegmentationFilter.h>

+ Inheritance diagram for otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >:
+ Collaboration diagram for otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TImageType InputImageType
 
typedef PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelImageType LabelImageType
 
typedef PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelPixelType LabelPixelType
 
typedef PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRDataSourcePointerType OGRDataSourcePointerType
 
typedef PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRLayerType OGRLayerType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TSegmentationFilter SegmentationFilterType
 
typedef StreamingImageToOGRLayerSegmentationFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > > Superclass
 
- Public Types inherited from otb::PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef FilterType::Pointer FilterPointerType
 
typedef PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > FilterType
 
typedef FilterType::InputImageType ImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef PersistentFilterStreamingDecorator Self
 
typedef StreamerType::Pointer StreamerPointerType
 
typedef StreamingImageVirtualWriter< ImageTypeStreamerType
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
const std::string & GetFieldName () const
 
bool GetFilterSmallObject ()
 
const InputImageTypeGetInput ()
 
const LabelImageTypeGetInputMask ()
 
unsigned int GetMinimumObjectSize ()
 
virtual const char * GetNameOfClass () const
 
SegmentationFilterTypeGetSegmentationFilter ()
 
double GetSimplificationTolerance ()
 
bool GetSimplify ()
 
const LabelPixelTypeGetStartLabel ()
 
SizeType GetStreamSize ()
 
bool GetUse8Connected ()
 
void Initialize ()
 
void SetFieldName (const std::string &fieldName)
 
void SetFilterSmallObject (bool flag)
 
void SetInput (InputImageType *input)
 
void SetInputMask (LabelImageType *mask)
 
void SetMinimumObjectSize (const unsigned int &size)
 
void SetOGRLayer (const OGRLayerType &ogrLayer)
 
void SetSimplificationTolerance (const double &tol)
 
void SetSimplify (bool flag)
 
void SetStartLabel (const LabelPixelType &label)
 
void SetUse8Connected (bool flag)
 
- Public Member Functions inherited from otb::PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const FilterTypeGetFilter () const
 
virtual const char * GetNameOfClass () const
 
 itkGetObjectMacro (Filter, FilterType)
 
 itkGetObjectMacro (Streamer, StreamerType)
 
virtual void SetFilter (FilterType *_arg)
 
void Update (void) override
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > >
static Pointer New ()
 

Protected Member Functions

 StreamingImageToOGRLayerSegmentationFilter ()
 
 ~StreamingImageToOGRLayerSegmentationFilter () override
 
- Protected Member Functions inherited from otb::PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > >
void GenerateData (void) override
 
 PersistentFilterStreamingDecorator ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~PersistentFilterStreamingDecorator () override
 

Private Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from otb::PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > >
FilterPointerType m_Filter
 
StreamerPointerType m_Streamer
 

Detailed Description

template<class TImageType, class TSegmentationFilter>
class otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >

This filter is a framework for large scale segmentation. It is a persistent filter that process the input image tile by tile. This filter is templated over the segmentation filter. This later is used to segment each tile of the input image. Each segmentation result (for each tile) is then vectorized using LabelImageToOGRDataSourceFilter (based on GDALPolygonize()). The output OGRDataSource of the LabelImageToOGRDataSourceFilter is a "memory" DataSource (ie all features of a tile are kept in memory). From here some optional processing can be done, depending on input parameters :

Note
The Use8Connected parameter can be turn on and it will be used in GDALPolygonize(). But be carreful, it can create cross polygons !
The input mask can be used to exclude pixels from vectorization process. All pixels with a value of 0 in the input mask image will not be suitable for vectorization.

Definition at line 203 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TImageType , class TSegmentationFilter >
typedef itk::SmartPointer<const Self> otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::ConstPointer

◆ InputImageType

template<class TImageType , class TSegmentationFilter >
typedef TImageType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::InputImageType

◆ LabelImageType

template<class TImageType , class TSegmentationFilter >
typedef PersistentImageToOGRLayerSegmentationFilter<TImageType, TSegmentationFilter>::LabelImageType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelImageType

◆ LabelPixelType

template<class TImageType , class TSegmentationFilter >
typedef PersistentImageToOGRLayerSegmentationFilter<TImageType, TSegmentationFilter>::LabelPixelType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelPixelType

◆ OGRDataSourcePointerType

template<class TImageType , class TSegmentationFilter >
typedef PersistentImageToOGRLayerSegmentationFilter<TImageType, TSegmentationFilter>::OGRDataSourcePointerType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRDataSourcePointerType

◆ OGRLayerType

template<class TImageType , class TSegmentationFilter >
typedef PersistentImageToOGRLayerSegmentationFilter<TImageType, TSegmentationFilter>::OGRLayerType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRLayerType

◆ Pointer

template<class TImageType , class TSegmentationFilter >
typedef itk::SmartPointer<Self> otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::Pointer

◆ SegmentationFilterType

template<class TImageType , class TSegmentationFilter >
typedef TSegmentationFilter otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SegmentationFilterType

◆ Self

template<class TImageType , class TSegmentationFilter >
typedef StreamingImageToOGRLayerSegmentationFilter otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::Self

Standard Self typedef

Definition at line 209 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SizeType

template<class TImageType , class TSegmentationFilter >
typedef InputImageType::SizeType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SizeType

◆ Superclass

template<class TImageType , class TSegmentationFilter >
typedef PersistentFilterStreamingDecorator<PersistentImageToOGRLayerSegmentationFilter<TImageType, TSegmentationFilter> > otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::Superclass

Constructor & Destructor Documentation

◆ StreamingImageToOGRLayerSegmentationFilter() [1/2]

template<class TImageType , class TSegmentationFilter >
otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::StreamingImageToOGRLayerSegmentationFilter ( )
inlineprotected

Constructor

Definition at line 354 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ ~StreamingImageToOGRLayerSegmentationFilter()

template<class TImageType , class TSegmentationFilter >
otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::~StreamingImageToOGRLayerSegmentationFilter ( )
inlineoverrideprotected

Destructor

Definition at line 359 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ StreamingImageToOGRLayerSegmentationFilter() [2/2]

template<class TImageType , class TSegmentationFilter >
otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::StreamingImageToOGRLayerSegmentationFilter ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TImageType , class TSegmentationFilter >
virtual::itk::LightObject::Pointer otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::CreateAnother ( void  ) const

◆ GetFieldName()

template<class TImageType , class TSegmentationFilter >
const std::string& otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetFieldName ( ) const
inline

◆ GetFilterSmallObject()

template<class TImageType , class TSegmentationFilter >
bool otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetFilterSmallObject ( )
inline

◆ GetInput()

template<class TImageType , class TSegmentationFilter >
const InputImageType* otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetInput ( )
inline

◆ GetInputMask()

template<class TImageType , class TSegmentationFilter >
const LabelImageType* otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetInputMask ( )
inline

◆ GetMinimumObjectSize()

template<class TImageType , class TSegmentationFilter >
unsigned int otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetMinimumObjectSize ( )
inline

◆ GetNameOfClass()

template<class TImageType , class TSegmentationFilter >
virtual const char* otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetNameOfClass ( ) const
virtual

Creation through object factory macro

◆ GetSegmentationFilter()

template<class TImageType , class TSegmentationFilter >
SegmentationFilterType* otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetSegmentationFilter ( )
inline

◆ GetSimplificationTolerance()

template<class TImageType , class TSegmentationFilter >
double otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetSimplificationTolerance ( )
inline

◆ GetSimplify()

template<class TImageType , class TSegmentationFilter >
bool otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetSimplify ( )
inline

◆ GetStartLabel()

template<class TImageType , class TSegmentationFilter >
const LabelPixelType& otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetStartLabel ( )
inline

Return the first label value

Definition at line 282 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ GetStreamSize()

template<class TImageType , class TSegmentationFilter >
SizeType otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetStreamSize ( )
inline

Retrieve the actual streamsize used

Definition at line 288 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ GetUse8Connected()

template<class TImageType , class TSegmentationFilter >
bool otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::GetUse8Connected ( )
inline

◆ Initialize()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::Initialize ( )
inline

◆ New()

template<class TImageType , class TSegmentationFilter >
static Pointer otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::New ( )
static

Type macro

◆ operator=()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::operator= ( const Self )
privatedelete

◆ SetFieldName()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetFieldName ( const std::string &  fieldName)
inline

◆ SetFilterSmallObject()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetFilterSmallObject ( bool  flag)
inline

Set the option for filtering small objects. Default to false.

Definition at line 310 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetInput()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetInput ( InputImageType input)
inline

◆ SetInputMask()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetInputMask ( LabelImageType mask)
inline

Set/Get the input mask image. All pixels in the mask with a value of 0 will not be considered suitable for vectorization.

Definition at line 244 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetMinimumObjectSize()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetMinimumObjectSize ( const unsigned int &  size)
inline

Set the minimum object size (in pixels) in case FilterSmallObject option is true.

Definition at line 320 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetOGRLayer()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetOGRLayer ( const OGRLayerType ogrLayer)
inline

Set the ogr::Layer in which the layer LayerName will be created.

Definition at line 254 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetSimplificationTolerance()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetSimplificationTolerance ( const double &  tol)
inline

Set the tolerance value for simplifying geometries.

See also
OGRGeometry::Simplify() OGRGeometry::SimplifyPreserveTopology()

Definition at line 342 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetSimplify()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetSimplify ( bool  flag)
inline

Option for simplifying geometries. Default to false.

Definition at line 330 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetStartLabel()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetStartLabel ( const LabelPixelType label)
inline

Set the first Label value (default is 1). Incremental step is 1.

Definition at line 276 of file otbStreamingImageToOGRLayerSegmentationFilter.h.

◆ SetUse8Connected()

template<class TImageType , class TSegmentationFilter >
void otb::StreamingImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::SetUse8Connected ( bool  flag)
inline

Set the value of 8-connected neighborhood option used in LabelImageToOGRDataSourceFilter

Definition at line 300 of file otbStreamingImageToOGRLayerSegmentationFilter.h.


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