SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
SEMain Class Reference
Inheritance diagram for SEMain:
Inheritance graph
[legend]
Collaboration diagram for SEMain:
Collaboration graph
[legend]

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.

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 SourceXtractor::ProgressReporterFactory::addOptions(), 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

◆ mainMethod()

Elements::ExitCode SEMain::mainMethod ( std::map< std::string, po::variable_value > & args)
inlineoverride

Definition at line 289 of file SourceXtractor.cpp.

References config_manager_id, SourceXtractor::ProgressReporterFactory::configure(), SourceXtractor::DeblendingFactory::configure(), SourceXtractor::GroupingFactory::configure(), SourceXtractor::MeasurementFactory::configure(), SourceXtractor::OutputFactory::configure(), SourceXtractor::PartitionFactory::configure(), SourceXtractor::SegmentationFactory::configure(), SourceXtractor::DeblendingFactory::createDeblending(), SourceXtractor::GroupingFactory::createGrouping(), SourceXtractor::OutputFactory::createOutput(), SourceXtractor::ProgressReporterFactory::createProgressMediator(), SourceXtractor::SegmentationFactory::createSegmentation(), deblending_factory, disableBlasMultithreading(), DUMP_CONFIG, std::endl(), SourceXtractor::TileManager::getInstance(), SourceXtractor::CheckImages::getInstance(), Euclid::Configuration::ConfigManager::getInstance(), SourceXtractor::MeasurementFactory::getMeasurement(), SourceXtractor::OutputConfig::getOutputProperties(), SourceXtractor::OutputConfig::getOutputUnsorted(), SourceXtractor::PartitionFactory::getPartition(), grouping_factory, LIST_OUTPUT_PROPERTIES, Euclid::Configuration::logger, measurement_factory, Elements::NOT_OK, Elements::OK, output_factory, output_registry, std::partition(), partition_factory, printDefaults(), progress_printer_factory, PROPERTY_COLUMN_MAPPING, PROPERTY_COLUMN_MAPPING_ALL, segmentation_factory, and task_factory_registry.

Here is the call graph for this function:

◆ printDefaults()

void SEMain::printDefaults ( )
inline

Print a configuration file populated with defaults.

Definition at line 254 of file SourceXtractor.cpp.

References config_parameters, std::endl(), and getConfigParameters().

Referenced by mainMethod().

Here is the call graph for this function:

◆ writeDefault()

template<typename T >
static 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().

Here is the call graph for this function:

◆ writeDefaultMultiple()

template<typename T >
static 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().

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:

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().

◆ 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().

◆ 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(), and mainMethod().

◆ task_provider

Definition at line 157 of file SourceXtractor.cpp.


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