Back to Aurora Vision Library website

You are here: Start » Function Reference » Camera Support » NET ICube » ICube_GrabImage_WithTimeout

ICube_GrabImage_WithTimeout


Header: ThirdPartySdk.h
Namespace: avl
Module: ThirdParty

Captures an image from an ICube camera; returns Nil if no frame comes in the specified time.

Syntax

bool avl::ICube_GrabImage_WithTimeout
(
	ICube_State& ioState,
	atl::Optional<int> inDeviceID,
	int inInputQueueSize,
	avl::ICubeGrabMode::Type inGrabbingMode,
	int inTimeout,
	atl::Optional<avl::ICubeResolutionMode::Type> inResolutionMode,
	atl::Optional<avl::ICubeBinSkip::Type> inSkippingMode,
	atl::Optional<avl::ICubeBinSkip::Type> inBinningMode,
	atl::Optional<float> inExposureTime,
	atl::Optional<avl::Box> inRoi,
	atl::Conditional<avl::Image>& outImage,
	atl::Conditional<int>& outFrameID
)

Parameters

Name Type Range Default Description
Input will be modified ioState ICube_State& Object used to maintain state of the function.
Input value inDeviceID Optional<int> 0 - NIL Index of a camera
Input value inInputQueueSize int 1 - 1000 10
Input value inGrabbingMode ICubeGrabMode::Type
Input value inTimeout int 0 - 100 Maximum time to wait for frame in milliseconds
Input value inResolutionMode Optional<ICubeResolutionMode::Type> NIL
Input value inSkippingMode Optional<ICubeBinSkip::Type> NIL
Input value inBinningMode Optional<ICubeBinSkip::Type> NIL
Input value inExposureTime Optional<float> 0.0 - NIL
Input value inRoi Optional<Box> NIL Range of pixels to be processed
Output value outImage Conditional<Image>& Captured frame
Output value outFrameID Conditional<int>& Captured frame ID

Description

All the Auto parameters (those with checkboxes in the Property window) are initially set to the default values of the camera (they are initially not changed by Aurora Vision Studio). You can modify them by checking a checkbox and entering your own value.

Add DLL path to system environment variable may be required.

Recommended ICube version for usage with Aurora Vision Studio is 2.0.5.1.

Changing parameters inGrabbingMode and inResolutionMode requires restarting acquisition. It is time consuming and shouldn't be done in each iteration.

The inDeviceID parameter is set only once when the filter is executed for the first time (if it is set to Auto, the first available camera in the system will be used). All the other parameters are set during the first filter execution or when the parameter is changed (they are not set in every iteration when the value is not changed).

To set more complex parameters, please use one of the following filters: ICube_SetParameter, ICube_SetParamAuto, ICube_SetParamOnePush, ICube_SetTriggerMode. Please note that if you set some parameter value in the ICube_GrabImage filter you should not modify it in any other ICube filter - it may lead to problems.

Remarks

To be able to use an ICube camera, you need to install the camera driver. You can find it at the following address (select binaries):

https://net-gmbh.com/en/machine-vision/products/cameras/usb2-icube/ or https://net-gmbh.com/en/machine-vision/products/cameras/usb3-vision-3icube/

Please make sure that the ICube SDK is installed properly on your computer. To verify the driver installation, you can run iControl.exe. If the camera was detected and you can see the image from it in this application, you can use your ICube camera in Aurora Vision Studio.

Recommended ICube SDK version for Aurora Vision Studio usage is v2.0.4.8.

The full description of the camera parameters can be found in the ICube documentation.

Multithreaded environment

This function is not guaranteed to be thread-safe. When used in multithreaded environment, it has to be manually synchronized.

See Also