SourceXtractorPlusPlus
0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEFramework
SEFramework
Pipeline
Deblending.h
Go to the documentation of this file.
1
23
#ifndef _SEFRAMEWORK_PIPELINE_DEBLENDING_H
24
#define _SEFRAMEWORK_PIPELINE_DEBLENDING_H
25
26
#include "
SEFramework/Pipeline/PipelineStage.h
"
27
#include "
SEFramework/Source/SourceGroupInterface.h
"
28
#include "
SEFramework/Task/TaskProvider.h
"
29
30
namespace
SourceXtractor
{
31
37
class
DeblendStep
{
38
public
:
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
56
class
Deblending
:
public
PipelineReceiver
<SourceGroupInterface>,
public
PipelineEmitter
<SourceGroupInterface> {
57
58
public
:
59
61
virtual
~Deblending
() =
default
;
62
64
explicit
Deblending
(
std::vector
<
std::shared_ptr<DeblendStep>
>
deblend_steps
);
65
67
void
receiveSource
(
std::unique_ptr<SourceGroupInterface>
group
)
override
;
68
69
void
receiveProcessSignal
(
const
ProcessSourcesEvent
&
event
)
override
;
70
72
std::set<PropertyId>
requiredProperties
()
const
;
73
74
private
:
75
std::vector<std::shared_ptr<DeblendStep>
>
m_deblend_steps
;
76
};
/* End of Deblending class */
77
78
}
/* namespace SourceXtractor */
79
80
81
#endif
PipelineStage.h
SourceGroupInterface.h
TaskProvider.h
SourceXtractor::DeblendStep
An action to be applied to a SourceGroup for deblending its sources.
Definition
Deblending.h:37
SourceXtractor::DeblendStep::~DeblendStep
virtual ~DeblendStep()=default
Destructor.
SourceXtractor::DeblendStep::deblend
virtual void deblend(SourceGroupInterface &group) const =0
Performs the DeblendStep on the SourceGroup.
SourceXtractor::DeblendStep::requiredProperties
virtual std::set< PropertyId > requiredProperties() const
Returns properties used by the deblend step.
Definition
Deblending.h:47
SourceXtractor::Deblending
Performs a number of steps on a SourceGroup that can add or remove Sources for deblending the group.
Definition
Deblending.h:56
SourceXtractor::Deblending::~Deblending
virtual ~Deblending()=default
Destructor.
SourceXtractor::Deblending::Deblending
Deblending(std::vector< std::shared_ptr< DeblendStep > > deblend_steps)
Constructor - takes a vector of DeblendStep to be applied, in order, to every SourceGroup.
Definition
Deblending.cpp:27
SourceXtractor::Deblending::receiveSource
void receiveSource(std::unique_ptr< SourceGroupInterface > group) override
Handles a new SourceGroup, applies the DeblendSteps and then notifies the observers with the result.
Definition
Deblending.cpp:31
SourceXtractor::Deblending::requiredProperties
std::set< PropertyId > requiredProperties() const
Returns the set of required properties to compute the deblending.
Definition
Deblending.cpp:44
SourceXtractor::Deblending::receiveProcessSignal
void receiveProcessSignal(const ProcessSourcesEvent &event) override
Definition
Deblending.cpp:53
SourceXtractor::Deblending::m_deblend_steps
std::vector< std::shared_ptr< DeblendStep > > m_deblend_steps
Definition
Deblending.h:75
SourceXtractor::PipelineEmitter
Definition
PipelineStage.h:68
SourceXtractor::PipelineReceiver
Definition
PipelineStage.h:46
SourceXtractor::SourceGroupInterface
Defines the interface used to group sources.
Definition
SourceGroupInterface.h:38
std::function
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::ProcessSourcesEvent
Event received by SourceGrouping to request the processing of some of the Sources stored.
Definition
PipelineStage.h:33
std::vector
Generated by
1.10.0