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. |
When BufferFilledRule is set to DiscardRemainingData, the remaining data is discarded.
● | Default settings for area-scan acquisition. |
● | Only available for selected line-scan firmware variants. |
(1-camera), (1-camera, line-scan), (2-camera), (2-camera, line-scan)
(1-camera), (2-camera)
(1-camera)
(1-camera), (2-camera)
(1-camera), (2-camera)
(1-camera), (1-camera, 4-data-stream), (1-slm-camera), (1-sls-camera), (2-camera), (2-camera, bayer), (3-camera), (4-camera)
(1-camera), (1-df-camera)
(1-camera), (1-camera, custom-logic), (1-camera, line-scan), (2-camera), (2-camera, line-scan), (3-camera), (4-camera), (4-camera, line-scan), (5-camera), (5-camera, 5D22211), (6-camera), (8-camera)
(1-camera), (1-camera, custom-logic), (1-camera, line-scan), (2-camera), (2-camera, custom-logic), (2-camera, line-scan), (4-camera), (4-camera, custom-logic), (4-camera, line-scan)
(4-camera)
(1-camera)
(1-camera), (2-camera)
(1-camera), (1-camera, line-scan), (2-camera), (2-camera, line-scan), (4-camera), (4-camera, line-scan)
(1-camera), (1-df-camera), (1-camera, line-scan), (1-df-camera, line-scan)
(1-camera), (1-camera, custom-logic), (1-camera, line-scan)
When BufferFilledRule is set to ContinueInNextBuffer, the acquisition continues into a new buffer and the filled buffer is made available to the application for processing. This setting is also available on selected area-scan firmware-variants.
● | Default settings for line-scan acquisition. |
● | Only available for selected area-scan firmware variants. |
(1-camera, line-scan), (2-camera, line-scan)
(1-camera, line-scan)
(1-camera, line-scan), (2-camera, line-scan)
(1-camera, line-scan)
(1-camera, line-scan), (2-camera, line-scan), (4-camera, line-scan)
(1-camera, line-scan), (1-df-camera, line-scan)
(1-camera), (2-camera)
(1-camera, line-scan), (2-camera, line-scan), (2-camera, line-scan, custom-logic), (4-camera, line-scan)
(1-camera, line-scan), (1-camera, line-scan, custom-logic), (2-camera, line-scan), (2-camera, line-scan, custom-logic), (4-camera, line-scan), (4-camera, line-scan, custom-logic)
(1-camera, line-scan)
(1-camera, line-scan), (2-camera, line-scan)
(1-camera, line-scan), (2-camera, line-scan), (4-camera, line-scan)
(1-camera, line-scan), (1-df-camera, line-scan)
(1-camera, line-scan)