Overview
struct Cli
{
// fields
TCLAP::CmdLine cmd {"kitti-metrics-eval"};
TCLAP::ValueArg<std::string> arg_kitti_basedir { "k", "kitti-basedir", "Path to the kitti datasets. Overrides to the default, which is " "reading " "the env var `KITTI_BASE_DIR`.", false, "", "", cmd};
TCLAP::ValueArg<std::string> arg_result_path { "r", "result-tum-path", "File to evaluate, in TUM format", true, "result.txt|result_%02i.txt", "result.txt", cmd};
TCLAP::ValueArg<std::string> argSavePathKittiFormat { "", "save-as-kitti", "If given, will transform the input path from the LIDAR frame to the " "cam0 " "frame and save the path to a TXT file in the format expected by KITTI " "dev " "kit.", false, "result.kitti", "result.kitti", cmd};
TCLAP::MultiArg<int> arg_seq { "s", "sequence", "The sequence number of the path{s} file{s} to evaluate, used to find " "out " "GT and calibration files for the Kitti dataset.", false, "01", cmd};
TCLAP::ValueArg<std::string> arg_override_gt_file { "", "gt-tum-path", "If provided, the --sequence flag will be ignored and this particular " "file " "in TUM format will be read and used as ground truth to compare " "against " "the resulting odometry path.", false, "trajectory_gt.txt", "trajectory_gt.txt", cmd};
TCLAP::SwitchArg argSkipFigures {"", "no-figures", "Skip generating the error figures", cmd};
TCLAP::SwitchArg argResultInKittiFormat { "", "result-in-kitti-format", "Use to read solution trajectory files in KITTI(4*3 elements per row) " "format instead of in TUM format", cmd};
std::string kitti_basedir;
TCLAP::UnlabeledValueArg<std::string> arg_yaml_cfg { "config", "Input YAML config file(required)(*.yaml)", false, "", "mola-system.yaml", cmd};
TCLAP::ValueArg<std::string> arg_verbosity_level { "v", "verbosity", "Verbosity level: ERROR|WARN|INFO|DEBUG(Default: INFO)", false, "", "INFO", cmd};
TCLAP::SwitchArg arg_enable_profiler { "p", "profiler", "Enable time profiler by default in all modules(Default: NO)", cmd};
TCLAP::SwitchArg arg_enable_profiler_whole { "", "profiler-whole", "Enable whole-history time profiler in all modules(Default: NO).**DO " "NOT** use in production, only to benchmark short runs(unbounded " "memory " "usage)", cmd};
TCLAP::SwitchArg arg_rtti_list_all { "", "rtti-list-all", "Loads all MOLA modules, then list all classes registered via " "mrpt::rtti, " "and exits.", cmd};
TCLAP::ValueArg<std::string> arg_rtti_list_children { "", "rtti-children-of", "Loads all MOLA modules, then list all known classes that inherit from " "the " "given one, and exits.", false, "", "mp2p_icp::ICP_Base", cmd};
TCLAP::SwitchArg arg_list_modules { "", "list-modules", "Loads all MOLA modules, then list them. It also shows the list of " "paths " "in which the program looks for module dynamic libraries, then exits.", cmd};
TCLAP::SwitchArg arg_list_module_shared_dirs { "", "list-module-shared-dirs", "Finds all MOLA module source/shared directories, then list them. " "Paths " "can be added with the environment variable MOLA_MODULES_SHARED_PATH.", cmd};
TCLAP::ValueArg<std::string> argInput { "i", "input", "Input .simplemap file", true, "map.simplemap", "map.simplemap", cmd};
TCLAP::ValueArg<std::string> argWriteMMInto { "", "write-into", "An existing .mm file in which to write the georeferencing metadata", false, "map.mm", "map.mm", cmd};
TCLAP::ValueArg<std::string> argOutput { "o", "output", "Write the obtained georeferencing metadata to a .georef file", false, "map.georef", "map.georef", cmd};
TCLAP::ValueArg<double> argHorz { "", "horizontality-sigma", "For short trajectories(not>10x the GPS uncertainty), this helps to " "avoid degeneracy.", false, 1.0, "1.0", cmd};
TCLAP::ValueArg<std::string> argPlugins { "l", "load-plugins", "One or more(comma separated)*.so files to load as plugins, e.g. " "defining new CMetricMap classes", false, "foobar.so", "foobar.so", cmd};
TCLAP::ValueArg<std::string> argMM { "m", "map", "Input .mm map with georef info", false, "map.mm", "map.mm", cmd};
TCLAP::ValueArg<std::string> argGeoRef { "g", "geo-ref", "Input .georef file with georef info", false, "map.georef", "map.georef", cmd};
TCLAP::ValueArg<std::string> argTraj { "t", "trajectory", "Input .tum trajectory, in map local coordinates", true, "traj.tum", "traj.tum", cmd};
TCLAP::ValueArg<std::string> argOutKML { "o", "output", "The name of the google earth kml file to write to", true, "path.kml", "path.kml", cmd};
};