Skip to content

grab_dataGrabDataGrabDatagrab_dataT_grab_data🔗

Short description🔗

grab_dataGrabDataGrabDatagrab_dataT_grab_data — Synchronous grab of images and preprocessed image data from the specified image acquisition device.

Signature🔗

grab_data( out image Image, out region Region, out xld_cont Contours, framegrabber AcqHandle, out string Data )void GrabData( HObject* Image, HObject* Region, HObject* Contours, const HTuple& AcqHandle, HTuple* Data )static void HOperatorSet.GrabData( out HObject image, out HObject region, out HObject contours, HTuple acqHandle, out HTuple data )def grab_data( acq_handle: HHandle ) -> Tuple[HObject, HObject, HObject, Sequence[HTupleElementType]]

def grab_data_s( acq_handle: HHandle ) -> Tuple[HObject, HObject, HObject, HTupleElementType]Herror T_grab_data( Hobject* Image, Hobject* Region, Hobject* Contours, const Htuple AcqHandle, Htuple* Data )

HRegion HImage::GrabData( HXLDCont* Contours, const HFramegrabber& AcqHandle, HTuple* Data )

HRegion HImage::GrabData( HXLDCont* Contours, const HFramegrabber& AcqHandle, HString* Data )

HImage HRegion::GrabData( HXLDCont* Contours, const HFramegrabber& AcqHandle, HTuple* Data )

HImage HRegion::GrabData( HXLDCont* Contours, const HFramegrabber& AcqHandle, HString* Data )

HImage HFramegrabber::GrabData( HRegion* Region, HXLDCont* Contours, HTuple* Data ) const

HImage HFramegrabber::GrabData( HRegion* Region, HXLDCont* Contours, HString* Data ) const

HRegion HImage.GrabData( out HXLDCont contours, HFramegrabber acqHandle, out HTuple data )

HRegion HImage.GrabData( out HXLDCont contours, HFramegrabber acqHandle, out string data )

HImage HRegion.GrabData( out HXLDCont contours, HFramegrabber acqHandle, out HTuple data )

HImage HRegion.GrabData( out HXLDCont contours, HFramegrabber acqHandle, out string data )

HImage HFramegrabber.GrabData( out HRegion region, out HXLDCont contours, out HTuple data )

HImage HFramegrabber.GrabData( out HRegion region, out HXLDCont contours, out string data )

Description🔗

The operator grab_dataGrabData grabs images and preprocessed image data via the image acquisition device specified by AcqHandleacqHandleacq_handle. 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_framegrabberOpenFramegrabber and set_framegrabber_paramSetFramegrabberParam. Depending on the current configuration of the image acquisition device, the preprocessed image data can be returned in terms of images (Imageimageimage), regions (Regionregionregion), XLD contours (Contourscontourscontours), and control data (Datadatadata).

To abort the grab, the operator set_framegrabber_paramSetFramegrabberParam 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.

Attention🔗

For a multithreaded application, info_framegrabberInfoFramegrabber, open_framegrabberOpenFramegrabber, and close_framegrabberCloseFramegrabber are executed exclusively.

grab_dataGrabData runs in parallel with all non-exclusive operators inside and outside of this group.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

Imageimageimage (output_object) image(-array) → object (byte / real / uint2)HObject (byte / real / uint2)HImage (byte / real / uint2)HObject (byte / real / uint2)Hobject * (byte / real / uint2)

Grabbed image data.

Regionregionregion (output_object) region(-array) → objectHObjectHRegionHObjectHobject *

Preprocessed image regions.

Contourscontourscontours (output_object) xld_cont(-array) → objectHObjectHXLDContHObjectHobject *

Preprocessed XLD contours.

AcqHandleacqHandleacq_handle (input_control) framegrabber → (handle)HTuple (HHandle)HFramegrabber, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the acquisition device to be used.

Datadatadata (output_control) string(-array) → (string / real / integer / handle)HTuple (HString / double / Hlong / HHandle)HTuple (string / double / int / long / HHandle)Sequence[HTupleElementType]Htuple (char* / double / Hlong / handle)

Preprocessed control data.

Example🔗

(HDevelop)

* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
                  'default','default','default',-1,-1,AcqHandle)
* Grab and segment image
grab_data (Image, Region, Contours, AcqHandle, Data)
* Process Region...
close_framegrabber(AcqHandle)

Result🔗

If the image acquisition device is open and supports the image acquisition via grab_dataGrabData, the operator grab_dataGrabData returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

open_framegrabberOpenFramegrabber, grab_image_startGrabImageStart, set_framegrabber_paramSetFramegrabberParam

Possible successors

grab_data_asyncGrabDataAsync, grab_image_startGrabImageStart, grab_imageGrabImage, grab_image_asyncGrabImageAsync, set_framegrabber_paramSetFramegrabberParam, close_framegrabberCloseFramegrabber

See also

open_framegrabberOpenFramegrabber, info_framegrabberInfoFramegrabber, set_framegrabber_paramSetFramegrabberParam

Module🔗

Foundation