IDevice#

interface Itala.IDevice : IDisposable#

Interface representing a device. Provides functions for image acquisition, camera configuration and event handling. It encloses the functionalities of GenTL’s Datastream and Local Device modules. The instance must be disposed via IDevice.Dispose when it’s no longer required.

Subclassed by Itala.ItalaDevice

Public Functions

GenApi.INodeMap GetNodeMap ()#

Get the GenICam nodemap of the physical device. The nodemap instance is accessible via GenApi library and allows the user to configure the behaviour of the camera.

Return:

Reference to the device nodemap.

GenApi.INodeMap GetTLDeviceNodeMap ()#

Get the GenICam nodemap of GenTL’s Local Device module. The nodemap instance is accessible via GenApi library and allows the user to configure the behaviour of the module.

Return:

Reference to GenTL Local Device module’s nodemap.

GenApi.INodeMap GetDatastreamNodeMap ()#

Get the GenICam nodemap of GenTL’s Datastream module. The nodemap instance is accessible via GenApi library and allows the user to configure the behaviour of the module.

Return:

Reference to GenTL Datastream module’s nodemap.

void StartAcquisition (UInt64 bufferCount = 16, UInt64 numFrames = 0)#

Starts the image acquisition on the device. A number of buffers equal to bufferCount is allocated and kept in the acquisition engine input pool. Internally, the acquisition engine picks buffers from the input pool and fills them with new data, before pushing them to the output queue, in accordance with the policy defined by the GenTL SFNC standard feature “StreamBufferHandlingMode” (configurable through the Datastream nodemap). The acquisition engine keeps running until numFrames frames are pushed to the output queue(i.e.until the specified amount of frames is available to the user). The AcquisitionStart GenICam command is automatically executed and all the acquisition critical features are automatically locked by ItalaApiNET. The client code must not perform these two operations.

Param bufferCount:

Number of buffers to be used for acquisition

Param numFrames:

Number of frames to be acquired. If 0, the acquisition runs continuously until IDevice.StopAcquisition is called.

void StopAcquisition ()#

The image acquisition is stopped and all the resources deallocated. The AcquisitionStop GenICam command is automatically executed and all the acquisition critical features are automatically unlocked by ItalaApiNET. The client code must not perform these last two operations since they’re automatically managed internally.

IImage GetNextImage (Int64 timeout)#

rabs the first available image buffer in the output queue of the acquisition engine.If the specified timeout expires, a TimeoutException occurs. When an image buffer is grabbed, it’s removed from the acquisition engine and delivered to the client code so that its data can be used. When the image buffer is no longer required by the client code, it must be disposed with IImage.Dispose.

Param timeout:

The amount of time in millisecond to wait for a new image

Return:

Reference to the grabbed image buffer

void EnableEvents ()#

Starts the event functionality. The event listening thread is started and ItalaApiNET waits for incoming events from the device.

void DisableEvents ()#

Stops the event functionality. The event listening thread is stopped.

Properties

DeviceEventHandler DeviceEvent { get; set; }#

Subscribes and Unsubscribe a DeviceEventHandler instance to the current device. The implementation must be provided by the client code.

UInt64 TimestampFrequency { get; set; }#

Get the tick frequency of the device timestamp counter in ticks per second.The counter is used, for instance, to assign timestamps to the individual acquired images;

DeviceInfo DeviceInfo { get; set; }#

Get the informatin object of the device.