grab_image_start — Start an asynchronous grab from the specified image acquisition device.
The operator grab_image_start starts the asynchronous grab of an image via the image acquisition device specified by AcqHandle. The desired operational mode of the image acquisition device as well as a suitable image part and additional interface-specific settings can be specified using the operators open_framegrabber and set_framegrabber_param.
The grab is finished via grab_image_async or grab_data_async. The MaxDelay parameter is obsolete and does not effect the new asynchronous grab. Note that you can check for a too old image by using the MaxDelay parameter of the operator grab_image_async or grab_data_async, respectively.
Please note that the operator grab_image_start makes sense only when used together with grab_image_async or grab_data_async. If you call the operators grab_image or grab_data instead, the asynchronous grab started by grab_image_start is aborted and a new synchronous grab is started.
To abort the grab, the operator set_framegrabber_param with the parameter 'do_abort_grab' can be used if the specific image acquisition interface supports it. Note that as an exception from the description of the concurrent usage in multiple threads (see below) 'do_abort_grab' can also be used from another thread.
Basically an image acquisition handle AcqHandle cannot be used in multiple threads. However, possible exceptions are described in the specific reference documentation of the respective image acquisition interface. Different image acquisition handles can be used safely with different threads for each handle.
For a multithreaded application all image acquisition operators (as listed in open_framegrabber) are an own group in which info_framegrabber, open_framegrabber, close_framegrabber and close_all_framegrabbers are executed exclusively.
grab_image_start runs in parallel with all non-exclusive operators inside and outside of this group.
Handle of the acquisition device to be used.
This parameter is obsolete and has no effect.
Default value: -1.0
Suggested values: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9
* Select a suitable image acquisition interface name AcqName open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \ 'default','default','default',-1,-1,AcqHandle) grab_image(Image1,AcqHandle) * Start next grab grab_image_start(AcqHandle,-1.0) * Process Image1 ... * Finish asynchronous grab + start next grab grab_image_async(Image2,AcqHandle,-1.0) * Process Image2 ... close_framegrabber(AcqHandle)
If the image acquisition device is open and supports asynchronous grabbing the operator grab_image_start returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.
grab_image_async, grab_data_async, set_framegrabber_param, close_framegrabber
open_framegrabber, info_framegrabber, set_framegrabber_param