Buffer Filling Rules

A DMA engine transfers the processed image data over the PCI Express bus to the allocated GenTL buffers according to rules that are different for line-scan and area-scan image acquisition.

Area-scan firmware variants

In area-scan imaging, GenTL buffers are filled according to the following rules:

The first acquired line data of a frame is, by default, stored at the beginning of a new buffer. When vertical image flipping is enabled by setting StripeArrangement to Geometry_1X_1YE, the first acquired line data of a frame is stored at the location of the last full line of a new buffer.
When image transfer to host memory is done, the buffer, possibly partially filled, is made available to the application for processing.
When the remaining space of a buffer is not sufficient to store a complete frame, the remaining data is handled according to the BufferFilledRule settings.

Line-scan firmware variants

In line-scan imaging, GenTL buffers are filled according to the following rules:

The first acquired line data of a scan is, by default, stored at the beginning of a new buffer. When vertical image flipping is enabled by setting StripeArrangement to Geometry_1X_1YE, the first acquired line data of a scan is stored at the location of the last full line of a new buffer.
A buffer contains an integer number of image lines data.
When the remaining space of a buffer is not sufficient to store a an image line data, the remaining data is handled according to the BufferFilledRule settings.
When the last line data of a scan is acquired, the last buffer, possibly partially filled, is made available to the application for processing.

BufferFilledRule settings