What Does Images Behind in Acquire Triggered Images VI Example Means?

Updated Jul 15, 2025

Reported In

Driver

  • NI-IMAQdx

Issue Details

I wanted to check the trigger behavior on the JAI GO-5100-PGE, but when the trigger is OFF, and I change the number in Images Behind to a value that would normally cause an error, there’s no change. I tried modifying the buffer number using IMAQdx Configure Image, but it didn’t have any effect.

Can you tell me how I can change it?

 

Solution

To understand Images Behind you need to understand the concept of Internal Buffer and User Buffer in NI vision acquisition. Refer to Additional Information section for explanation about User Buffer and Internal Buffer.

 

When image acquisition occurred, the image data is transferred from the camera to NI-IMAQdx driver internal buffer. Then the image data from internal buffer will be copied to user buffer which created using IMAQ Create VI for further processing by LabVIEW. The Images Behind indicator in the Acquire Triggered Images.vi indicate the gap between the current image passed to IMAQdx Calculate Frames Per Second VI against the current image acquired by NI-IMAQdx driver.

 

The value of Images Behind did not change because the processing rate (loop rate) of the VI is faster than the acquisition rate, so the gap between the currently processed frame and the latest frame acquired by the NI-IMAQdx driver does not change. To change increase the Images Behind count, you can increase the processing time by changing the value in Simulated Processing Delay (ms) control.

Additional Information

User Buffer

Before starting the acquisition, you must create one or more user buffers depending on the acquisition type configured. A non-ring acquisition creates user buffers in addition to configuring internal buffers. A ring acquisition requires you to create and configure user buffers instead of internal buffers.

If you retrieve an image with Get Image in a non-ring acquisition, the driver copies or decodes image data from the internal buffer into the supplied user buffer. If you retrieve an image with Extract Image in a ring acquisition, the driver returns a reference to the corresponding user buffer supplied during configuration. Once the image is retrieved, the image in the user buffer is ready for processing and analysis.

When using an NI Vision Image as the user buffer, the driver resizes and casts the image as needed. For non-ring acquisitions, this process may occur when the image is retrieved using Get Image. For ring acquisitions, this process occurs during Configure Ring Acquisition. However, if you use a generic memory buffer as the user buffer, you must allocate enough space to hold the decoded image.

Note: Unlike internal buffers, you are responsible for destroying user buffers.

Internal Buffer

Internal buffers are allocated by the driver during Configure Acquisition. These buffers hold raw image data acquired from the camera. The user never directly interacts with internal buffers. When an image is retrieved using Get Image, the driver copies or decodes image data from the internal buffer into the supplied user buffer. The user is not responsible for managing the internal buffer allocations. These buffers are destroyed by the driver during Unconfigure Acquisition. Internal buffers are only used in non-ring acquisitions.