struct Cli

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};
};