Back to Adaptive Vision Library website

You are here: Start » Function Reference » IDS » IDS_GrabImage_WithTimeout

IDS_GrabImage_WithTimeout


Captures an image from an IDS camera.

Syntax

bool avl::IDS_GrabImage_WithTimeout
(
	IDS_BaseState& ioState,
	const atl::Optional<atl::String>& inDeviceID,
	const atl::String& inPixelFormat,
	int inInputQueueSize,
	bool inAutoReconnect,
	const atl::Optional<avl::IDSTriggerMode::Type>& inTriggerMode,
	int inTimeout,
	const atl::Optional<avl::Box>& inAoi,
	const atl::Optional<float>& inFrameRate,
	const atl::Optional<float>& inExposureTime,
	const atl::Optional<avl::IDSBinning::Type>& inHorizontalBinning,
	const atl::Optional<avl::IDSBinning::Type>& inVerticalBinning,
	const atl::Optional<avl::IDSMirror::Type>& inMirror,
	const atl::Optional<bool>& inAutoBlackLevel,
	const atl::Optional<int>& inBlackLevelOffset,
	const atl::Optional<int>& inGamma,
	const atl::Optional<bool>& inGainBoost,
	const atl::Optional<int>& inGainMaster,
	const atl::Optional<int>& inGainRed,
	const atl::Optional<int>& inGainGreen,
	const atl::Optional<int>& inGainBlue,
	atl::Conditional<avl::Image>& outImage
)

Parameters

Name Type Range Default Description
ioState IDS_BaseState& Object used to maintain state of the function.
inDeviceID const Optional<String>& NIL Device serial number or user definable camera ID
inPixelFormat const String& \"Mono8\" Pixel format. Supported values: Raw8, Mono8, Rgb8, Bgr8, Rgba8, Bgra8
inInputQueueSize int 1 - 3 Capacity of input frames queue
inAutoReconnect bool True Automatically reconnect with the camera
inTriggerMode const Optional<IDSTriggerMode::Type>& NIL Camera trigger mode
inTimeout int 10 - 100 Maximum time to wait for frame in milliseconds
inAoi const Optional<Box>& NIL Required fragment of image to stream
inFrameRate const Optional<float>& 0.1 - 400.0 NIL Frame rate
inExposureTime const Optional<float>& 0.0 - NIL Exposure time in microseconds
inHorizontalBinning const Optional<IDSBinning::Type>& NIL Horizontal binning
inVerticalBinning const Optional<IDSBinning::Type>& NIL Vertical binning
inMirror const Optional<IDSMirror::Type>& NIL Mirror effect
inAutoBlackLevel const Optional<bool>& NIL Enable auto black level
inBlackLevelOffset const Optional<int>& 0 - NIL Black level offset
inGamma const Optional<int>& 1 - 1000 NIL Set gamma value
inGainBoost const Optional<bool>& NIL Set gain boost mode
inGainMaster const Optional<int>& 0 - 100 NIL Set gain master value
inGainRed const Optional<int>& 0 - 100 NIL Set gain red value
inGainGreen const Optional<int>& 0 - 100 NIL Set gain green value
inGainBlue const Optional<int>& 0 - 100 NIL Set gain blue value
outImage Conditional<Image>& Output image

Remarks

Camera driver software

This filter is intended to cooperate with cameras using their vendor's SDK. In order to connect with the camera, it is required to install IDS SDK software.

IDS SDK can be downloaded from the following website: https://en.ids-imaging.com/download-ueye.html

To verify the driver installation, you can run IDS Camera Manager. If the camera was detected and you can see the view from the camera, you can use IDS SDK in Adaptive Vision Studio.

Recommended IDS SDK version for Adaptive Vision Studio usage is 4.82.

Camera identification

When there is only one IDS camera connected, the field inDeviceID can be set to Auto. In this situation, the first available camera will be used.

inDeviceID can be used to pick one of multiple cameras connected to the computer. inDeviceID should be set to camera ID.

Source code

In Professional edition this filter is open source. You can use this filter as reference when implementing support for your specific hardware. You can also modify this filter and add some additional functionality.

The source code is located in the directory:

\My Documents\Adaptive Vision Studio 4.x Professional\Sources\User Filters\IDS
Working with camera

If you work with USB cameras then parameter inAutoReconnect doesn't work. Camera disconnection also can't be detected. To enable these features in USB cameras please add new register key:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ueye\Parameters
 DWORD DevChangeHandlerMode = 1

Multithreaded environment

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

See Also