SourceXtractorPlusPlus  0.12
Please provide a description of the project.
Public Member Functions | Private Attributes | List of all members
SourceXtractor::AperturePhotometryTaskFactory Class Reference

#include <AperturePhotometryTaskFactory.h>

Inheritance diagram for SourceXtractor::AperturePhotometryTaskFactory:
[legend]
Collaboration diagram for SourceXtractor::AperturePhotometryTaskFactory:
[legend]

Public Member Functions

 AperturePhotometryTaskFactory ()
 
virtual ~AperturePhotometryTaskFactory ()=default
 Destructor. More...
 
void reportConfigDependencies (Euclid::Configuration::ConfigManager &manager) const override
 Registers all the Configuration dependencies. More...
 
void configure (Euclid::Configuration::ConfigManager &manager) override
 Method which should initialize the object. More...
 
virtual std::shared_ptr< TaskcreateTask (const PropertyId &property_id) const override
 Returns a Task producing a Property corresponding to the given PropertyId. More...
 
void registerPropertyInstances (OutputRegistry &) override
 
- Public Member Functions inherited from SourceXtractor::TaskFactory
virtual ~TaskFactory ()=default
 Destructor. More...
 
- Public Member Functions inherited from SourceXtractor::Configurable
virtual ~Configurable ()=default
 Destructor. More...
 

Private Attributes

SeFloat m_magnitude_zero_point
 
bool m_symmetry_usage
 
std::map< unsigned, std::vector< float > > m_aperture_config
 
std::vector< float > m_all_apertures
 
std::map< unsigned, std::stringm_col_prefix
 
std::map< unsigned, std::vector< unsigned > > m_apertures_per_output
 

Detailed Description

The configuration of this plugin can be kind of convoluted, so some clarifications may be needed: We have a set of frames, and each frame has a set of apertures. These set of apertures are aggregated under one single column. So we need to compute the set of apertures per image per source (AperturePhotometry), but we need to gather and group then into multidimensional columns (AperturePhotometryArray). Since there can be more than one column, there can be more than one instance of AperturePhotometryArray, each one corresponding to a column. For instance, we may have 4 frames, so there will be 4 instances of AperturePhotometry. Since they belong to two bands, there will be two columns aperture_r and aperture_g. aperture_r (instance 0) needs to "gather" the apertures for frames 0 and 1, and aperture_g (instance 1) from 2 and 3. Thus, handling AperturePhotometry is easy, but for AperturePhotometryArray (the output), we need to register the converter with two different instances, keeping a map between the instance of AperturePhotometryArray and the instances of AperturePhotometry that are aggregated.

Definition at line 48 of file AperturePhotometryTaskFactory.h.

Constructor & Destructor Documentation

◆ AperturePhotometryTaskFactory()

SourceXtractor::AperturePhotometryTaskFactory::AperturePhotometryTaskFactory ( )
inline

Definition at line 50 of file AperturePhotometryTaskFactory.h.

◆ ~AperturePhotometryTaskFactory()

virtual SourceXtractor::AperturePhotometryTaskFactory::~AperturePhotometryTaskFactory ( )
virtualdefault

Destructor.

Member Function Documentation

◆ configure()

void SourceXtractor::AperturePhotometryTaskFactory::configure ( Euclid::Configuration::ConfigManager manager)
overridevirtual

Method which should initialize the object.

The given manager is guaranteed to already be in the initialized state, so all the required Configurations can be accessed using its getConfiguration() method.

Parameters
managerThe manager to get the Configurations from

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 95 of file AperturePhotometryTaskFactory.cpp.

References std::vector< T >::begin(), std::vector< T >::emplace_back(), std::vector< T >::end(), std::find(), Euclid::Configuration::ConfigManager::getConfiguration(), m_all_apertures, m_aperture_config, m_apertures_per_output, m_col_prefix, m_magnitude_zero_point, and m_symmetry_usage.

Here is the call graph for this function:

◆ createTask()

std::shared_ptr< Task > SourceXtractor::AperturePhotometryTaskFactory::createTask ( const PropertyId property_id) const
overridevirtual

Returns a Task producing a Property corresponding to the given PropertyId.

Implements SourceXtractor::TaskFactory.

Definition at line 43 of file AperturePhotometryTaskFactory.cpp.

References std::map< K, T >::at(), SourceXtractor::PropertyId::getIndex(), SourceXtractor::PropertyId::getTypeId(), m_all_apertures, m_aperture_config, m_apertures_per_output, m_magnitude_zero_point, and m_symmetry_usage.

Here is the call graph for this function:

◆ registerPropertyInstances()

void SourceXtractor::AperturePhotometryTaskFactory::registerPropertyInstances ( OutputRegistry registry)
overridevirtual

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 64 of file AperturePhotometryTaskFactory.cpp.

References std::map< K, T >::at(), std::vector< T >::emplace_back(), m_apertures_per_output, m_col_prefix, std::make_pair(), and SourceXtractor::OutputRegistry::registerPropertyInstances().

Here is the call graph for this function:

◆ reportConfigDependencies()

void SourceXtractor::AperturePhotometryTaskFactory::reportConfigDependencies ( Euclid::Configuration::ConfigManager manager) const
overridevirtual

Registers all the Configuration dependencies.

Configurable implementations should implement this method to register to the given ConfigManager (using the registerConfiguration() method) all the Configurations they are going to use

Parameters
managerThe manager to register the dependencies to

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 88 of file AperturePhotometryTaskFactory.cpp.

References Euclid::Configuration::ConfigManager::registerConfiguration().

Here is the call graph for this function:

Member Data Documentation

◆ m_all_apertures

std::vector<float> SourceXtractor::AperturePhotometryTaskFactory::m_all_apertures
private

Definition at line 70 of file AperturePhotometryTaskFactory.h.

Referenced by configure(), and createTask().

◆ m_aperture_config

std::map<unsigned, std::vector<float> > SourceXtractor::AperturePhotometryTaskFactory::m_aperture_config
private

Definition at line 68 of file AperturePhotometryTaskFactory.h.

Referenced by configure(), and createTask().

◆ m_apertures_per_output

std::map<unsigned, std::vector<unsigned> > SourceXtractor::AperturePhotometryTaskFactory::m_apertures_per_output
private

◆ m_col_prefix

std::map<unsigned, std::string> SourceXtractor::AperturePhotometryTaskFactory::m_col_prefix
private

Definition at line 72 of file AperturePhotometryTaskFactory.h.

Referenced by configure(), and registerPropertyInstances().

◆ m_magnitude_zero_point

SeFloat SourceXtractor::AperturePhotometryTaskFactory::m_magnitude_zero_point
private

Definition at line 64 of file AperturePhotometryTaskFactory.h.

Referenced by configure(), and createTask().

◆ m_symmetry_usage

bool SourceXtractor::AperturePhotometryTaskFactory::m_symmetry_usage
private

Definition at line 65 of file AperturePhotometryTaskFactory.h.

Referenced by configure(), and createTask().


The documentation for this class was generated from the following files: