SourceXtractorPlusPlus
0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
src
lib
Plugin
AutoPhotometry
AutoPhotometryTaskFactory.cpp
Go to the documentation of this file.
1
17
/*
18
* AutoPhotometryTaskFactory.cpp
19
*
20
* Created on: Jul 18, 2016
21
* Author: mkuemmel@usm.lmu.de
22
*/
23
24
#include <iostream>
25
#include <sstream>
26
27
#include "
SEFramework/Property/PropertyId.h
"
28
#include "
SEFramework/Task/Task.h
"
29
30
#include "
SEImplementation/Configuration/MeasurementImageConfig.h
"
31
#include "
SEImplementation/Configuration/WeightImageConfig.h
"
32
#include "
SEImplementation/Configuration/MagnitudeConfig.h
"
33
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometry.h
"
34
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryFlag.h
"
35
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryArray.h
"
36
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryConfig.h
"
37
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryTask.h
"
38
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryFlagTask.h
"
39
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryArrayTask.h
"
40
#include "
SEImplementation/Plugin/AutoPhotometry/AutoPhotometryTaskFactory.h
"
41
#include "
SEImplementation/Configuration/CheckImagesConfig.h
"
42
#include "
SEImplementation/CheckImages/SourceIdCheckImage.h
"
43
44
45
namespace
SourceXtractor
{
46
47
AutoPhotometryTaskFactory::AutoPhotometryTaskFactory
() : m_magnitude_zero_point(0), m_kron_factor(0), m_kron_minrad(0),
48
m_symmetry_usage(
false
) {}
49
50
void
AutoPhotometryTaskFactory::reportConfigDependencies
(
Euclid::Configuration::ConfigManager
&
manager
)
const
{
51
manager
.registerConfiguration<
MagnitudeConfig
>();
52
manager
.registerConfiguration<
AutoPhotometryConfig
>();
53
manager
.registerConfiguration<
WeightImageConfig
>();
54
manager
.registerConfiguration<
CheckImagesConfig
>();
55
manager
.registerConfiguration<
MeasurementImageConfig
>();
56
}
57
58
void
AutoPhotometryTaskFactory::configure
(
Euclid::Configuration::ConfigManager
&
manager
) {
59
m_magnitude_zero_point
=
manager
.getConfiguration<
MagnitudeConfig
>().getMagnitudeZeroPoint();
60
m_kron_factor
=
manager
.getConfiguration<
AutoPhotometryConfig
>().getAutoKronFactor();
61
m_kron_minrad
=
manager
.getConfiguration<
AutoPhotometryConfig
>().getAutoKronMinrad();
62
m_symmetry_usage
=
manager
.getConfiguration<
WeightImageConfig
>().symmetryUsage();
63
64
auto
& measurement_config =
manager
.getConfiguration<
MeasurementImageConfig
>();
65
const
auto
&
image_infos
= measurement_config.getImageInfos();
66
67
std::map<std::string, unsigned>
pos_in_group
;
68
69
for
(
unsigned
int
i
= 0;
i
<
image_infos
.size(); ++
i
) {
70
m_auto_names
.
emplace_back
(
std::make_pair
(
std::to_string
(
i
),
image_infos
[
i
].m_id));
71
m_images
.
push_back
(
image_infos
[
i
].m_id);
72
}
73
}
74
75
void
AutoPhotometryTaskFactory::registerPropertyInstances
(
SourceXtractor::OutputRegistry
&output_registry) {
76
output_registry.
registerPropertyInstances
<
AutoPhotometry
>(
m_auto_names
);
77
}
78
79
std::shared_ptr<Task>
AutoPhotometryTaskFactory::createTask
(
const
PropertyId
&
property_id
)
const
{
80
if
(
property_id
.getTypeId() ==
typeid
(
AutoPhotometry
)) {
81
return
std::make_shared<AutoPhotometryTask>
(
property_id
.getIndex(),
m_magnitude_zero_point
,
m_kron_factor
,
82
m_kron_minrad
,
m_symmetry_usage
);
83
}
else
if
(
property_id
== PropertyId::create<AutoPhotometryFlag>()) {
84
return
std::make_shared<AutoPhotometryFlagTask>
(
m_kron_factor
,
m_kron_minrad
);
85
}
else
if
(
property_id
== PropertyId::create<AutoPhotometryArray>()) {
86
return
std::make_shared<AutoPhotometryArrayTask>
(
m_images
);
87
}
else
{
88
return
nullptr
;
89
}
90
}
91
92
}
AutoPhotometryArrayTask.h
AutoPhotometryArray.h
AutoPhotometryConfig.h
AutoPhotometryFlagTask.h
AutoPhotometryFlag.h
AutoPhotometryTaskFactory.h
AutoPhotometryTask.h
AutoPhotometry.h
CheckImagesConfig.h
MagnitudeConfig.h
MeasurementImageConfig.h
PropertyId.h
SourceIdCheckImage.h
Task.h
WeightImageConfig.h
Euclid::Configuration::ConfigManager
SourceXtractor::AutoPhotometryConfig
Definition
AutoPhotometryConfig.h:32
SourceXtractor::AutoPhotometryTaskFactory::m_magnitude_zero_point
SeFloat m_magnitude_zero_point
Definition
AutoPhotometryTaskFactory.h:50
SourceXtractor::AutoPhotometryTaskFactory::m_kron_minrad
SeFloat m_kron_minrad
Definition
AutoPhotometryTaskFactory.h:52
SourceXtractor::AutoPhotometryTaskFactory::m_auto_names
std::vector< std::pair< std::string, unsigned int > > m_auto_names
Definition
AutoPhotometryTaskFactory.h:54
SourceXtractor::AutoPhotometryTaskFactory::AutoPhotometryTaskFactory
AutoPhotometryTaskFactory()
Definition
AutoPhotometryTaskFactory.cpp:47
SourceXtractor::AutoPhotometryTaskFactory::registerPropertyInstances
void registerPropertyInstances(OutputRegistry &) override
Definition
AutoPhotometryTaskFactory.cpp:75
SourceXtractor::AutoPhotometryTaskFactory::m_symmetry_usage
bool m_symmetry_usage
Definition
AutoPhotometryTaskFactory.h:53
SourceXtractor::AutoPhotometryTaskFactory::createTask
std::shared_ptr< Task > createTask(const PropertyId &property_id) const override
Returns a Task producing a Property corresponding to the given PropertyId.
Definition
AutoPhotometryTaskFactory.cpp:79
SourceXtractor::AutoPhotometryTaskFactory::m_kron_factor
SeFloat m_kron_factor
Definition
AutoPhotometryTaskFactory.h:51
SourceXtractor::AutoPhotometryTaskFactory::reportConfigDependencies
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
Definition
AutoPhotometryTaskFactory.cpp:50
SourceXtractor::AutoPhotometryTaskFactory::configure
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
Definition
AutoPhotometryTaskFactory.cpp:58
SourceXtractor::AutoPhotometryTaskFactory::m_images
std::vector< unsigned > m_images
Definition
AutoPhotometryTaskFactory.h:55
SourceXtractor::AutoPhotometry
Auto photometry flux and magnitude.
Definition
AutoPhotometry.h:37
SourceXtractor::CheckImagesConfig
Definition
CheckImagesConfig.h:32
SourceXtractor::MagnitudeConfig
Definition
MagnitudeConfig.h:32
SourceXtractor::MeasurementImageConfig
Definition
MeasurementImageConfig.h:37
SourceXtractor::OutputRegistry
Definition
OutputRegistry.h:37
SourceXtractor::OutputRegistry::registerPropertyInstances
void registerPropertyInstances(const std::vector< std::pair< std::string, unsigned int > > &instance_names)
Definition
OutputRegistry.h:64
SourceXtractor::PropertyId
Identifier used to set and retrieve properties.
Definition
PropertyId.h:40
SourceXtractor::WeightImageConfig
Definition
WeightImageConfig.h:32
std::vector::emplace_back
T emplace_back(T... args)
std::function
std::make_pair
T make_pair(T... args)
SourceXtractor
Definition
Aperture.h:30
std::vector::push_back
T push_back(T... args)
std::to_string
T to_string(T... args)
Generated by
1.10.0