RAWLOG-EDIT(1)
okay bestie, sit down, hydrate, because we're about to talk about rawlog-edit β a manual page from section 1 of the Mobile Robot Programming Toolkit (MRPT). It's a command-line tool for messing with robotic datasets, aka rawlogs, and honestly? it does so much. π
πΈ NAME πΈ
rawlog-edit β command-line robotic datasets (rawlogs) manipulation tool
β¨ SYNOPSIS β¨
rawlog-edit [--undistort] [--rename-externals] [--stereo-rectify
<SENSOR_LABEL,0.5>] [--camera-params <SENSOR_LABEL
,file.ini>] [--sensors-pose <file.ini>]
[--generate-3d-pointclouds] [--cut] [--export-2d-scans-txt]
[--export-txt] [--export-rawdaq-txt] [--recalc-odometry]
[--export-anemometer-txt] [--export-enose-txt]
[--export-odometry-txt] [--export-imu-txt]
[--export-gps-all] [--export-gps-txt]
[--export-gps-gas-kml] [--export-gps-kml] [--keep-label
<label[,label...]>] [--remove-label <label[,label...]>]
[--list-range-bearing] [--remap-timestamps <a;b>]
[--list-timestamps] [--list-poses] [--list-images] [--info]
[--de-externalize] [--externalize] [-q] [-w] [--odo-D <D>]
[--odo-KR <KR>] [--odo-KL <KL>] [--to-time <T1>]
[--from-time <T0>] [--to-index <N1>] [--from-index <N0>]
[--text-file-output <out.txt>] [--rectify-centers-coincide]
[--image-size <COLSxROWS>] [--txt-externals]
[--image-format <jpg,png,pgm,...>] [--out-dir <.>] [-p
<mylib.so>] [-o <dataset_out.rawlog>] -i <dataset.rawlog>
[--] [--version] [-h]
look at all those flags. it's giving β¨optionsβ¨. it's giving main character energy. Don't panic β we're gonna walk through every single one of them, no cap. π«Ά
π USAGE EXAMPLES π
Okay so before we get into the deep lore, here's a lil taste test of what this thing can do, because reading a wall of flags with zero context is a crime and I refuse to let you do that to yourself. π
π Quick overview of a dataset file
rawlog-edit --info -i in.rawlog
βοΈ Cut the entries [1000,2000] into another rawlog file
rawlog-edit --cut --from-index 1000 --to-index 2000 \
-i in.rawlog -o out.rawlog
βοΈ Cut the entries from the beginning up to timestamp 1281619819
rawlog-edit --cut --to-time 1281619819 \
-i in.rawlog -o out.rawlog
π€ Export all suitable observations to TXT/CSV files
rawlog-edit --export-txt -i in.rawlog
π Generate a Google Earth KML file with the GPS data in a dataset
rawlog-edit --export-gps-kml -i in.rawlog
π« Remove all observations named "REAR_LASER"
rawlog-edit --remove-label REAR_LASER -i in.rawlog -o out.rawlog
π«Ά Remove all observations not named "REAR_LASER"
rawlog-edit --keep-label REAR_LASER -i in.rawlog -o out.rawlog
π¦ Convert all images to external storage mode
rawlog-edit --externalize -i in.rawlog -o out.rawlog
π¦π¦ Same vibe, but you pick the image format
rawlog-edit --externalize --image-format jpg -i in.rawlog \
-o out.rawlog
See? Not scary at all. It's just a girlboss binary doing exactly what you tell it to, and there is so much more where that came from. π¦
π DESCRIPTION π
okay bestie, so rawlog-edit is a command-line application to inspect AND manipulate robotic dataset files in the "rawlog" standardized format. it's basically a whole glow-up studio for your robot's data and honestly? she eats. π
β¨
These are the supported arguments and operations, and no, we are not skipping a single one:
--undistortβ Op: Undistort all images in the rawlog. π«Ά--rename-externalsβ Op: Renames all the external storage file names within the rawlog. (it doesn't change the external files, which may even not exist β so don't panic if they're ghosts π»)--stereo-rectify <SENSOR_LABEL,0.5>β Op: creates a new set of external images for allCObservationStereoImageswith the givenSENSOR_LABEL, using the camera parameters stored in the observations (which must be a valid calibration, no fake ones bestie) and with the given alpha value. Alpha can be-1for auto, or otherwise be in the range[0,1](see OpenCV's docs forcvStereoRectify).- Requires:
-o(or--output) - Optional:
--image-formatto set image format (default=jpg), --image-sizeto resize output images (example:--image-size 640x480)
- Requires:
--camera-params <SENSOR_LABEL,file.ini>β Op: change the camera parameters of allCObservationImage's with the givenSENSOR_LABEL, with new params loaded from the given file, section'[CAMERA_PARAMS]'for monocular cameras, or'[CAMERA_PARAMS_LEFT]'and'[CAMERA_PARAMS_RIGHT]'for stereo. π- Requires:
-o(or--output)
- Requires:
--sensors-pose <file.ini>β Op: batch change the poses of sensors from a rawlog-grabber-like configuration file that specifies the pose of sensors by their sensorLabel names. it's giving β¨batch magicβ¨- Requires:
-o(or--output)
- Requires:
--generate-3d-pointcloudsβ Op: (re)generate the 3D pointclouds withinCObservation3DRangeScanobjects that have range data.- Requires:
-o(or--output)
- Requires:
--cutβ Op: Cut a part of the input rawlog. βοΈ iconic- Requires:
-o(or--output) - Requires: At least one of
--from-index,--from-time,--to-index,--to-time. Use only one of the--from-*and--to-*at once. - If only a
--from-*is given, the rawlog will be saved up to its end. If only a--to-*is given, the rawlog will be saved from its beginning.
- Requires:
--export-2d-scans-txtβ Op: Export 2D scans to TXT files.- Generates two
.txtfiles for each different sensor label of 2D scan observations, one with the timestamps and the other with range data. - The generated
.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates two
--export-txtβ Op: Generic export observations to TXT/CSV files.- Generates one
.txtfile for each different sensor label of all observation classes that supports the export-to-txt API. - The generated
.txtfiles will be saved in the same path than the input rawlog, as<rawlog_filename>_<sensorLabel>.txt.
- Generates one
--export-rawdaq-txtβ Op: Export raw DAQ readings to TXT files.- Generates one
.txtfile for each different sensor label + DAQ task. The generated.txtfiles will be saved in the same path than the input rawlog.
- Generates one
--recalc-odometryβ Op: Recomputes odometry increments from new encoder-to-odometry constants.- Requires:
-o(or--output) - Requires:
--odo-KL,--odo-KRand--odo-D.
- Requires:
--export-anemometer-txtβ Op: Export anemometer readigns to TXT files. π¬οΈ- Generates one
.txtfile for each different sensor label of an anemometer observation in the dataset. The generated.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-enose-txtβ Op: Export e-nose readigns to TXT files. π- Generates one
.txtfile for each different sensor label of an e-nose observation in the dataset. The generated.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-odometry-txtβ Op: Export absolute odometry readings to TXT files.- Generates one
.txtfile for each different sensor label of an odometry observation in the dataset. The generated.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-imu-txtβ Op: Export IMU readings to TXT files.- Generates one
.txtfile for each different sensor label of an IMU observation in the dataset. The generated.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-gps-allβ Op: Generic export all kinds of GPS/GNSS messages to separate TXT files. π°οΈ- Generates one
.txtfile for each different sensor label and for each message type in the dataset, with a first header line describing each field.
- Generates one
--export-gps-txtβ Op: Export GPS GPGGA messages to TXT files.- Generates one
.txtfile for each different sensor label of GPS observations in the dataset. The generated.txtfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-gps-gas-kmlβ Op: Export GPS paths to Google Earth KML files coloured by the gas concentration. π- Generates one
.kmlfile with different sections for each different sensor label of GPS observations in the dataset. The generated.kmlfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--export-gps-kmlβ Op: Export GPS paths to Google Earth KML files.- Generates one
.kmlfile with different sections for each different sensor label of GPS observations in the dataset. The generated.kmlfiles will be saved in the same path than the input rawlog, with the same filename + each sensorLabel.
- Generates one
--keep-label <label[,label...]>β Op: Remove all observations not matching the given sensor label(s). Several labels can be provided separated by commas. keep only the ones you love π- Requires:
-o(or--output)
- Requires:
--remove-label <label[,label...]>β Op: Remove all observation matching the given sensor label(s). Several labels can be provided separated by commas. blocked. removed. not in my house. π«- Requires:
-o(or--output)
- Requires:
--list-range-bearingβ Op: dump a list of all landmark observations of type range-bearing.- Optionally the output text file can be changed with
--text-file-output.
- Optionally the output text file can be changed with
--remap-timestamps <a;b>β Op: Change all timestamps t replacing it with the linear map'a*t+b'. The parameters'a'and'b'must be given separated with a semicolon.- Requires:
-o(or--output)
- Requires:
--list-timestampsβ Op: generates a list with all the observations' timestamp, sensor label and C++ class name.- Optionally the output text file can be changed with
--text-file-output.
- Optionally the output text file can be changed with
--list-posesβ Op: dump a list of all the poses of the observations in the dataset.- Optionally the output text file can be changed with
--text-file-output.
- Optionally the output text file can be changed with
--list-imagesβ Op: dump a list of all external image files in the dataset. πΈ- Optionally the output text file can be changed with
--text-file-output.
- Optionally the output text file can be changed with
--infoβ Op: parse input file and dump information and statistics. the vibe check π--de-externalizeβ Op: the opposite that--externalize: generates a monolitic rawlog file with all external files integrated in one.- Requires:
-o(or--output)
- Requires:
--externalizeβ Op: convert to external storage.- Requires:
-o(or--output) - Optional:
--image-format,--txt-externals
- Requires:
-q,--quietβ Terse output. no yapping mode π€«-w,--overwriteβ Force overwrite target file without prompting. she's bold. she doesn't ask. π--odo-D <D>β Distance between left-right wheels (meters), used in--recalc-odometry.--odo-KR <KR>β Constant from encoder ticks to meters (right wheel), used in--recalc-odometry.--odo-KL <KL>β Constant from encoder ticks to meters (left wheel), used in--recalc-odometry.--to-time <T1>β End time for--cut, as UNIX timestamp, optionally with fractions of seconds.--from-time <T0>β Starting time for--cut, as UNIX timestamp, optionally with fractions of seconds.--to-index <N1>β End index for--cut--from-index <N0>β Starting index for--cut--text-file-output <out.txt>β Output for a text file--rectify-centers-coincideβ In stereo rectification, force that both image centers after coincide after rectifying. π―--image-size <COLSxROWS>β Resize output images--txt-externalsβ When externalizingCObservation3DRangeScanobjects, switched from binary files (default) to plain text.--image-format <jpg,png,pgm,...>β External image format--out-dir <.>β Output directory (used by some commands only)-p <mylib.so>,--plugins <mylib.so>β Single or comma-separated list of.so/.dllplugins to load for additional user-supplied classes-o <dataset_out.rawlog>,--output <dataset_out.rawlog>β Output dataset (*.rawlog)-i <dataset.rawlog>,--input <dataset.rawlog>β (required) Input dataset (required) (*.rawlog) β yes bestie, she's REQUIRED, you literally cannot skip her π«Ά--,--ignore_restβ Ignores the rest of the labeled arguments following this flag.--versionβ Displays version information and exits.-h,--helpβ Displays usage information and exits.
π BUGS π
Please report bugs at https://github.com/MRPT/mrpt/issues β do it, she deserves the feedback fr fr π
π SEE ALSO π
The GUI program RawLogViewer, and the application wiki pages at https://www.mrpt.org/ β iykyk, go read the wiki, it's a whole rabbit hole πΈ
π AUTHORS π
rawlog-edit is part of the Mobile Robot Programming Toolkit (MRPT), and was originally written by the MAPIR laboratory (University of Malaga). π absolute icons
This manual page was written by Jose Luis Blanco <joseluisblancoc@gmail.com>.
βοΈ COPYRIGHT βοΈ
This program is free software; you can redistribute it and/or modify it under the terms of the BSD License.
On Debian GNU/Linux systems, the complete text of the BSD License can be found in `/usr/share/common-licenses/BSD'.
okay that's the whole page bestie, you made it to the end and I'm so proud of you π₯Ήπ«Ά this was rendered by perl v5.40.1, dated 2025-03-21, and it's the RAWLOG-EDIT(1) manual page β go forth and edit some rawlogs, you absolute main character β¨ππ
π¦ where this page comes from
- debian trixie: mrpt-apps 1:2.14.7+ds-1+b3 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms