DriveWorks SDK Reference
3.0.4260 Release
For Test and Development only

/dvs/git/dirty/gitlab-master_av/dw/sdk/tools/recorder/apps/postrecord-checker/README-postrecord-checker.md
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  */
10 
11 @page dwx_postrecord_checker Post-record Checker
12 
13 This tool is available on the x86 Host System and NVIDIA DRIVE<sup>&trade;</sup> OS Linux.
14 
15 The DriveWorks Post-record Checker verifies data integrity for each recording session.
16 
17 @note SW Release Applicability: This tool is available in both <b>NVIDIA DriveWorks</b> and <b>NVIDIA DRIVE Software</b> releases.
18 
19 # Usage
20 
21 The tool is found in the `tools/capture` folder. Run it by executing:
22 
23  ./postrecord-checker --recording_session=<comma-separated list of paths>
24  --output=</path/to/output/report>
25  --sensor=<camera,radar,lidar,imu,gps,can,all>
26  --smoothing=<true/false>
27  --disable_decode=<true/false>
28 
29 The postrecorder-checker does the following:
30 - Checks recording session metadata to verify that all requried files exist and
31  follow the naming convention.
32 - Analyzes sensor timestamps.
33 
34  The postrecorder-checker outputs a sensor timestamp delta that is calculated as
35  timestamps difference from consecutive sensor frames. Those deltas are then used
36  to produce a delta histogram. There are 22 bins in the histogram, each of which
37  has a step size that is 10% of the expected timestamp delta. The first and last
38  bin corresponds to delta values that are less than 0 or larger than 2 times of
39  expected delta value.
40 
41 By default postrecorder-checker sets `--sensor=all`, which means that it parses
42 all the available sensor data. But you can also direct it to parse a subset of
43 the sensors. For example, setting `--sensor=camera,radar,lidar` causes the
44 checker to process the results for only camera, radar, and lidar sensors.
45 
46 By default, postrecorder-checker sets `--smoothing=true`, which enables smoothing
47 for the timestamps due to the host system time jittering.
48 
49 By default, postrecorder-checker sets `--disable_decode=false`, which allows the tool
50 to decode sensor frames/packets in order to extract the timestamps.
51 
52 By default, postrecorder-checker will store the results within each session directory.
53 Setting `--output=</path/to/output/report>` collates the results under the specified directory.
54 
55 You can find python script batch_run.py in `tools/capture/scripts` folder to process multiple recording sessions under a parent folder
56 
57  python ./batch_run.py -b <location of postrecord-checker binary> -i <input parent folder> -o <output folder to store the analysis results>
58 
59 The output includes sensor timestamp files, i.e. `radar.bin.ts` and metadata report in `report.json`. To visualize timestamp delta histograms,
60 user can use python script plot_data.py in `tools` folder
61 
62  python ./plot_data.py -p <output folder contains the analysis results>
63 
64 If user provides a single folder which contains the result produced by postrecord-checker, it plots the delta histogram inside the single folder.
65 If user provides a parent folder which contains multiple result folders produced by batch_run script, it traverses all the folders and
66 plots average delta histogram inside the parent folder.
67 
68