|
SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
|
#include <MoffatGrouping.h>


Classes | |
| struct | SourceInfo |
Public Types | |
| using | Group = std::vector<std::shared_ptr<SourceInfo>> |
Public Member Functions | |
| MoffatGrouping (std::shared_ptr< GroupingCriteria > grouping_criteria, std::shared_ptr< SourceGroupFactory > group_factory, unsigned int hard_limit, float max_range) | |
| virtual | ~MoffatGrouping ()=default |
| std::set< PropertyId > | requiredProperties () const override |
| Returns the set of required properties to compute the grouping. | |
| void | receiveSource (std::unique_ptr< SourceInterface > source) override |
| Handles a new Source. | |
| void | receiveProcessSignal (const ProcessSourcesEvent &event) override |
| Handles a ProcessSourcesEvent to trigger the processing of some of the Sources stored in SourceGrouping. | |
| Public Member Functions inherited from SourceXtractor::PipelineEmitter< SourceGroupInterface > | |
| ~PipelineEmitter () override=default | |
| void | setNextStage (std::shared_ptr< PipelineReceiver< SourceGroupInterface > > next) |
| Public Member Functions inherited from SourceXtractor::Observable< SourceGroupInterface > | |
| virtual | ~Observable ()=default |
| Destructor. | |
| virtual void | addObserver (std::shared_ptr< Observer< SourceGroupInterface > > observer) |
| Adds an Observer that will be notified when notify Observers is called. | |
| virtual void | removeObserver (std::shared_ptr< Observer< SourceGroupInterface > > observer) |
| Removes a previously added Observer from the list of Observers to notify. | |
| Public Member Functions inherited from SourceXtractor::PipelineReceiver< SourceInterface > | |
| virtual | ~PipelineReceiver ()=default |
Private Member Functions | |
| void | processGroup (unsigned int group_id) |
Private Attributes | |
| std::shared_ptr< GroupingCriteria > | m_grouping_criteria |
| std::shared_ptr< SourceGroupFactory > | m_group_factory |
| unsigned int | m_hard_limit |
| float | m_max_range |
| size_t | m_group_counter |
| std::map< unsigned int, std::shared_ptr< Group > > | m_groups |
| QuadTree< std::shared_ptr< SourceInfo > > | m_tree |
Additional Inherited Members | |
| Protected Member Functions inherited from SourceXtractor::PipelineEmitter< SourceGroupInterface > | |
| void | sendSource (std::unique_ptr< SourceGroupInterface > source) const |
| void | sendProcessSignal (const ProcessSourcesEvent &event) const |
| Protected Member Functions inherited from SourceXtractor::Observable< SourceGroupInterface > | |
| void | notifyObservers (const SourceGroupInterface &message) const |
Definition at line 30 of file MoffatGrouping.h.
Definition at line 38 of file MoffatGrouping.h.
| SourceXtractor::MoffatGrouping::MoffatGrouping | ( | std::shared_ptr< GroupingCriteria > | grouping_criteria, |
| std::shared_ptr< SourceGroupFactory > | group_factory, | ||
| unsigned int | hard_limit, | ||
| float | max_range ) |
Definition at line 44 of file MoffatGrouping.cpp.
References m_group_counter, m_group_factory, m_grouping_criteria, m_hard_limit, and m_max_range.
|
virtualdefault |
|
private |
Definition at line 130 of file MoffatGrouping.cpp.
References m_group_factory, m_groups, m_tree, std::move(), and SourceXtractor::PipelineEmitter< SourceGroupInterface >::sendSource().
Referenced by receiveProcessSignal(), and receiveSource().

|
overridevirtual |
Handles a ProcessSourcesEvent to trigger the processing of some of the Sources stored in SourceGrouping.
Implements SourceXtractor::PipelineReceiver< SourceInterface >.
Definition at line 110 of file MoffatGrouping.cpp.
References m_groups, SourceXtractor::ProcessSourcesEvent::m_selection_criteria, processGroup(), and std::vector< T >::push_back().

|
overridevirtual |
Handles a new Source.
Implements SourceXtractor::PipelineReceiver< SourceInterface >.
Definition at line 60 of file MoffatGrouping.cpp.
References std::set< K >::end(), std::set< K >::find(), SourceXtractor::PixelCentroid::getCentroidX(), SourceXtractor::PixelCentroid::getCentroidY(), std::set< K >::insert(), m_group_counter, m_grouping_criteria, m_groups, m_hard_limit, m_max_range, m_tree, std::make_shared(), std::move(), and processGroup().

|
overridevirtual |
Returns the set of required properties to compute the grouping.
Implements SourceXtractor::SourceGroupingInterface.
Definition at line 51 of file MoffatGrouping.cpp.
References SourceXtractor::PropertyId::create().

|
private |
Definition at line 60 of file MoffatGrouping.h.
Referenced by MoffatGrouping(), and receiveSource().
|
private |
Definition at line 56 of file MoffatGrouping.h.
Referenced by MoffatGrouping(), and processGroup().
|
private |
Definition at line 55 of file MoffatGrouping.h.
Referenced by MoffatGrouping(), and receiveSource().
|
private |
Definition at line 61 of file MoffatGrouping.h.
Referenced by processGroup(), receiveProcessSignal(), and receiveSource().
|
private |
Definition at line 57 of file MoffatGrouping.h.
Referenced by MoffatGrouping(), and receiveSource().
|
private |
Definition at line 58 of file MoffatGrouping.h.
Referenced by MoffatGrouping(), and receiveSource().
|
private |
Definition at line 62 of file MoffatGrouping.h.
Referenced by processGroup(), and receiveSource().