SourceXtractorPlusPlus
0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
src
lib
Configuration
AttractorsPartitionConfig.cpp
Go to the documentation of this file.
1
17
/*
18
* @file AttractorsPartitionConfig.cpp
19
* @author nikoapos
20
*/
21
22
#include "
SEImplementation/Configuration/AttractorsPartitionConfig.h
"
23
#include "
SEImplementation/Configuration/PartitionStepConfig.h
"
24
#include "
SEImplementation/Configuration/MinAreaPartitionConfig.h
"
25
26
#include "
SEImplementation/Partition/AttractorsPartitionStep.h
"
27
28
using namespace
Euclid::Configuration
;
29
namespace
po = boost::program_options;
30
31
namespace
SourceXtractor
{
32
33
static
const
std::string
USE_ATTRACTORS_PARTITION
{
"use-attractors-partition"
};
34
35
AttractorsPartitionConfig::AttractorsPartitionConfig
(
long
manager_id
) :
Configuration
(
manager_id
) {
36
declareDependency<PartitionStepConfig>
();
37
ConfigManager::getInstance
(
manager_id
).
registerDependency
<
AttractorsPartitionConfig
,
MinAreaPartitionConfig
>();
38
39
}
40
41
auto
AttractorsPartitionConfig::getProgramOptions
() ->
std::map<std::string, OptionDescriptionList>
{
42
return
{ {
"Extraction"
, {
43
{
USE_ATTRACTORS_PARTITION
.c_str(), po::value<bool>()->default_value(
false
),
44
"Enables the use of attractors for partitioning"
}
45
}}};
46
}
47
48
void
AttractorsPartitionConfig::initialize
(
const
UserValues
&
args
) {
49
if
(
args
.at(
USE_ATTRACTORS_PARTITION
).as<
bool
>()) {
50
getDependency<PartitionStepConfig>
().addPartitionStepCreator(
51
[](
std::shared_ptr<SourceFactory>
source_factory) {
52
return
std::make_shared<AttractorsPartitionStep>
(source_factory);
53
}
54
);
55
}
56
}
57
58
}
// SourceXtractor namespace
AttractorsPartitionConfig.h
AttractorsPartitionStep.h
MinAreaPartitionConfig.h
PartitionStepConfig.h
std::string
Euclid::Configuration::ConfigManager::registerDependency
void registerDependency()
Euclid::Configuration::ConfigManager::getInstance
static ConfigManager & getInstance(long id)
Euclid::Configuration::Configuration
SourceXtractor::AttractorsPartitionConfig::AttractorsPartitionConfig
AttractorsPartitionConfig(long manager_id)
Definition
AttractorsPartitionConfig.cpp:35
SourceXtractor::AttractorsPartitionConfig::getProgramOptions
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Definition
AttractorsPartitionConfig.cpp:41
SourceXtractor::AttractorsPartitionConfig::initialize
void initialize(const UserValues &args) override
Definition
AttractorsPartitionConfig.cpp:48
SourceXtractor::MinAreaPartitionConfig
Definition
MinAreaPartitionConfig.h:29
std::function
std::map
Euclid::Configuration
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::USE_ATTRACTORS_PARTITION
static const std::string USE_ATTRACTORS_PARTITION
Definition
AttractorsPartitionConfig.cpp:33
Generated by
1.10.0