SourceXtractorPlusPlus  0.10
Please provide a description of the project.
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 
28 #include "SEFramework/Task/Task.h"
29 
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 
56 }
57 
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 
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 
77 }
78 
80  if (property_id.getTypeId() == typeid(AutoPhotometry)) {
81  return std::make_shared<AutoPhotometryTask>(property_id.getIndex(), m_magnitude_zero_point, m_kron_factor,
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 }
CheckImagesConfig.h
PropertyId.h
Euclid::Configuration::ConfigManager::registerConfiguration
void registerConfiguration()
SourceXtractor::MagnitudeConfig
Definition: MagnitudeConfig.h:32
std::shared_ptr
STL class.
SourceXtractor::AutoPhotometryTaskFactory::m_magnitude_zero_point
SeFloat m_magnitude_zero_point
Definition: AutoPhotometryTaskFactory.h:50
AutoPhotometryFlagTask.h
SourceXtractor::AutoPhotometry
Auto photometry flux and magnitude.
Definition: AutoPhotometry.h:37
AutoPhotometryTask.h
Euclid::Configuration::ConfigManager
Task.h
SourceXtractor::MeasurementImageConfig
Definition: MeasurementImageConfig.h:37
SourceXtractor::OutputRegistry
Definition: OutputRegistry.h:36
SourceXtractor::AutoPhotometryTaskFactory::AutoPhotometryTaskFactory
AutoPhotometryTaskFactory()
Definition: AutoPhotometryTaskFactory.cpp:47
SourceXtractor::WeightImageConfig
Definition: WeightImageConfig.h:32
SourceXtractor::AutoPhotometryTaskFactory::configure
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
Definition: AutoPhotometryTaskFactory.cpp:58
SourceXtractor::PropertyId::getTypeId
std::type_index getTypeId() const
Definition: PropertyId.h:66
SourceXtractor::AutoPhotometryTaskFactory::registerPropertyInstances
void registerPropertyInstances(OutputRegistry &) override
Definition: AutoPhotometryTaskFactory.cpp:75
Euclid::Configuration::ConfigManager::getConfiguration
T & getConfiguration()
WeightImageConfig.h
SourceXtractor::MeasurementImageConfig::getImageInfos
const std::vector< MeasurementImageInfo > & getImageInfos() const
Definition: MeasurementImageConfig.h:70
AutoPhotometryTaskFactory.h
std::vector::push_back
T push_back(T... args)
SourceXtractor::PropertyId
Identifier used to set and retrieve properties.
Definition: PropertyId.h:40
SourceXtractor::AutoPhotometryTaskFactory::m_images
std::vector< unsigned > m_images
Definition: AutoPhotometryTaskFactory.h:55
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::CheckImagesConfig
Definition: CheckImagesConfig.h:32
MagnitudeConfig.h
MeasurementImageConfig.h
std::to_string
T to_string(T... args)
SourceXtractor::AutoPhotometryTaskFactory::createTask
virtual 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
std::map
STL class.
AutoPhotometryArrayTask.h
AutoPhotometryArray.h
std::vector::emplace_back
T emplace_back(T... args)
SourceXtractor::PropertyId::getIndex
unsigned int getIndex() const
Definition: PropertyId.h:70
AutoPhotometryConfig.h
SourceXtractor::AutoPhotometryTaskFactory::m_kron_minrad
SeFloat m_kron_minrad
Definition: AutoPhotometryTaskFactory.h:52
SourceXtractor::AutoPhotometryTaskFactory::m_kron_factor
SeFloat m_kron_factor
Definition: AutoPhotometryTaskFactory.h:51
SourceXtractor::AutoPhotometryTaskFactory::m_symmetry_usage
bool m_symmetry_usage
Definition: AutoPhotometryTaskFactory.h:53
std::make_pair
T make_pair(T... args)
AutoPhotometryFlag.h
SourceIdCheckImage.h
SourceXtractor::AutoPhotometryTaskFactory::reportConfigDependencies
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
Definition: AutoPhotometryTaskFactory.cpp:50
SourceXtractor::OutputRegistry::registerPropertyInstances
void registerPropertyInstances(const std::vector< std::pair< std::string, unsigned int >> &instance_names)
Definition: OutputRegistry.h:63
AutoPhotometry.h
SourceXtractor::AutoPhotometryTaskFactory::m_auto_names
std::vector< std::pair< std::string, unsigned int > > m_auto_names
Definition: AutoPhotometryTaskFactory.h:54
SourceXtractor::AutoPhotometryConfig
Definition: AutoPhotometryConfig.h:32