SourceXtractorPlusPlus  0.16
Please provide a description of the project.
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
SEMain Class Reference
Inheritance diagram for SEMain:
[legend]
Collaboration diagram for SEMain:
[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. More...
 
void printDefaults ()
 Print a configuration file populated with defaults. More...
 
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. More...
 
template<typename T >
static void writeDefaultMultiple (std::ostream &out, const po::option_description &opt, const boost::any &default_value)
 Print a multiple-value option. More...
 

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 152 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 175 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 211 of file SourceXtractor.cpp.

References std::string::c_str(), DUMP_CONFIG, LIST_OUTPUT_PROPERTIES, 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 182 of file SourceXtractor.cpp.

References config_manager_id, SourceXtractor::CheckImages::getInstance(), Euclid::Configuration::ConfigManager::getInstance(), SourceXtractor::PluginManager::loadPlugins(), SourceXtractor::TaskFactoryRegistry::reportConfigDependencies(), and SourceXtractor::CheckImages::reportConfigDependencies().

Here is the call graph for this function:

◆ mainMethod()

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

Definition at line 286 of file SourceXtractor.cpp.

References std::map< K, T >::at(), config_manager_id, SourceXtractor::TaskFactoryRegistry::configure(), SourceXtractor::CheckImages::configure(), SourceXtractor::ConstantImage< T >::create(), SourceXtractor::ProcessedImage< T, P >::create(), disableBlasMultithreading(), DUMP_CONFIG, e, std::map< K, T >::end(), std::endl(), std::map< K, T >::find(), SourceXtractor::TileManager::getInstance(), SourceXtractor::CheckImages::getInstance(), Euclid::Configuration::ConfigManager::getInstance(), SourceXtractor::MultiThreadingConfig::getMaxQueueSize(), SourceXtractor::OutputConfig::getOutputProperties(), SourceXtractor::OutputRegistry::getOutputPropertyNames(), SourceXtractor::OutputConfig::getOutputUnsorted(), SourceXtractor::MultiThreadingConfig::getThreadPool(), LIST_OUTPUT_PROPERTIES, SourceXtractor::logger, Elements::NOT_OK, Elements::OK, std::partition(), SourceXtractor::OutputRegistry::printPropertyColumnMap(), PROPERTY_COLUMN_MAPPING, PROPERTY_COLUMN_MAPPING_ALL, SourceXtractor::TaskFactoryRegistry::registerPropertyInstances(), SourceXtractor::CheckImages::saveImages(), SourceXtractor::CheckImages::setBackgroundCheckImage(), SourceXtractor::CheckImages::setFilteredCheckImage(), SourceXtractor::CheckImages::setSnrCheckImage(), SourceXtractor::CheckImages::setThresholdedCheckImage(), and SourceXtractor::CheckImages::setVarianceCheckImage().

Here is the call graph for this function:

◆ printDefaults()

void SEMain::printDefaults ( )
inline

Print a configuration file populated with defaults.

Definition at line 251 of file SourceXtractor.cpp.

References std::endl().

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 233 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 239 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 170 of file SourceXtractor.cpp.

◆ config_parameters

po::options_description SEMain::config_parameters
private

Definition at line 171 of file SourceXtractor.cpp.

◆ deblending_factory

DeblendingFactory SEMain::deblending_factory {source_factory}
private

Definition at line 166 of file SourceXtractor.cpp.

◆ group_factory

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

Definition at line 162 of file SourceXtractor.cpp.

◆ grouping_factory

GroupingFactory SEMain::grouping_factory {group_factory}
private

Definition at line 165 of file SourceXtractor.cpp.

◆ measurement_factory

MeasurementFactory SEMain::measurement_factory { output_registry }
private

Definition at line 167 of file SourceXtractor.cpp.

◆ output_factory

OutputFactory SEMain::output_factory { output_registry }
private

Definition at line 158 of file SourceXtractor.cpp.

◆ output_registry

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

Definition at line 156 of file SourceXtractor.cpp.

◆ partition_factory

PartitionFactory SEMain::partition_factory {source_factory}
private

Definition at line 164 of file SourceXtractor.cpp.

◆ plugin_manager

PluginManager SEMain::plugin_manager
private

Definition at line 159 of file SourceXtractor.cpp.

◆ progress_printer_factory

ProgressReporterFactory SEMain::progress_printer_factory {}
private

Definition at line 168 of file SourceXtractor.cpp.

◆ segmentation_factory

SegmentationFactory SEMain::segmentation_factory {task_provider}
private

Definition at line 157 of file SourceXtractor.cpp.

◆ source_factory

std::shared_ptr<SourceFactory> SEMain::source_factory
private
Initial value:
=
std::make_shared<SourceWithOnDemandPropertiesFactory>(task_provider)

Definition at line 160 of file SourceXtractor.cpp.

◆ task_factory_registry

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

Definition at line 154 of file SourceXtractor.cpp.

◆ task_provider

Definition at line 155 of file SourceXtractor.cpp.


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