Back to Adaptive Vision Library website

You are here: Start » Function Reference » Camera Support » SmartRay » SmartRay_GrabPILImages

SmartRay_GrabPILImages


Header: ThirdPartySdk.h
Namespace: avl
Module: ThirdParty

Captures a PIL images using SmartRay.

Syntax

bool avl::SmartRay_GrabPILImages
(
	SmartRay_State& ioState,
	const atl::String& inAddress,
	int inPort,
	int inConnectionTimeout,
	int inInputQueueSize,
	const atl::Optional<int> inTimeout,
	int inNumberOfProfiles,
	const avl::SmartRayDataTrigger& inDataTrigger,
	atl::Optional<bool> inSmartXccelerate,
	atl::Optional<const avl::SmartRayRegionOfInterest&> inRegionOfInterest,
	atl::Optional<const avl::SmartRayExposure&> inExposure,
	atl::Optional<const avl::SmartRayLaser&> inLaser,
	atl::Optional<const avl::SmartRayStartTrigger&> inStartTrigger,
	atl::Optional<const avl::SmartRayReflectionFilter&> inReflectionFilter,
	atl::Optional<const atl::Array<int>&> inLaserLineThreshold,
	atl::Optional<int> inMinLaserLineThicknessLimit,
	atl::Optional<int> inMaxLaserLineThicknessLimit,
	atl::Optional<bool> inSmartXpress,
	atl::Optional<bool> inSmartXtract,
	atl::Optional<avl::SmartRaySmartXtractAlgorithm::Type> inSmartXtractAlgorithm,
	atl::Optional<avl::SmartRaySmartXactMode::Type> inSmartXactMode,
	atl::Conditional<avl::Image>& outProfileImage,
	atl::Conditional<avl::Image>& outIntensityImage,
	atl::Conditional<avl::Image>& outLaserLineThicknessImage
)

Parameters

Name Type Range Default Description
Input will be modified
ioState SmartRay_State& Object used to maintain state of the function.
Input value
inAddress const String& \"192.168.178.200\" Device identifying address
Input value
inPort int 40 Device identifying network port
Input value
inConnectionTimeout int 1 - 1000 60 Timeout in seconds
Input value
inInputQueueSize int 1 - 200 4 Capacity of output frames queue
Input value
inTimeout const Optional<int> NIL Grab image timeout. If NIl no timeout
Input value
inNumberOfProfiles int 10 Number of profiles to capture
Input value
inDataTrigger const SmartRayDataTrigger&
Input value
inSmartXccelerate Optional<bool> NIL
Input value
inRegionOfInterest Optional<const SmartRayRegionOfInterest&> NIL
Input value
inExposure Optional<const SmartRayExposure&> NIL
Input value
inLaser Optional<const SmartRayLaser&> NIL
Input value
inStartTrigger Optional<const SmartRayStartTrigger&> NIL
Input value
inReflectionFilter Optional<const SmartRayReflectionFilter&> NIL
Input value
inLaserLineThreshold Optional<const Array<int>&> NIL
Input value
inMinLaserLineThicknessLimit Optional<int> NIL
Input value
inMaxLaserLineThicknessLimit Optional<int> NIL
Input value
inSmartXpress Optional<bool> NIL
Input value
inSmartXtract Optional<bool> NIL
Input value
inSmartXtractAlgorithm Optional<SmartRaySmartXtractAlgorithm::Type> NIL
Input value
inSmartXactMode Optional<SmartRaySmartXactMode::Type> NIL
Output value
outProfileImage Conditional<Image>& Captured profile image
Output value
outIntensityImage Conditional<Image>& Captured intensity image
Output value
outLaserLineThicknessImage Conditional<Image>&

Remarks

Device identification

inAddress can be used to pick one of multiple devices connected to the computer. inAddress can be set to:

  • IP Address - SmartRay Device identifying IP address (e.g. "127.0.0.1")

Camera driver software

This filter is intended to cooperate with a camera using its vendor SDK. To be able to connect to a camera, it is required to install SmartRay SDK software with camera dedicated drivers.

Add DLL path to system environment variable may be required.

Recommended SmartRay SDK version for Adaptive Vision Studio usage is 5.5.0.91.

Disable firewall software and set 192.168.178.100 static IP in your network interface may be needed.

SmartRay SDK may need Microsoft Visual C++ 2010 Redistributable Package for 64-bit architecture.

ECCO 35 and ECCO 55 series

Using SmartRay_LoadParameterSet before start acquisition or grab filter for this devices may be mandatory.

Camera parameters

Setting inInputQueueSize parameter to 'Auto' will select four value as input queue size.

All the other parameters exposed by camera filters are optional, setting them to 'Auto' leaves related parameter unchanged in camera (device default or user set configuration).

To change other, more advanced camera parameters, use specific filters.

Multithreaded environment

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

See Also