SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::Segmentation Class Reference

Segmentation takes an image and splits it into individual Sources for further refinement. Each Source results in a notification of the Segmentation's Observers. More...

#include <Segmentation.h>

Inheritance diagram for SourceXtractor::Segmentation:
Collaboration diagram for SourceXtractor::Segmentation:

Classes

class  Labelling
class  LabellingListener

Public Member Functions

virtual ~Segmentation ()=default
 Destructor.
 Segmentation (std::shared_ptr< DetectionImageFrame::ImageFilter > image_processing)
template<class LabellingType, typename ... Args>
void setLabelling (Args... args)
void processFrame (std::shared_ptr< DetectionImageFrame > frame) const
 Processes a Frame notifying Observers with a Source object for each detection.
Public Member Functions inherited from SourceXtractor::PipelineEmitter< SourceInterface >
 ~PipelineEmitter () override=default
void setNextStage (std::shared_ptr< PipelineReceiver< SourceInterface > > next)
Public Member Functions inherited from SourceXtractor::Observable< SourceInterface >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< SourceInterface > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< SourceInterface > > observer)
 Removes a previously added Observer from the list of Observers to notify.
Public Member Functions inherited from SourceXtractor::Observable< SegmentationProgress >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< SegmentationProgress > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< SegmentationProgress > > observer)
 Removes a previously added Observer from the list of Observers to notify.

Private Attributes

std::unique_ptr< Labellingm_labelling
std::shared_ptr< DetectionImageFrame::ImageFilter > m_filter_image_processing

Additional Inherited Members

Protected Member Functions inherited from SourceXtractor::PipelineEmitter< SourceInterface >
void sendSource (std::unique_ptr< SourceInterface > source) const
void sendProcessSignal (const ProcessSourcesEvent &event) const
Protected Member Functions inherited from SourceXtractor::Observable< SourceInterface >
void notifyObservers (const SourceInterface &message) const
Protected Member Functions inherited from SourceXtractor::Observable< SegmentationProgress >
void notifyObservers (const SegmentationProgress &message) const

Detailed Description

Segmentation takes an image and splits it into individual Sources for further refinement. Each Source results in a notification of the Segmentation's Observers.

Definition at line 53 of file Segmentation.h.

Constructor & Destructor Documentation

◆ ~Segmentation()

virtual SourceXtractor::Segmentation::~Segmentation ( )
virtualdefault

Destructor.

◆ Segmentation()

SourceXtractor::Segmentation::Segmentation ( std::shared_ptr< DetectionImageFrame::ImageFilter > image_processing)
explicit

Member Function Documentation

◆ processFrame()

void SourceXtractor::Segmentation::processFrame ( std::shared_ptr< DetectionImageFrame > frame) const

Processes a Frame notifying Observers with a Source object for each detection.

Definition at line 31 of file Segmentation.cpp.

References m_filter_image_processing, m_labelling, std::make_shared(), and SourceXtractor::PipelineEmitter< SourceInterface >::sendProcessSignal().

Here is the call graph for this function:

◆ setLabelling()

template<class LabellingType, typename ... Args>
void SourceXtractor::Segmentation::setLabelling ( Args... args)
inline

Definition at line 65 of file Segmentation.h.

References std::forward(), and m_labelling.

Here is the call graph for this function:

Member Data Documentation

◆ m_filter_image_processing

std::shared_ptr<DetectionImageFrame::ImageFilter> SourceXtractor::Segmentation::m_filter_image_processing
private

Definition at line 79 of file Segmentation.h.

Referenced by processFrame(), and Segmentation().

◆ m_labelling

std::unique_ptr<Labelling> SourceXtractor::Segmentation::m_labelling
private

Definition at line 78 of file Segmentation.h.

Referenced by processFrame(), and setLabelling().


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