SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Deblending.cpp
Go to the documentation of this file.
1
22
24
25namespace SourceXtractor {
26
30
32
33 // Applies every DeblendStep to the SourceGroup
34 for (auto& step : m_deblend_steps) {
35 step->deblend(*group);
36 }
37
38 // If the SourceGroup still contains sources, we notify the observers
39 if (group->begin() != group->end()) {
40 sendSource(std::move(group));
41 }
42}
43
45 std::set<PropertyId> properties;
46 for (auto& step : m_deblend_steps) {
47 auto step_props = step->requiredProperties();
48 std::copy(step_props.begin(), step_props.end(), std::inserter(properties, properties.end()));
49 }
50 return properties;
51}
52
56
57} // SEFramework namespace
Deblending(std::vector< std::shared_ptr< DeblendStep > > deblend_steps)
Constructor - takes a vector of DeblendStep to be applied, in order, to every SourceGroup.
void receiveSource(std::unique_ptr< SourceGroupInterface > group) override
Handles a new SourceGroup, applies the DeblendSteps and then notifies the observers with the result.
std::set< PropertyId > requiredProperties() const
Returns the set of required properties to compute the deblending.
void receiveProcessSignal(const ProcessSourcesEvent &event) override
std::vector< std::shared_ptr< DeblendStep > > m_deblend_steps
Definition Deblending.h:75
void sendProcessSignal(const ProcessSourcesEvent &event) const
void sendSource(std::unique_ptr< SourceGroupInterface > source) const
T copy(T... args)
T end(T... args)
T inserter(T... args)
T move(T... args)
STL namespace.
Event received by SourceGrouping to request the processing of some of the Sources stored.