SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Deblending.h
Go to the documentation of this file.
1
22
23#ifndef _SEFRAMEWORK_PIPELINE_DEBLENDING_H
24#define _SEFRAMEWORK_PIPELINE_DEBLENDING_H
25
29
30namespace SourceXtractor {
31
38public:
39
41 virtual ~DeblendStep() = default;
42
44 virtual void deblend(SourceGroupInterface& group) const = 0;
45
47 virtual std::set<PropertyId> requiredProperties() const { return {};}
48};
49
56class Deblending : public PipelineReceiver<SourceGroupInterface>, public PipelineEmitter<SourceGroupInterface> {
57
58public:
59
61 virtual ~Deblending() = default;
62
65
68
69 void receiveProcessSignal(const ProcessSourcesEvent& event) override;
70
73
74private:
76}; /* End of Deblending class */
77
78} /* namespace SourceXtractor */
79
80
81#endif
An action to be applied to a SourceGroup for deblending its sources.
Definition Deblending.h:37
virtual ~DeblendStep()=default
Destructor.
virtual void deblend(SourceGroupInterface &group) const =0
Performs the DeblendStep on the SourceGroup.
virtual std::set< PropertyId > requiredProperties() const
Returns properties used by the deblend step.
Definition Deblending.h:47
virtual ~Deblending()=default
Destructor.
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
Defines the interface used to group sources.
Event received by SourceGrouping to request the processing of some of the Sources stored.