Overview
struct Cli
{
// fields
TCLAP::CmdLine cmd {"mola-sm-georeferencing-cli"};
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 file. The format is " "determined by the file extension: binary gzip(`*.georef`) or YAML " "(`*.yaml`, `*.yml`).", false, "map.georef", "(map.georef|map.yaml)", 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<double> argIMUGravitySigmaDeg {"", "imu-gravity-sigma-deg", "IMU gravity alignment uncertainty(degrees).", false, 3.0, "3.0", cmd};
TCLAP::ValueArg<double> argMinUncertaintyXYZ { "", "min-gnss-sigma", "Minimum per-axis GNSS uncertainty(meters) used as a floor for the " "ENU noise model. Default: 0.20", false, 0.20, "0.20", cmd};
TCLAP::ValueArg<unsigned int> argMinFixQuality { "", "min-gnss-fix-quality", "If non-zero, discard GNSS frames whose NMEA GGA fix quality is below " "this value(1=GPS, 2=DGPS, 4=RTK fixed, 5=RTK float). Default: 0 " "(filter disabled).", false, 0, "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::SwitchArg argNoIMUGravity { "", "no-imu-gravity", "Disable using IMU acceleration data for gravity alignment " "(enabled by default).", cmd, false};
TCLAP::ValueArg<std::string> arg_verbosity_level { "v", "verbosity", "Verbosity level: ERROR|WARN|INFO|DEBUG(Default: INFO)", false, "INFO", "INFO", 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};
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;
};