SourceXtractorPlusPlus  0.15
Please provide a description of the project.
Classes | Functions | Variables
SourceXtractor.cpp File Reference
#include <dlfcn.h>
#include <iomanip>
#include <map>
#include <string>
#include <typeinfo>
#include <boost/program_options.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <SEMain/SourceXtractorConfig.h>
#include "ElementsKernel/Main.h"
#include "ElementsKernel/System.h"
#include "ElementsKernel/Temporary.h"
#include "Configuration/ConfigManager.h"
#include "Configuration/Utils.h"
#include "SEFramework/Plugin/PluginManager.h"
#include "SEFramework/Task/TaskProvider.h"
#include "SEFramework/Image/ProcessedImage.h"
#include "SEFramework/Image/BufferedImage.h"
#include "SEFramework/Pipeline/SourceGrouping.h"
#include "SEFramework/Pipeline/Deblending.h"
#include "SEFramework/Pipeline/Partition.h"
#include "SEFramework/Output/OutputRegistry.h"
#include "SEFramework/Task/TaskFactoryRegistry.h"
#include "SEFramework/Source/SourceWithOnDemandPropertiesFactory.h"
#include "SEFramework/Source/SourceGroupWithOnDemandPropertiesFactory.h"
#include "SEImplementation/CheckImages/SourceIdCheckImage.h"
#include "SEImplementation/CheckImages/DetectionIdCheckImage.h"
#include "SEImplementation/CheckImages/GroupIdCheckImage.h"
#include "SEImplementation/CheckImages/MoffatCheckImage.h"
#include "SEImplementation/Background/BackgroundAnalyzerFactory.h"
#include "SEImplementation/Configuration/MultiThreadingConfig.h"
#include "SEImplementation/Segmentation/SegmentationFactory.h"
#include "SEImplementation/Output/OutputFactory.h"
#include "SEImplementation/Grouping/GroupingFactory.h"
#include "SEImplementation/Plugin/PixelCentroid/PixelCentroid.h"
#include "SEImplementation/Partition/PartitionFactory.h"
#include "SEImplementation/Deblending/DeblendingFactory.h"
#include "SEImplementation/Measurement/MeasurementFactory.h"
#include "SEImplementation/Configuration/DetectionImageConfig.h"
#include "SEImplementation/Configuration/BackgroundConfig.h"
#include "SEImplementation/Configuration/SE2BackgroundConfig.h"
#include "SEImplementation/Configuration/WeightImageConfig.h"
#include "SEImplementation/Configuration/MemoryConfig.h"
#include "SEImplementation/Configuration/OutputConfig.h"
#include "SEImplementation/Configuration/SamplingConfig.h"
#include "SEImplementation/CheckImages/CheckImages.h"
#include "SEImplementation/Prefetcher/Prefetcher.h"
#include "SEMain/ProgressReporterFactory.h"
#include "SEMain/PluginConfig.h"
#include "SEMain/Sorter.h"
Include dependency graph for SourceXtractor.cpp:

Go to the source code of this file.

Classes

class  GroupObserver
 
class  SourceObserver
 
class  SEMain
 
class  PluginOptionsMain
 

Functions

static void setupEnvironment (void)
 
static void disableBlasMultithreading ()
 
static void forwardOptions (int argc, char *const *argv, std::vector< std::string > &plugin_options_input)
 
ELEMENTS_API int main (int argc, char *argv[])
 

Variables

static long config_manager_id = getUniqueManagerId()
 
static const std::string LIST_OUTPUT_PROPERTIES {"list-output-properties"}
 
static const std::string PROPERTY_COLUMN_MAPPING_ALL {"property-column-mapping-all"}
 
static const std::string PROPERTY_COLUMN_MAPPING {"property-column-mapping"}
 
static const std::string DUMP_CONFIG {"dump-default-config"}
 
static Elements::Logging logger = Elements::Logging::getLogger("SourceXtractor")
 

Detailed Description

Copyright © 2019 Université de Genève, LMU Munich - Faculty of Physics, IAP-CNRS/Sorbonne Université

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Date
05/31/16
Author
mschefer

Definition in file SourceXtractor.cpp.

Function Documentation

◆ disableBlasMultithreading()

static void disableBlasMultithreading ( )
static

MKL blas implementation use multithreading by default, which tends to play badly with sourcextractor++ own multithreading. We disable multithreading here unless explicitly enabled by the user via environment variables

Definition at line 134 of file SourceXtractor.cpp.

References std::getenv(), and SourceXtractor::logger.

Referenced by SEMain::mainMethod().

Here is the call graph for this function:

◆ forwardOptions()

static void forwardOptions ( int  argc,
char *const *  argv,
std::vector< std::string > &  plugin_options_input 
)
static

Definition at line 551 of file SourceXtractor.cpp.

References std::vector< T >::emplace_back().

Referenced by main().

Here is the call graph for this function:

◆ main()

ELEMENTS_API int main ( int  argc,
char *  argv[] 
)

Definition at line 579 of file SourceXtractor.cpp.

References CREATE_MANAGER_WITH_ARGS, std::vector< T >::data(), e, ELEMENTS_API, std::vector< T >::emplace_back(), forwardOptions(), SourceXtractor::logger, Elements::NOT_OK, Elements::ProgramManager::onTerminate(), std::set_terminate(), setupEnvironment(), and Elements::SOFTWARE.

Here is the call graph for this function:

◆ setupEnvironment()

static void setupEnvironment ( void  )
static

Definition at line 115 of file SourceXtractor.cpp.

Referenced by main().

Variable Documentation

◆ config_manager_id

long config_manager_id = getUniqueManagerId()
static

Definition at line 88 of file SourceXtractor.cpp.

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

◆ DUMP_CONFIG

const std::string DUMP_CONFIG {"dump-default-config"}
static

Definition at line 93 of file SourceXtractor.cpp.

Referenced by SEMain::defineProgramArguments(), and SEMain::mainMethod().

◆ LIST_OUTPUT_PROPERTIES

const std::string LIST_OUTPUT_PROPERTIES {"list-output-properties"}
static

Definition at line 90 of file SourceXtractor.cpp.

Referenced by SEMain::defineProgramArguments(), and SEMain::mainMethod().

◆ logger

Elements::Logging logger = Elements::Logging::getLogger("SourceXtractor")
static

Definition at line 113 of file SourceXtractor.cpp.

◆ PROPERTY_COLUMN_MAPPING

const std::string PROPERTY_COLUMN_MAPPING {"property-column-mapping"}
static

Definition at line 92 of file SourceXtractor.cpp.

Referenced by SEMain::defineProgramArguments(), and SEMain::mainMethod().

◆ PROPERTY_COLUMN_MAPPING_ALL

const std::string PROPERTY_COLUMN_MAPPING_ALL {"property-column-mapping-all"}
static

Definition at line 91 of file SourceXtractor.cpp.

Referenced by SEMain::defineProgramArguments(), and SEMain::mainMethod().