Fawkes API  Fawkes Development Version
firevision::_rectinfo_header_t Struct Reference

Header for a rectification information file (rectinfo). More...

#include <rectinfo.h>

Public Attributes

uint64_t guid
 GUID of camera. More...
 
char camera_model [FIREVISION_RECTINFO_CAMERA_MODEL_MAXLENGTH]
 camera model More...
 

Detailed Description

Header for a rectification information file (rectinfo).

The header defines the basic parameters needed to correctly interpret the following rectification file data.

It defines a content specific header for the FireVision data file format (fvff).

The header defines a magic by which a rectinfo can be identified. This is always FF03 (exactly in that order, no matter on the host systems endianess, this has to be stored literally) for FireVision File Format 03. The version is stored as a sequential number. This version has to be changed whenever either the header or the file data format changes. The file defines the endianess of the supplied data, which is important since the mapping in general has to be stored at least to 2-byte-sized data fields. There are several reserved bits that may be used later to store flags.

The header also carries a globally unique ID of the camera. This allows for checking if the file is used for the correct camera. This should be an EUI-64 number supplied by the camera, for instance the IEEE1394 GUID. If that is not available for your camera type use another distinguishing criterion like a serial number. If even that cannot be queried from the camera make one up, for instance a checksum of the robot name which carries the camera or even the (shortened) name itself. The camera model is stored as a string and can also be used to discriminate a specific camera. It can also be used for an easier identification of the camera this file belongs to.

Directly following this header the first rectification info is stored. Each info has it's own per-info header defining the size of the info which can be read as offset to the next info block (if there is one). This is followed by more reserved bits. All reserved bits have to be set to zero.

The general layout of the file is the following:

rectinfo_header_t (file header, at least one block)
rectinfo_block_header_t (info block header, defining size S)
[rectinfo_TYPE_block_header_t (type-specific block header)
<data> of size S - sizeof(type-specific-header).
optional:
rectinfo_block_header_t n
<data> of block n

The first version supports only rectification lookup tables (rectlut, rectification LUT). For this the block type is set to FIREVISION_RECTINFO_TYPE_LUT_16x16, because each mapping consists of two uint16_t values.

Definition at line 89 of file rectinfo.h.

Member Data Documentation

◆ camera_model

char firevision::_rectinfo_header_t::camera_model[FIREVISION_RECTINFO_CAMERA_MODEL_MAXLENGTH]

◆ guid

uint64_t firevision::_rectinfo_header_t::guid

The documentation for this struct was generated from the following file: