view include/Parameters.hpp @ 252:933e400ee53b

hgignore mis à jour
author Jeep-Tour@Jeep-Tour-PC
date Mon, 23 Jul 2012 12:30:09 -0400
parents 23da16442433
children f21ef87f98f1
line wrap: on
line source

#ifndef PARAMETERS_HPP
#define PARAMETERS_HPP

/// \todo Class for parameters, with utilities to save and load from configuration files

#include <string>

namespace boost{
  namespace program_options {
    class options_description;
    class variables_map;
  }
}

struct KLTFeatureTrackingParameters {
  bool trackFeatures;
  bool groupFeatures;

  std::string videoFilename;
  std::string databaseFilename;
  std::string homographyFilename;
  std::string maskFilename;
  bool loadFeatures;
  bool display;
  float videoFPS;
  // int measurementPrecision;
  unsigned int frame1;
  unsigned int nFrames;
  // feature tracking
  int maxNFeatures;
  float featureQuality;
  float minFeatureDistanceKLT;
  int windowSize;
  bool useHarrisDetector;
  float k;
  int pyramidLevel;
  unsigned int nDisplacements;
  float minFeatureDisplacement;
  float accelerationBound;
  float deviationBound;
  int nFramesSmoothing;
  //int nFramesVelocity;
  int maxNumberTrackingIterations;
  float minTrackingError;
  unsigned int minFeatureTime;
  float mmConnectionDistance;
  float mmSegmentationDistance;
  float maxDistance;
  float minVelocityCosine;
  float minNFeaturesPerGroup;

  std::string parameterDescription;

  KLTFeatureTrackingParameters(const int argc, char* argv[]);

  //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);

  std::string getParameterDescription(boost::program_options::options_description& options, const boost::program_options::variables_map& vm, const std::string& separator = " ") const;
};

#endif