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::SwitchArg arg_ros_args { "", "ros-args", "Dummy flag, defined just to allow the program invocation from ROS 2 " "launch files.", cmd};
};