SourceXtractorPlusPlus
0.15
Please provide a description of the project.
|
#include <OutputRegistry.h>
Classes | |
struct | ColInfo |
class | ColumnFromSource |
Public Types | |
template<typename PropertyType , typename OutType > | |
using | ColumnConverter = std::function< OutType(const PropertyType &)> |
using | SourceToRowConverter = std::function< Euclid::Table::Row(const SourceInterface &)> |
Public Member Functions | |
template<typename PropertyType , typename OutType > | |
void | registerColumnConverter (std::string column_name, ColumnConverter< PropertyType, OutType > converter, std::string column_unit="", std::string column_description="") |
template<typename PropertyType > | |
void | registerPropertyInstances (const std::vector< std::pair< std::string, unsigned int >> &instance_names) |
template<typename PropertyType > | |
void | registerPropertyInstances (const std::string ¤t_name, const std::vector< std::pair< std::string, unsigned int >> &instance_names) |
template<typename PropertyType > | |
void | enableOutput (std::string alias_name, bool configurable_output=false) |
std::set< std::string > | getOutputPropertyNames () |
SourceToRowConverter | getSourceToRowConverter (const std::vector< std::string > &enabled_optional) |
void | printPropertyColumnMap (const std::vector< std::string > &properties={}) |
Private Attributes | |
std::map< std::type_index, std::vector< std::string > > | m_property_to_names_map {} |
std::map< std::string, std::pair< std::type_index, ColumnFromSource > > | m_name_to_converter_map {} |
std::map< std::string, ColInfo > | m_name_to_col_info_map {} |
std::multimap< std::string, std::type_index > | m_output_properties {} |
Definition at line 36 of file OutputRegistry.h.
using SourceXtractor::OutputRegistry::ColumnConverter = std::function<OutType(const PropertyType&)> |
Definition at line 41 of file OutputRegistry.h.
using SourceXtractor::OutputRegistry::SourceToRowConverter = std::function<Euclid::Table::Row(const SourceInterface&)> |
Definition at line 43 of file OutputRegistry.h.
|
inline |
Register into the registry the output alias so PropertyType can be serialized into the output catalog
PropertyType | The property holder |
alias_name | The alias that will be added as an option to "output-properties" |
configurable_output | By default, OutputRegistry verifies that there are column converters registered for PropertyType. If this option is set to true, the check will be skipped, and it will be assumed that the output columns will be added during the configuration of the plugin |
Definition at line 141 of file OutputRegistry.h.
References std::map< K, T >::count(), std::multimap< K, T >::emplace(), m_output_properties, and m_property_to_names_map.
Referenced by SourceXtractor::CoreThresholdPartitionPlugin::registerPlugin(), SourceXtractor::NDetectedPixelsPlugin::registerPlugin(), SourceXtractor::SNRRatioPlugin::registerPlugin(), SourceXtractor::SourceFlagsPlugin::registerPlugin(), SourceXtractor::SourceIDsPlugin::registerPlugin(), SourceXtractor::VignetPlugin::registerPlugin(), SourceXtractor::AperturePhotometryPlugin::registerPlugin(), SourceXtractor::AssocModePlugin::registerPlugin(), SourceXtractor::AutoPhotometryPlugin::registerPlugin(), SourceXtractor::DetectionFrameGroupStampPlugin::registerPlugin(), SourceXtractor::ExternalFlagPlugin::registerPlugin(), SourceXtractor::FlexibleModelFittingPlugin::registerPlugin(), SourceXtractor::FluxRadiusPlugin::registerPlugin(), SourceXtractor::GroupInfoPlugin::registerPlugin(), SourceXtractor::GrowthCurvePlugin::registerPlugin(), SourceXtractor::IsophotalFluxPlugin::registerPlugin(), SourceXtractor::KronRadiusPlugin::registerPlugin(), SourceXtractor::MoffatModelFittingPlugin::registerPlugin(), SourceXtractor::OnnxPlugin::registerPlugin(), SourceXtractor::PeakValuePlugin::registerPlugin(), SourceXtractor::PixelBoundariesPlugin::registerPlugin(), SourceXtractor::PixelCentroidPlugin::registerPlugin(), SourceXtractor::ShapeParametersPlugin::registerPlugin(), and SourceXtractor::WorldCentroidPlugin::registerPlugin().
|
inline |
Definition at line 149 of file OutputRegistry.h.
References std::set< K >::emplace(), and m_output_properties.
Referenced by SEMain::mainMethod().
auto SourceXtractor::OutputRegistry::getSourceToRowConverter | ( | const std::vector< std::string > & | enabled_optional | ) |
Definition at line 36 of file OutputRegistry.cpp.
References std::find(), and std::move().
void SourceXtractor::OutputRegistry::printPropertyColumnMap | ( | const std::vector< std::string > & | properties = {} | ) |
Definition at line 70 of file OutputRegistry.cpp.
References std::vector< T >::begin(), std::vector< T >::empty(), std::vector< T >::end(), and std::string::find().
Referenced by SEMain::mainMethod().
|
inline |
Definition at line 46 of file OutputRegistry.h.
References m_name_to_col_info_map, m_name_to_converter_map, and m_property_to_names_map.
Referenced by SourceXtractor::registerColumnConverter(), SourceXtractor::CoreThresholdPartitionPlugin::registerPlugin(), SourceXtractor::NDetectedPixelsPlugin::registerPlugin(), SourceXtractor::SNRRatioPlugin::registerPlugin(), SourceXtractor::SourceFlagsPlugin::registerPlugin(), SourceXtractor::SourceIDsPlugin::registerPlugin(), SourceXtractor::VignetPlugin::registerPlugin(), SourceXtractor::AperturePhotometryPlugin::registerPlugin(), SourceXtractor::AssocModePlugin::registerPlugin(), SourceXtractor::AutoPhotometryPlugin::registerPlugin(), SourceXtractor::DetectionFrameGroupStampPlugin::registerPlugin(), SourceXtractor::ExternalFlagPlugin::registerPlugin(), SourceXtractor::FlexibleModelFittingPlugin::registerPlugin(), SourceXtractor::FluxRadiusPlugin::registerPlugin(), SourceXtractor::GroupInfoPlugin::registerPlugin(), SourceXtractor::GrowthCurvePlugin::registerPlugin(), SourceXtractor::IsophotalFluxPlugin::registerPlugin(), SourceXtractor::KronRadiusPlugin::registerPlugin(), SourceXtractor::MoffatModelFittingPlugin::registerPlugin(), SourceXtractor::PeakValuePlugin::registerPlugin(), SourceXtractor::PixelBoundariesPlugin::registerPlugin(), SourceXtractor::PixelCentroidPlugin::registerPlugin(), SourceXtractor::ShapeParametersPlugin::registerPlugin(), SourceXtractor::WorldCentroidPlugin::registerPlugin(), and SourceXtractor::FlexibleModelFittingTaskFactory::registerPropertyInstances().
|
inline |
When there are multiple instances of a given property, generate one column output with the given name for each instance replacing an existing registered name
PropertyType |
current_name | |
instance_names |
Definition at line 99 of file OutputRegistry.h.
References std::back_inserter(), std::copy(), std::map< K, T >::erase(), std::find(), m_name_to_col_info_map, m_name_to_converter_map, and m_property_to_names_map.
|
inline |
When there are multiple instances of a given property, generate one column output with the given suffix for each instance
PropertyType |
instance_names |
Definition at line 63 of file OutputRegistry.h.
References m_name_to_col_info_map, m_name_to_converter_map, and m_property_to_names_map.
Referenced by SourceXtractor::AperturePhotometryTaskFactory::registerPropertyInstances(), SourceXtractor::AutoPhotometryTaskFactory::registerPropertyInstances(), and SourceXtractor::ExternalFlagTaskFactory::registerPropertyInstances().
|
private |
Definition at line 186 of file OutputRegistry.h.
Referenced by registerColumnConverter(), and registerPropertyInstances().
|
private |
Definition at line 185 of file OutputRegistry.h.
Referenced by registerColumnConverter(), and registerPropertyInstances().
|
private |
Definition at line 187 of file OutputRegistry.h.
Referenced by enableOutput(), and getOutputPropertyNames().
|
private |
Definition at line 184 of file OutputRegistry.h.
Referenced by enableOutput(), registerColumnConverter(), and registerPropertyInstances().