SourceXtractorPlusPlus
0.19
SourceXtractor++, the next generation SExtractor
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEImplementation
src
lib
Plugin
SourcePsf
SourcePsfTaskFactory.cpp
Go to the documentation of this file.
1
18
#include "
SEImplementation/Configuration/MeasurementImageConfig.h
"
19
#include "
SEImplementation/Plugin/SourcePsf/SourcePsfTaskFactory.h
"
20
21
namespace
SourceXtractor {
22
23
void
SourcePsfTaskFactory::reportConfigDependencies
(
Euclid::Configuration::ConfigManager
& manager)
const
{
24
manager.
registerConfiguration
<
PsfPluginConfig
>();
25
manager.
registerConfiguration
<
MeasurementImageConfig
>();
26
}
27
28
void
SourcePsfTaskFactory::configure
(
Euclid::Configuration::ConfigManager
& manager) {
29
auto
psf_config = manager.
getConfiguration
<
PsfPluginConfig
>();
30
auto
measurement_config = manager.
getConfiguration
<
MeasurementImageConfig
>();
31
32
const
auto
& default_psf = psf_config.getPsf();
33
const
auto
& image_infos = manager.
getConfiguration
<
MeasurementImageConfig
>().getImageInfos();
34
35
for
(
unsigned
int
i = 0; i < image_infos.size(); i++) {
36
if
(!image_infos[i].m_psf_path.empty()) {
37
m_vpsf
[image_infos[i].m_id] =
PsfPluginConfig::readPsf
(image_infos[i].m_psf_path, image_infos[i].m_psf_hdu);
38
}
39
else
if
(default_psf) {
40
m_vpsf
[image_infos[i].m_id] = default_psf;
41
}
42
}
43
}
44
45
std::shared_ptr<Task>
SourcePsfTaskFactory::createTask
(
const
SourceXtractor::PropertyId
& property_id)
const
{
46
auto
instance = property_id.
getIndex
();
47
48
if
(
m_vpsf
.find(instance) ==
m_vpsf
.end()) {
49
throw
Elements::Exception
() <<
"Missing PSF. Make sure every frame has a PSF"
;
50
}
51
52
try
{
53
return
std::make_shared<SourcePsfTask>(instance,
m_vpsf
.at(instance));
54
}
catch
(
const
std::out_of_range
&) {
55
return
nullptr
;
56
}
57
}
58
59
}
// end SourceXtractor
std::out_of_range
STL class.
std::shared_ptr
SourceXtractor::PsfPluginConfig::readPsf
static std::shared_ptr< Psf > readPsf(const std::string &filename, int hdu_number=1)
Definition:
PsfPluginConfig.cpp:164
MeasurementImageConfig.h
SourceXtractor::MeasurementImageConfig
Definition:
MeasurementImageConfig.h:37
SourceXtractor::SourcePsfTaskFactory::m_vpsf
std::map< int, std::shared_ptr< Psf > > m_vpsf
Definition:
SourcePsfTaskFactory.h:40
SourcePsfTaskFactory.h
Euclid::Configuration::ConfigManager::registerConfiguration
void registerConfiguration()
SourceXtractor::PropertyId::getIndex
unsigned int getIndex() const
Definition:
PropertyId.h:70
SourceXtractor::PsfPluginConfig
Definition:
PsfPluginConfig.h:32
Euclid::Configuration::ConfigManager
SourceXtractor::SourcePsfTaskFactory::reportConfigDependencies
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
Definition:
SourcePsfTaskFactory.cpp:23
Euclid::Configuration::ConfigManager::getConfiguration
T & getConfiguration()
Elements::Exception
SourceXtractor::PropertyId
Identifier used to set and retrieve properties.
Definition:
PropertyId.h:40
SourceXtractor::SourcePsfTaskFactory::createTask
std::shared_ptr< Task > createTask(const PropertyId &property_id) const override
Returns a Task producing a Property corresponding to the given PropertyId.
Definition:
SourcePsfTaskFactory.cpp:45
SourceXtractor::SourcePsfTaskFactory::configure
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
Definition:
SourcePsfTaskFactory.cpp:28
Generated by
1.8.5