Ingest Data File Format
Each ingest data file contains one data type from one sweep of a volume.
If extended headers are recorded, they are treated as another data type and are placed in a separate file. A the following table shows, each of these files consists of:
- fixed
length ingest_data_headerstructure - variable-length ray pointer table
- variable-length segment of data
The ray pointer table contains a 32-bit pointer for each ray in the file. These are byte pointers (origin one) referenced to the beginning of the data area. A pointer value of 1 refers to the first byte of the data area. Ray data are forced onto 16-bit word boundaries, so all the pointers are odd. A pointer value of 0 indicates that no data are available for that slot.
<ingest_data_header> 76
Bytes |
| Pointer Table4 Bytes per expected ray |
| Data Area Undetermined Size |
Ray data are partially compressed with a truncation scheme. If a ray does not contain data all the way out to the last range bin, the trailing bins are removed from the archive.
This means that the storage space required for each ray varies, which requires the pointer
table for quick random access. The pointer points to a ray_header structure,
which is followed by an array of range bins. The count of the number of range bins could be
zero, in which case the ray contains only the 12-byte ray header.
