Hi,
I would like to read the Radar PCD files and have a question about your supplied files.
Looking at \v1.0 mini\sweeps\RADAR_FRONT\n008-2018-08-01-15-16-36-0400__RADAR_FRONT__1533151603630245.pcd I can read the header.
For this specific file the header is
.PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z dyn_prop id rcs vx vy vx_comp vy_comp is_quality_valid ambig_state x_rms y_rms invalid_state pdh0 vx_rms vy_rms
SIZE 4 4 4 1 2 4 4 4 4 4 1 1 1 1 1 1 1 1
TYPE F F F I I F F F F F I I I I I I I I
COUNT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
WIDTH 125
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 125
DATA binary
Following the PCD spec document, I interpret the binary data to comprise of 125 sample points, where each sample point has a total for 43 bytes. I arrive at 43 bytes by the addition of the size values (SIZE 4 4 4 1 2 4 4 4 4 4 1 1 1 1 1 1 1 1).
If I multiply 43 * 125 the total number of binary data bytes should be (43 * 125) = 5375 bytes.
I assume that the binary data begins immediately after the “Data binary” string, in this case the binary data would start at byte 172. Assuming that the data size is 5375 bytes the data would start at byte 172 and finish at byte (172 + 5375) = 5547.
Looking at a binary view of the file, the last non zero byte value is at position 5760. As this is different to my calculated end position it must mean that:
- there is some other header between the “DATA binary” string and the start of the binary data, or
- there is some footer after the last set of point values, or
- my calculation of 43 bytes per sample set is incorrect
I have looked at your source at https://github.com/nutonomy/nuscenes-devkit/blob/master/python-sdk/nuscenes/utils/data_classes.py#L393 and cannot see anything immediately obvious.
Here is the binary view of the file, can you confirm which byte the binary data starts at please.