SourceXtractorPlusPlus  0.10
Please provide a description of the project.
Classes | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
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:
[legend]
Collaboration diagram for SourceXtractor::Segmentation:
[legend]

Classes

class  Labelling
 
class  LabellingListener
 

Public Member Functions

virtual ~Segmentation ()=default
 Destructor. More...
 
 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. More...
 
- Public Member Functions inherited from SourceXtractor::Observable< std::shared_ptr< SourceInterface > >
virtual ~Observable ()=default
 Destructor. More...
 
virtual void addObserver (std::shared_ptr< Observer< std::shared_ptr< SourceInterface > >> observer)
 Adds an Observer that will be notified when notify Observers is called. More...
 
virtual void removeObserver (std::shared_ptr< Observer< std::shared_ptr< SourceInterface > >> observer)
 Removes a previously added Observer from the list of Observers to notify. More...
 
- Public Member Functions inherited from SourceXtractor::Observable< SegmentationProgress >
virtual ~Observable ()=default
 Destructor. More...
 
virtual void addObserver (std::shared_ptr< Observer< SegmentationProgress >> observer)
 Adds an Observer that will be notified when notify Observers is called. More...
 
virtual void removeObserver (std::shared_ptr< Observer< SegmentationProgress >> observer)
 Removes a previously added Observer from the list of Observers to notify. More...
 
- Public Member Functions inherited from SourceXtractor::Observable< ProcessSourcesEvent >
virtual ~Observable ()=default
 Destructor. More...
 
virtual void addObserver (std::shared_ptr< Observer< ProcessSourcesEvent >> observer)
 Adds an Observer that will be notified when notify Observers is called. More...
 
virtual void removeObserver (std::shared_ptr< Observer< ProcessSourcesEvent >> observer)
 Removes a previously added Observer from the list of Observers to notify. More...
 

Protected Member Functions

void publishSource (std::shared_ptr< SourceInterface > source) const
 
- Protected Member Functions inherited from SourceXtractor::Observable< std::shared_ptr< SourceInterface > >
void notifyObservers (const std::shared_ptr< SourceInterface > &message) const
 
- Protected Member Functions inherited from SourceXtractor::Observable< SegmentationProgress >
void notifyObservers (const SegmentationProgress &message) const
 
- Protected Member Functions inherited from SourceXtractor::Observable< ProcessSourcesEvent >
void notifyObservers (const ProcessSourcesEvent &message) const
 

Private Attributes

std::unique_ptr< Labellingm_labelling
 
std::shared_ptr< DetectionImageFrame::ImageFilterm_filter_image_processing
 

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 58 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)

Definition at line 27 of file Segmentation.cpp.

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, and SourceXtractor::Observable< T >::notifyObservers().

Here is the call graph for this function:

◆ publishSource()

void SourceXtractor::Segmentation::publishSource ( std::shared_ptr< SourceInterface source) const
inlineprotected

Definition at line 84 of file Segmentation.h.

References SourceXtractor::Observable< ProcessSourcesEvent >::notifyObservers().

Here is the call graph for this function:

◆ setLabelling()

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

Definition at line 71 of file Segmentation.h.

References m_labelling.

Member Data Documentation

◆ m_filter_image_processing

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

Definition at line 90 of file Segmentation.h.

Referenced by processFrame().

◆ m_labelling

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

Definition at line 89 of file Segmentation.h.

Referenced by processFrame(), and setLabelling().


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