Switching from Automation Technology C5 to C6 cameras in CVB

Using Subpixels with Automation Technology C6 cameras

The usage of subpixels for cameras from Automation Technologies is crucial to achieve high sampling rates in the Z coordinate to work with high resolution pointclouds in CVB.
Using subpixeling of C6 cameras is a bit different compared to the earlier C5 model from Automation Technology. A description on how to use subpixels for a C5 can be found here.

For the C6 the number of used subpixels is no longer limited to 6 and additionally offers the option to use your custoimized subpixel resolution instead of beeing limited to the fixed values that were offered for the C5. This option also includes the advantage to be able to save bandwidth by reducing the bit depth of the rangemap.

Generals considerations:
Subpixles allow to subsample a line position on the camera sensor by using line extraction algorithms like COG or FIR-Peak. The possible precision for the calculation of the line position is limited to 1/(2^subpixels) which is 1/64 in case of 6 subpixels.
The allowed number of subpixels to use is depending on the AOI Height and the bit depth of the image. The AOI Height determines the required bits to describe the full line where the laserline is extracted from the sensor. Using an AOI Height of 256 will already require 8 bit to represent a line projection detected in line 129 to 256 of the sensor. Reaching subpixel precision for the calculation of the line position now requires the usage of subpixels. As we already use 8 bit for the description of the full line, we will need a 12 bpp or 16 bpp image format to use subpixels. In case of 16 bpp we are now able to use 8 subpixels for a C6 while using a C5 the number of subpixels would be limited to 6.

Here are some calculations on the achievable subpixel precision using a C6:

Maximum number of available subpixels is described as follows:
(where Bpp is the Bit Depth of the Rangemap).
Following that rule the theoretically used subpixel precisions can be using depending on AOI Height and Bit Depth. Note that the theoretical precision is not equal to the achievable accuracy, especially using high subpixel values.

max. AOI height max. subpixels (8Bit) resolution (8Bit, Range 256) max. subpixels (12Bit, Range 4096) resolution (12Bit, Range 4096) max. subpixels (16Bit, Range 65536) resolution (16Bit, Range 65536)
4 6 0.015625 10 0.000977 14 0.000061
8 5 0.03125 9 0.001953 13 0.000122
16 4 0.0625 8 0.003906 12 0.000244
32 3 0.125 7 0.007813 11 0.000488
64 2 0.25 6 0.015625 10 0.000977
128 1 0.5 5 0.03125 9 0.001953
256 0 1 4 0.0625 8 0.003906
512 0 bit overflow 3 0.125 7 0.007813
1024 0 bit overflow 2 0.25 6 0.015625
2048 0 bit overflow 1 0.5 5 0.03125
4096 0 bit overflow 0 1 4 0.0625

Based on these limits the value for subpixel precision can be set manually on the camera nodemap and will be used in the sensor calibration information, when applying the calibration in CVB.