ibaVision - processing loop

Modified on Fri, 22 Aug, 2025 at 8:45 AM

The ibaVision processing loop can be summarized as follows:

  1. Load in all input values (images, ibaPDA signal values, …).
  2. Process the input values using the script.
  3. Read out the output values (image, ibaPDA signal values, …).

 

More implementation details for the different inputs/outputs:

 

ibaPDA inputs: The last received ibaPDA signal value is cached. The cached value is loaded in together with all other input values. The delay is at most 1 processing cycle.

ibaPDA outputs: After all ibaPDA output values have been read out at the end of a processing cycle, ibaVision sends the results the ibaPDA. The delay here should be negligible.

ibaCapture input: The ibaCapture receiver continuously fills a ring buffer with images in a separate grabber loop. The least recent image is taken from the buffer when setting all input values in the processing loop. Delay might be introduced here if the processing loop is slower than the grabber loop.

ibaCapture outputs: The output image is cached and sent out on a separate thread. Depending on the cycle time of the send thread, some delay might be introduced, but I expect this to be negligible in most (if not all) use cases. If the processing loop is faster than the sending thread, output images will be dropped.

 

Basically, the major part of any delay is related to the cycle time of the processing loop, which for the majority consists of the script execution time. Exceptions to this  might be ibaVision programs that process huge resolutions (but I assume that that is not the case here).

 

As far as image acquisition goes, it is always faster to acquire the images directly from the source in your script rather than using an ibaCapture input. In the latter case, the ibaCapture server first has to acquire the image and only afterwards it can be forwarded to ibaVision.

 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article