Mercurial Hosting > traffic-intelligence
annotate include/Parameters.hpp @ 417:a2ff03a52b73
added basic logging capability for debugging
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 26 Sep 2013 17:07:44 -0400 |
parents | c389fae9689a |
children | ca5784652d57 |
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 | 3 |
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> |
1e68e18b1aa5
renaming and working on klt
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
119
diff
changeset
|
7 |
137
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
8 namespace boost{ |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
9 namespace program_options { |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
10 class options_description; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
11 class variables_map; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
12 } |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
13 } |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
14 |
137
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
15 struct KLTFeatureTrackingParameters { |
164
76610dcf3b8d
added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
137
diff
changeset
|
16 bool trackFeatures; |
76610dcf3b8d
added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
137
diff
changeset
|
17 bool groupFeatures; |
76610dcf3b8d
added test code to read trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
137
diff
changeset
|
18 |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
19 std::string videoFilename; |
399
c389fae9689a
Added a class to read list of image instead of video. This is controlled by the use of the database-filename and folder-data parameters in the config file.
Jean-Philippe Jodoin <jpjodoin@gmail.com>
parents:
353
diff
changeset
|
20 |
c389fae9689a
Added a class to read list of image instead of video. This is controlled by the use of the database-filename and folder-data parameters in the config file.
Jean-Philippe Jodoin <jpjodoin@gmail.com>
parents:
353
diff
changeset
|
21 std::string listFilename; |
c389fae9689a
Added a class to read list of image instead of video. This is controlled by the use of the database-filename and folder-data parameters in the config file.
Jean-Philippe Jodoin <jpjodoin@gmail.com>
parents:
353
diff
changeset
|
22 std::string folderData; |
c389fae9689a
Added a class to read list of image instead of video. This is controlled by the use of the database-filename and folder-data parameters in the config file.
Jean-Philippe Jodoin <jpjodoin@gmail.com>
parents:
353
diff
changeset
|
23 |
c389fae9689a
Added a class to read list of image instead of video. This is controlled by the use of the database-filename and folder-data parameters in the config file.
Jean-Philippe Jodoin <jpjodoin@gmail.com>
parents:
353
diff
changeset
|
24 |
137
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
25 std::string databaseFilename; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
26 std::string homographyFilename; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
27 std::string maskFilename; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
28 bool loadFeatures; |
134
a617d0808bbc
added test on feature length and display control
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
127
diff
changeset
|
29 bool display; |
137
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
30 float videoFPS; |
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
31 // 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
|
32 unsigned int frame1; |
278
f21ef87f98f1
resolved issue 2 and problem with negative nframes parameter
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
228
diff
changeset
|
33 int nFrames; |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
34 // feature tracking |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
35 int maxNFeatures; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
36 float featureQuality; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
37 float minFeatureDistanceKLT; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
38 int windowSize; |
127
d19d6e63dd77
simple feature tracking and drawing working
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
124
diff
changeset
|
39 bool useHarrisDetector; |
d19d6e63dd77
simple feature tracking and drawing working
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
124
diff
changeset
|
40 float k; |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
41 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
|
42 unsigned int nDisplacements; |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
43 float minFeatureDisplacement; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
44 float accelerationBound; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
45 float deviationBound; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
46 int nFramesSmoothing; |
137
445e773c9be3
created the parameter structure to parse parameters (bug remaining)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
136
diff
changeset
|
47 //int nFramesVelocity; |
118
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
48 int maxNumberTrackingIterations; |
b3e3d9f80a6a
added configuration file and parameter structure
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
5
diff
changeset
|
49 float minTrackingError; |
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 |