Table of Contents
A ring is a continuous, high-speed acquisition to multiple buffers in memory.
Basic steps in performing a ring acquisition are as follows:
Initialize the interface
Select and allocate the number of buffers necessary to ensure that no frames will be lost under the worst case of processing and operating system delays
Create an acquisition loop in which one of the buffers is locked out of the acquisition and made available for processing
Perform the processing and/or display on the locked-out buffer; release the buffer and lock out the next frame's buffer
Close the image acquisition session and free the memory allocated during the acquisition
Grab vs. Ring Acquisitions
A grab acquisition before NI-IMAQ 3.0 used a single acquisition buffer to store acquired images, while a ring typically used multiple buffers in a circular acquisition scheme. With NI-IMAQ 3.0 and later, a grab is now implemented as a 2 buffer ring. The grab requires the acquisition buffer to be copied for subsequent processing, in order to allow the acquisition to continue while the processing is being done. Since a ring has multiple buffers, the processing can be done in place in the acquisition buffer, eliminating the need for copying.
Prior to NI-IMAQ 3.0, a grab acquisition could result in "split" frames, where a single output image contained information from adjacent frames. NI-IMAQ 3.0 and later remove this problem because the grab is implemented as a 2 buffer ring.
2. Common Applications
The ring acquisition is appropriate for continuous high-speed applications which require processing on every image.