annotate include/Parameters.hpp @ 506:13d4eb96a751

added needed parameters
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 28 Apr 2014 18:18:14 -0400
parents 17c5f378c283
children 081a9da6f85b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
119
45a426552aaa compilation of very simple feature class with trajectory
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 118
diff changeset
1 #ifndef PARAMETERS_HPP
45a426552aaa compilation of very simple feature class with trajectory
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 118
diff changeset
2 #define PARAMETERS_HPP
5
824c35230b73 idea for parameters class
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
3
824c35230b73 idea for parameters class
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
4 /// \todo Class for parameters, with utilities to save and load from configuration files
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
5
124
1e68e18b1aa5 renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 119
diff changeset
6 #include <string>
506
13d4eb96a751 added needed parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 419
diff changeset
7 #include <vector>
124
1e68e18b1aa5 renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 119
diff changeset
8
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
9 namespace boost{
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
10 namespace program_options {
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
11 class options_description;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
12 class variables_map;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
13 }
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
14 }
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
15
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
16 struct KLTFeatureTrackingParameters {
164
76610dcf3b8d added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 137
diff changeset
17 bool trackFeatures;
76610dcf3b8d added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 137
diff changeset
18 bool groupFeatures;
76610dcf3b8d added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 137
diff changeset
19
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
20 std::string videoFilename;
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
21 std::string databaseFilename;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
22 std::string homographyFilename;
506
13d4eb96a751 added needed parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 419
diff changeset
23 std::string intrinsicCameraFilename;
13d4eb96a751 added needed parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 419
diff changeset
24 std::vector<float> distortionCoefficients;
13d4eb96a751 added needed parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 419
diff changeset
25 float undistortedImageMultiplication;
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
26 std::string maskFilename;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
27 bool loadFeatures;
134
a617d0808bbc added test on feature length and display control
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 127
diff changeset
28 bool display;
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
29 float videoFPS;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
30 // int measurementPrecision;
228
23da16442433 minor modifications for unsigned int (nframes is now 0 to process all frames)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 191
diff changeset
31 unsigned int frame1;
278
f21ef87f98f1 resolved issue 2 and problem with negative nframes parameter
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 228
diff changeset
32 int nFrames;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
33 // feature tracking
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
34 int maxNFeatures;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
35 float featureQuality;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
36 float minFeatureDistanceKLT;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
37 int windowSize;
127
d19d6e63dd77 simple feature tracking and drawing working
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 124
diff changeset
38 bool useHarrisDetector;
d19d6e63dd77 simple feature tracking and drawing working
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 124
diff changeset
39 float k;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
40 int pyramidLevel;
136
0f790de9437e renamed Feature to Motion files and added code to test blob db
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 135
diff changeset
41 unsigned int nDisplacements;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
42 float minFeatureDisplacement;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
43 float accelerationBound;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
44 float deviationBound;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
45 int nFramesSmoothing;
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
46 //int nFramesVelocity;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
47 int maxNumberTrackingIterations;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
48 float minTrackingError;
418
ca5784652d57 updated use of calcOpticalFlowPyrLK for new signature, added minEigThreshold parameter in configuration file
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
49 float minFeatureEigThreshold;
135
32d2722d4028 added constraint on minimum displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 134
diff changeset
50 unsigned int minFeatureTime;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
51 float mmConnectionDistance;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
52 float mmSegmentationDistance;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
53 float maxDistance;
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
54 float minVelocityCosine;
191
0e60a306d324 added basic code to identify features and save them (crash)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 164
diff changeset
55 float minNFeaturesPerGroup;
348
c64a4f889b97 added safety analysis options to feature tracking (with default values for backward compatibility)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 278
diff changeset
56 // safety analysis
c64a4f889b97 added safety analysis options to feature tracking (with default values for backward compatibility)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 278
diff changeset
57 float maxPredictedSpeed;
c64a4f889b97 added safety analysis options to feature tracking (with default values for backward compatibility)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 278
diff changeset
58 float predictionTimeHorizon;
c64a4f889b97 added safety analysis options to feature tracking (with default values for backward compatibility)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 278
diff changeset
59 float collisionDistance;
c64a4f889b97 added safety analysis options to feature tracking (with default values for backward compatibility)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 278
diff changeset
60 bool crossingZones;
352
72aa44072093 safety analysis script with option for prediction method
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 351
diff changeset
61 std::string predictionMethod;
349
e3f910c26fae added other safety analysis parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 348
diff changeset
62 int nPredictedTrajectories;
e3f910c26fae added other safety analysis parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 348
diff changeset
63 float minAcceleration;
e3f910c26fae added other safety analysis parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 348
diff changeset
64 float maxAcceleration;
e3f910c26fae added other safety analysis parameters
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 348
diff changeset
65 float maxSteering;
353
8672c101bfec corrected minor type issue
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 352
diff changeset
66 bool useFeaturesForPrediction;
124
1e68e18b1aa5 renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 119
diff changeset
67
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
68 std::string parameterDescription;
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
69
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
70 KLTFeatureTrackingParameters(const int argc, char* argv[]);
124
1e68e18b1aa5 renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 119
diff changeset
71
135
32d2722d4028 added constraint on minimum displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 134
diff changeset
72 //KLTFeatureTrackingParameters(bool loadFeatures, std::string videoFilename, int videoFPS, int measurementPrecision, int frame1, int nFrames, int maxNFeatures, float featureQuality, float minFeatureDistanceKLT, int windowSize, int pyramidLevel, int nDisplacements, float minFeatureDisplacement, float accelerationBound, float deviationBound, int nFramesSmoothing, int nFramesVelocity, int maxNumberTrackingIterations, float minTrackingError, int minFeatureTime, float mmConnectionDistance, float mmSegmentationDistance, float maxDistance, float minVelocityCosine, int minNFeaturesPerGroup);
124
1e68e18b1aa5 renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 119
diff changeset
73
137
445e773c9be3 created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 136
diff changeset
74 std::string getParameterDescription(boost::program_options::options_description& options, const boost::program_options::variables_map& vm, const std::string& separator = " ") const;
118
b3e3d9f80a6a added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 5
diff changeset
75 };
119
45a426552aaa compilation of very simple feature class with trajectory
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 118
diff changeset
76
45a426552aaa compilation of very simple feature class with trajectory
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 118
diff changeset
77 #endif