Mercurial Hosting > traffic-intelligence
diff c/Parameters.cpp @ 348:c64a4f889b97
added safety analysis options to feature tracking (with default values for backward compatibility)
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 26 Jun 2013 18:40:31 -0400 |
parents | f21ef87f98f1 |
children | e3f910c26fae |
line wrap: on
line diff
--- a/c/Parameters.cpp Wed Jun 26 17:28:45 2013 -0400 +++ b/c/Parameters.cpp Wed Jun 26 18:40:31 2013 -0400 @@ -18,7 +18,7 @@ ("help,h", "displays this help message") ("tf", "tracks features") ("gf", "groups features") - ("config-file", po::value<string>(&configurationFilename)->default_value("tracking.cfg"), "configuration file") + ("config-file", po::value<string>(&configurationFilename), "configuration file") ; po::positional_options_description p; @@ -56,11 +56,15 @@ ("max-distance", po::value<float>(&maxDistance), "maximum distance between features for grouping") ("min-velocity-cosine", po::value<float>(&minVelocityCosine), "minimum cosine of the angle between the velocity vectors for grouping") ("min-nfeatures-group", po::value<float>(&minNFeaturesPerGroup), "minimum average number of features per frame to create a vehicle hypothesis") - ; // ("max-uturn-cosine", po::value<float>(&maxUTurnCosine), "maximum cosine value to detect U-turn") // ("nframes-avoid-uturn", po::value<int>(&nFramesAvoidUTurn), "number of frames over which a feature should not make a U-turn") - - + // Safety Analysis + ("max-predicted-speed", po::value<float>(&maxPredictedSpeed)->default_value(50.), "maximum speed when predicting future motion (km/h)") + ("prediction-time-horizon", po::value<float>(&predictionTimeHorizon)->default_value(5.), "time horizon for collision prediction (s)") + ("collision-distance", po::value<float>(&collisionDistance)->default_value(1.8), "collision distance threshold (m)") + ("crossing-zones", po::value<bool>(&crossingZones)->default_value(false), "option to compute crossing zones and predicted PET") + ; + po::options_description cmdLine; cmdLine.add(onlyCmdLine).add(cmdLineAndFile); try { @@ -69,10 +73,16 @@ options(cmdLine).positional(p).allow_unregistered().run(), vm); notify(vm); + if (vm.count("config-file") == 0) { + cout << "Missing configuration file" << endl; + cout << cmdLine << endl; + exit(0); + } + cout << "Using configuration file " << configurationFilename << endl; ifstream configurationFile(configurationFilename.c_str()); - store(po::parse_config_file(configurationFile, cmdLineAndFile), vm); + store(po::parse_config_file(configurationFile, cmdLineAndFile, true), vm); notify(vm); parameterDescription = getParameterDescription(cmdLineAndFile, vm);