set_framegrabber_callbackT_set_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback (Operator)
Name
set_framegrabber_callbackT_set_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback
— Register a callback function for an image acquisition device.
Signature
Description
The operator set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback
registers a callback function
for the image acquisition device specified by AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle
. The
parameter CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function
contains a pointer to the function to
register, while CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type
specifies to which
function of the underlying API the callback should be connected.
Suggested values for CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type
are:
- 'exception':
The image acquisition has raised an exception.
- 'exposure_end':
The exposure of the next image has been finished.
- 'exposure_start':
The exposure of the next image has been started.
- 'transfer_end':
A new image is ready to be fetched
by grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async
.
Depending on the functionality of the underlying API, additional values
for CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type
are possible. All actually supported callback
types of a specific image acquisition device can be queried by
calling get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamGetFramegrabberParamGetFramegrabberParamget_framegrabber_param
with the parameter
'available_callback_types'
. For more details see the
documentation of the specific image acquisition interface.
Once the callback is registered, on every occurrence of the underlying event
(e.g., the notification that the exposure has finished) the specified
callback function CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function
will be called. If
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function
is set to NULL, the corresponding callback will be
unregistered.
The signature of the callback function is the following:
Herror HAcqCallback(void *AcqHandle, void *Context, void *UserContext)
The first parameter of the callback function contains the handle to the image
acquisition device passed in AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle
, the second one provides a
pointer to interface-specific context data, and the third parameter is a
user-specific pointer that is specified in UserContextUserContextUserContextUserContextuserContextuser_context
.
Attention
For a multithreaded application all image acquisition operators
(as listed in open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber
) are
an own group in which info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber
, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber
,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber
and close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbersclose_all_framegrabbers
are
executed exclusively.
set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback
runs in parallel with all non-exclusive
operators inside and outside of this group.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
Parameters
AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle
(input_control, state is modified) framegrabber →
HFramegrabber, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the acquisition device to be used.
CallbackTypeCallbackTypeCallbackTypeCallbackTypecallbackTypecallback_type
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Callback type.
Default value:
'transfer_end'
"transfer_end"
"transfer_end"
"transfer_end"
"transfer_end"
"transfer_end"
Suggested values: 'exception'"exception""exception""exception""exception""exception", 'exposure_end'"exposure_end""exposure_end""exposure_end""exposure_end""exposure_end", 'exposure_start'"exposure_start""exposure_start""exposure_start""exposure_start""exposure_start", 'transfer_end'"transfer_end""transfer_end""transfer_end""transfer_end""transfer_end"
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function
(input_control) pointer →
HTupleintHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Pointer to the callback function to be set.
UserContextUserContextUserContextUserContextuserContextuser_context
(input_control) pointer →
HTupleintHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Pointer to user-specific context data.
Result
If the image acquisition device is open and the specified callback
was registered successfully, the operator set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallbackset_framegrabber_callback
returns the value TRUE. Otherwise an exception is raised.
Possible Predecessors
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber
,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param
Possible Successors
grab_imagegrab_imageGrabImageGrabImageGrabImagegrab_image
,
grab_datagrab_dataGrabDataGrabDataGrabDatagrab_data
,
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStartgrab_image_start
,
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async
,
grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async
,
get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamGetFramegrabberParamGetFramegrabberParamget_framegrabber_param
See also
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber
,
get_framegrabber_callbackget_framegrabber_callbackGetFramegrabberCallbackGetFramegrabberCallbackGetFramegrabberCallbackget_framegrabber_callback
Module
Foundation