22 #ifndef otbStreamingImageToOGRLayerSegmentationFilter_h
23 #define otbStreamingImageToOGRLayerSegmentationFilter_h
25 #include "itkExtractImageFilter.h"
30 #include "itkMultiplyImageFilter.h"
45 template <
class TInputImage,
class TOutputImage,
class TOutputImage2,
class TKernelType>
60 template <
class TImageType,
class TSegmentationFilter>
94 itkSetStringMacro(FieldName);
95 itkGetStringMacro(FieldName);
110 itkSetMacro(Use8Connected,
bool);
115 itkGetMacro(Use8Connected,
bool);
118 itkSetMacro(FilterSmallObject,
bool);
121 itkGetMacro(FilterSmallObject,
bool);
124 itkSetMacro(MinimumObjectSize,
unsigned int);
127 itkGetMacro(MinimumObjectSize,
unsigned int);
137 itkSetMacro(SimplificationTolerance,
double);
142 itkGetMacro(SimplificationTolerance,
double);
202 template <
class TImageType,
class TSegmentationFilter>
227 typedef typename InputImageType::SizeType
SizeType;
230 using Superclass::SetInput;
233 this->GetFilter()->SetInput(input);
237 return this->GetFilter()->GetInput();
246 this->GetFilter()->SetInputMask(mask);
250 return this->GetFilter()->GetInputMask();
256 this->GetFilter()->SetOGRLayer(ogrLayer);
261 this->GetFilter()->SetFieldName(fieldName);
266 return this->GetFilter()->GetFieldName();
272 return this->GetFilter()->GetSegmentationFilter();
278 this->GetFilter()->SetStartLabel(label);
284 return this->GetFilter()->GetStartLabel();
290 return this->GetFilter()->GetStreamSize();
295 this->GetFilter()->Initialize();
302 this->GetFilter()->SetUse8Connected(flag);
307 return this->GetFilter()->GetUse8Connected();
312 this->GetFilter()->SetFilterSmallObject(flag);
317 return this->GetFilter()->GetFilterSmallObject();
322 this->GetFilter()->SetMinimumObjectSize(size);
327 return this->GetFilter()->GetMinimumObjectSize();
332 this->GetFilter()->SetSimplify(flag);
337 return this->GetFilter()->GetSimplify();
344 this->GetFilter()->SetSimplificationTolerance(tol);
349 return this->GetFilter()->GetSimplificationTolerance();
369 #ifndef OTB_MANUAL_INSTANTIATION
Creation of an "otb" image which contains metadata.
Accessor to the index of the labeled output image of the Template Filter.
static const unsigned int LabeledOutputIndex
TFilter::OutputImageType LabelImageType
This filter link a persistent filter with a StreamingImageVirtualWriter.
This filter is the base class for all filter persisting data through multiple update....
Perform vectorization in a persistent way.
ogr::DataSource OGRDataSourceType
OGRDataSourceType::Pointer OGRDataSourcePointerType
TImageType InputImageType
InputImageType::Pointer InputImagePointer
PersistentImageToOGRLayerFilter< TImageType > Superclass
TSegmentationFilter SegmentationFilterType
virtual void SetInputMask(const LabelImageType *mask)
Superclass::InputImageType InputImageType
~PersistentImageToOGRLayerSegmentationFilter() override
itk::MultiplyImageFilter< LabelImageType, LabelImageType, LabelImageType > MultiplyImageFilterType
PersistentImageToOGRLayerSegmentationFilter Self
SegmentationFilterType::Pointer m_SegmentationFilter
LabeledOutputAccessor< SegmentationFilterType >::LabelImageType LabelImageType
otb::LabelImageToOGRDataSourceFilter< LabelImageType > LabelImageToOGRDataSourceFilterType
virtual const LabelImageType * GetInputMask(void)
PersistentImageToOGRLayerSegmentationFilter()
itkGetObjectMacro(SegmentationFilter, SegmentationFilterType)
Superclass::InputImagePointer InputImagePointerType
unsigned int m_MinimumObjectSize
RelabelComponentImageFilter< LabelImageType, LabelImageType > RelabelComponentImageFilterType
LabelPixelType m_StartLabel
OGRDataSourcePointerType ProcessTile() override
unsigned int m_TileNumber
Superclass::OGRLayerType OGRLayerType
itk::SmartPointer< const Self > ConstPointer
Superclass::OGRDataSourcePointerType OGRDataSourcePointerType
PersistentImageToOGRLayerSegmentationFilter(const Self &)=delete
LabelImageType::PixelType LabelPixelType
void SetStartLabel(const LabelPixelType &label)
double m_SimplificationTolerance
itk::SmartPointer< Self > Pointer
void operator=(const Self &)=delete
Superclass::OGRDataSourceType OGRDataSourceType
Relabel the components in an image such that consecutive labels are used.
This filter is a framework for large scale segmentation. It is a persistent filter that process the i...
void SetFilterSmallObject(bool flag)
unsigned int GetMinimumObjectSize()
StreamingImageToOGRLayerSegmentationFilter Self
void SetStartLabel(const LabelPixelType &label)
void SetInput(InputImageType *input)
bool GetFilterSmallObject()
PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRLayerType OGRLayerType
void SetSimplify(bool flag)
void SetMinimumObjectSize(const unsigned int &size)
void SetUse8Connected(bool flag)
void SetFieldName(const std::string &fieldName)
const LabelPixelType & GetStartLabel()
StreamingImageToOGRLayerSegmentationFilter()
const std::string & GetFieldName() const
PersistentFilterStreamingDecorator< PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter > > Superclass
const LabelImageType * GetInputMask()
void SetOGRLayer(const OGRLayerType &ogrLayer)
itk::SmartPointer< const Self > ConstPointer
TSegmentationFilter SegmentationFilterType
PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelImageType LabelImageType
itk::SmartPointer< Self > Pointer
void SetInputMask(LabelImageType *mask)
InputImageType::SizeType SizeType
void SetSimplificationTolerance(const double &tol)
TImageType InputImageType
double GetSimplificationTolerance()
StreamingImageToOGRLayerSegmentationFilter(const Self &)=delete
~StreamingImageToOGRLayerSegmentationFilter() override
PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::LabelPixelType LabelPixelType
const InputImageType * GetInput()
SegmentationFilterType * GetSegmentationFilter()
void operator=(const Self &)=delete
PersistentImageToOGRLayerSegmentationFilter< TImageType, TSegmentationFilter >::OGRDataSourcePointerType OGRDataSourcePointerType
OTBGdalAdapters_EXPORT UniqueGeometryPtr Simplify(OGRGeometry const &g, double tolerance)
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.