SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEMain Class Reference
Inheritance diagram for SEMain:
Collaboration diagram for SEMain:

Public Member Functions

 SEMain (const std::string &plugin_path, const std::vector< std::string > &plugin_list)
po::options_description getConfigParameters ()
std::pair< po::options_description, po::positional_options_description > defineProgramArguments () override
 Return the arguments that the program accepts.
void printDefaults ()
 Print a configuration file populated with defaults.
Elements::ExitCode mainMethod (std::map< std::string, po::variable_value > &args) override
Public Member Functions inherited from Elements::Program
 Program ()=default
virtual ~Program ()
virtual OptionsDescription defineSpecificProgramOptions ()
virtual ExitCode mainMethod (std::map< std::string, VariableValue > &args)=0

Static Public Member Functions

template<typename T>
static void writeDefault (std::ostream &out, const po::option_description &opt, const boost::any &default_value)
 Print a simple option.
template<typename T>
static void writeDefaultMultiple (std::ostream &out, const po::option_description &opt, const boost::any &default_value)
 Print a multiple-value option.

Private Attributes

std::shared_ptr< TaskFactoryRegistrytask_factory_registry = std::make_shared<TaskFactoryRegistry>()
std::shared_ptr< TaskProvidertask_provider = std::make_shared<TaskProvider>(task_factory_registry)
std::shared_ptr< OutputRegistryoutput_registry = std::make_shared<OutputRegistry>()
SegmentationFactory segmentation_factory {task_provider}
OutputFactory output_factory { output_registry }
PluginManager plugin_manager
std::shared_ptr< SourceFactorysource_factory
std::shared_ptr< SourceGroupFactorygroup_factory
PartitionFactory partition_factory {source_factory}
GroupingFactory grouping_factory {group_factory}
DeblendingFactory deblending_factory {source_factory}
MeasurementFactory measurement_factory { output_registry }
ProgressReporterFactory progress_printer_factory {}
bool config_initialized = false
po::options_description config_parameters

Additional Inherited Members

Public Types inherited from Elements::Program
typedef boost::program_options::options_description options_description
typedef boost::program_options::positional_options_description positional_options_description
typedef boost::program_options::variable_value variable_value
typedef boost::program_options::variables_map variables_map
typedef options_description OptionsDescription
typedef positional_options_description PositionalOptionsDescription
typedef variable_value VariableValue
typedef variables_map VariablesMap
typedef Elements::ExitCode ExitCode
typedef Elements::Logging Logging

Detailed Description

Definition at line 154 of file SourceXtractor.cpp.

Constructor & Destructor Documentation

◆ SEMain()

SEMain::SEMain ( const std::string & plugin_path,
const std::vector< std::string > & plugin_list )
inline

Definition at line 177 of file SourceXtractor.cpp.

References output_registry, plugin_manager, and task_factory_registry.

Member Function Documentation

◆ defineProgramArguments()

std::pair< po::options_description, po::positional_options_description > SEMain::defineProgramArguments ( )
inlineoverridevirtual

Return the arguments that the program accepts.

Reimplemented from Elements::Program.

Definition at line 214 of file SourceXtractor.cpp.

References DUMP_CONFIG, getConfigParameters(), LIST_OUTPUT_PROPERTIES, progress_printer_factory, PROPERTY_COLUMN_MAPPING, and PROPERTY_COLUMN_MAPPING_ALL.

Here is the call graph for this function:

◆ getConfigParameters()

po::options_description SEMain::getConfigParameters ( )
inline

Return the options that the underyling configuration register accepts This is now separated from defineProgramArguments so printDefaults can access these settings, while ignoring flags that are only used for printing help information (i.e the property list)

Definition at line 184 of file SourceXtractor.cpp.

References config_initialized, config_manager_id, config_parameters, deblending_factory, Euclid::Configuration::ConfigManager::getInstance(), SourceXtractor::CheckImages::getInstance(), grouping_factory, measurement_factory, output_factory, partition_factory, plugin_manager, SourceXtractor::CheckImages::reportConfigDependencies(), segmentation_factory, and task_factory_registry.

Referenced by defineProgramArguments(), and printDefaults().

Here is the call graph for this function:

◆ mainMethod()

◆ printDefaults()

void SEMain::printDefaults ( )
inline

Print a configuration file populated with defaults.

Definition at line 254 of file SourceXtractor.cpp.

References config_parameters, std::map< K, T >::end(), std::endl(), std::map< K, T >::find(), getConfigParameters(), writeDefault(), and writeDefaultMultiple().

Referenced by mainMethod().

Here is the call graph for this function:

◆ writeDefault()

template<typename T>
void SEMain::writeDefault ( std::ostream & out,
const po::option_description & opt,
const boost::any & default_value )
inlinestatic

Print a simple option.

Definition at line 236 of file SourceXtractor.cpp.

References std::endl().

Referenced by printDefaults().

Here is the call graph for this function:

◆ writeDefaultMultiple()

template<typename T>
void SEMain::writeDefaultMultiple ( std::ostream & out,
const po::option_description & opt,
const boost::any & default_value )
inlinestatic

Print a multiple-value option.

Definition at line 242 of file SourceXtractor.cpp.

References std::endl().

Referenced by printDefaults().

Here is the call graph for this function:

Member Data Documentation

◆ config_initialized

bool SEMain::config_initialized = false
private

Definition at line 172 of file SourceXtractor.cpp.

Referenced by getConfigParameters().

◆ config_parameters

po::options_description SEMain::config_parameters
private

Definition at line 173 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and printDefaults().

◆ deblending_factory

DeblendingFactory SEMain::deblending_factory {source_factory}
private

Definition at line 168 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ group_factory

std::shared_ptr<SourceGroupFactory> SEMain::group_factory
private
Initial value:
=
std::shared_ptr< TaskProvider > task_provider
T make_shared(T... args)

Definition at line 164 of file SourceXtractor.cpp.

◆ grouping_factory

GroupingFactory SEMain::grouping_factory {group_factory}
private

Definition at line 167 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ measurement_factory

MeasurementFactory SEMain::measurement_factory { output_registry }
private

Definition at line 169 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ output_factory

OutputFactory SEMain::output_factory { output_registry }
private

Definition at line 160 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ output_registry

std::shared_ptr<OutputRegistry> SEMain::output_registry = std::make_shared<OutputRegistry>()
private

Definition at line 158 of file SourceXtractor.cpp.

Referenced by mainMethod(), and SEMain().

◆ partition_factory

PartitionFactory SEMain::partition_factory {source_factory}
private

Definition at line 166 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ plugin_manager

PluginManager SEMain::plugin_manager
private

Definition at line 161 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and SEMain().

◆ progress_printer_factory

ProgressReporterFactory SEMain::progress_printer_factory {}
private

Definition at line 170 of file SourceXtractor.cpp.

Referenced by defineProgramArguments(), and mainMethod().

◆ segmentation_factory

SegmentationFactory SEMain::segmentation_factory {task_provider}
private

Definition at line 159 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), and mainMethod().

◆ source_factory

std::shared_ptr<SourceFactory> SEMain::source_factory
private

◆ task_factory_registry

std::shared_ptr<TaskFactoryRegistry> SEMain::task_factory_registry = std::make_shared<TaskFactoryRegistry>()
private

Definition at line 156 of file SourceXtractor.cpp.

Referenced by getConfigParameters(), mainMethod(), and SEMain().

◆ task_provider

Definition at line 157 of file SourceXtractor.cpp.


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