Go to the documentation of this file. 1 #ifndef SLAMPARAMETERS_H
2 #define SLAMPARAMETERS_H
7 #include <unordered_map>
8 #include <yaml-cpp/yaml.h>
12 class AFeatureDetector;
13 class AFeatureMatcher;
14 class AFeatureTracker;
17 class ALandmarkInitializer;
18 class BundleAdjustmentCERES;
103 std::unordered_map<std::string, std::shared_ptr<AFeatureDetector>>
getFeatureDetectors() {
return _detector_map; }
107 return _lmk_init_map;
117 std::shared_ptr<ADataProvider> _data_provider;
118 std::unordered_map<std::string, std::shared_ptr<AFeatureDetector>> _detector_map;
119 std::unordered_map<std::string, FeatureTrackerStruct> _tracker_map;
120 std::unordered_map<std::string, FeatureMatcherStruct> _matcher_map;
121 std::unordered_map<std::string, std::shared_ptr<ALandmarkInitializer>> _lmk_init_map;
123 std::shared_ptr<APoseEstimator> _pose_estimator;
124 std::shared_ptr<AOptimizer> _optimizer_frontend, _optimizer_backend;
125 std::shared_ptr<LocalMap> _local_map;
127 void createProvider();
128 void createDetectors();
129 void createTrackers();
130 void createMatchers();
131 void createPoseEstimator();
132 void createLandmarkInitializers();
133 void createOptimizer();
int tracker_width
searchAreaWidth of tracker
Definition: slamParameters.h:51
std::shared_ptr< AFeatureTracker > feature_tracker
Definition: slamParameters.h:38
std::shared_ptr< AOptimizer > getOptimizerBack()
Definition: slamParameters.h:112
A struct that contains a feature matcher and its parameters.
Definition: slamParameters.h:24
int fixed_frame_number
Number of fixed frame for gauge fixing.
Definition: slamParameters.h:81
std::vector< FeatureStruct > features_handled
types of features the slam will work on separated with commas (,)
Definition: slamParameters.h:89
double max_matching_dist
distance for matching
Definition: slamParameters.h:55
A class that gathers most of the algorithmic blocks of the SLAM system that can be setup in the confi...
Definition: slamParameters.h:98
std::unordered_map< std::string, std::shared_ptr< AFeatureDetector > > getFeatureDetectors()
Definition: slamParameters.h:103
This structure contains the configuration parameters located in the config file.
Definition: slamParameters.h:65
int matcher_height
searchAreaHeight of tracker
Definition: slamParameters.h:56
float min_movement_parallax
Below this parallax, no motion is considered.
Definition: slamParameters.h:83
std::shared_ptr< AFeatureMatcher > feature_matcher
Definition: slamParameters.h:27
float min_lmk_number
Below this number of landmark, a KF is voted.
Definition: slamParameters.h:82
std::unordered_map< std::string, FeatureTrackerStruct > getFeatureTrackers()
Definition: slamParameters.h:104
std::string slam_mode
SLAM mode (mono, bimono, monovio...)
Definition: slamParameters.h:68
float max_movement_parallax
Over this parallax, a KF is voted.
Definition: slamParameters.h:84
float clahe_clip
Clip of CLAHE (useful only if it is chosen for contrast enhancement)
Definition: slamParameters.h:73
std::shared_ptr< AOptimizer > getOptimizerFront()
Definition: slamParameters.h:111
int marginalization
0 no marginalization, 1 marginalization
Definition: slamParameters.h:75
int tracker_nlvls_pyramids
Definition: slamParameters.h:36
std::string detector_label
label of the feature detector
Definition: slamParameters.h:46
void readConfigFile(const std::string &path_config_folder)
Definition: slamParameters.cpp:48
std::string pose_estimator
Type of pose estimator.
Definition: slamParameters.h:77
std::string tracker
Type of tracking (matcher or klt)
Definition: slamParameters.h:78
int tracker_nlvls_pyramids
nlevels of pyramids for klt tracking
Definition: slamParameters.h:52
int matcher_width
searchAreaWidth of tracker
Definition: slamParameters.h:57
std::shared_ptr< APoseEstimator > getPoseEstimator()
Definition: slamParameters.h:110
int tracker_height
searchAreaHeight of tracker
Definition: slamParameters.h:50
int n_features_per_cell
number of features per cell for bucketting
Definition: slamParameters.h:48
A struct that gathers all the parameters for a feature.
Definition: slamParameters.h:44
int matcher_width
Definition: slamParameters.h:25
double ZNCC_tsh
Threshold on ZNCC for triangle filtering.
Definition: slamParameters.h:86
double tracker_max_err
Definition: slamParameters.h:37
int max_kf_number
Size maximum of the sliding windown.
Definition: slamParameters.h:80
int matcher_height
Definition: slamParameters.h:26
Definition: AFeature2D.h:8
int tracker_height
Definition: slamParameters.h:35
std::unordered_map< std::string, std::shared_ptr< ALandmarkInitializer > > getLandmarksInitializer()
Definition: slamParameters.h:106
std::string dataset_path
Path to the dataset.
Definition: slamParameters.h:66
std::string lmk_triangulator
landmarkTriangulation class we will use to triangulate landmark of label_feature type
Definition: slamParameters.h:59
std::string dataset_id
Id of the dataset.
Definition: slamParameters.h:67
std::string tracker_label
class name of the tracker we will use in our SLAM
Definition: slamParameters.h:49
float downsampling
Float to reduce the size of the image (0,5 = half the size of the img)
Definition: slamParameters.h:74
std::string optimizer
Optimizer type (ReprojectionError, AngularError...)
Definition: slamParameters.h:71
double tracker_max_err
error threshold for klt tracking
Definition: slamParameters.h:53
A struct that contains a feature tracker and its parameters.
Definition: slamParameters.h:33
std::string matcher_label
class name of the matcher we will use in our SLAM
Definition: slamParameters.h:54
double max_length_tsh
Threshold on maximum length for triangle filtering.
Definition: slamParameters.h:87
Config _config
Definition: slamParameters.h:114
int min_kf_number
Minimum KF for optimization.
Definition: slamParameters.h:79
bool enable_visu
Allow visualization.
Definition: slamParameters.h:70
int number_detected_features
number of features to be detected by the detector
Definition: slamParameters.h:47
bool sparsification
0 no sparsification, 1 sparsification
Definition: slamParameters.h:76
bool mesh3D
0 no 3D mesh, 1 3D mesh
Definition: slamParameters.h:85
int tracker_width
Definition: slamParameters.h:34
int contrast_enhancer
integer to choose the contrast enhancement algorithm
Definition: slamParameters.h:72
bool multithreading
Allow to run front-end and back-end on different threads (unstable...)
Definition: slamParameters.h:69
std::shared_ptr< ADataProvider > getDataProvider()
Definition: slamParameters.h:102
std::string label_feature
Label of the feature.
Definition: slamParameters.h:45
SLAMParameters(const std::string config_file)
Definition: slamParameters.cpp:35
std::unordered_map< std::string, FeatureMatcherStruct > getFeatureMatchers()
Definition: slamParameters.h:105