API Reference

The GenTL-Python Binding

Classes

class genicam.gentl.AbstractEventManager(*args, **kwargs)

Bases: genicam.gentl.IEventManager

Is a base class that is event manager classes should derive from.

Parameters:event (EventToken) – Set an EventToken object.
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.BaseEventManagerGenApiEvent(event_token)

Bases: genicam.gentl.AbstractEventManager

Represents the event manager class which handles EVENT_FEATURE_CHANGE event.

Parameters:event_token (EventToken) – Set an EventToken object.
event_id

Returns string representation of the Event ID number in hexadecimal numerics with even number of digits and witout the leading 0x.

Return type:str
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
optional_data

Returns the data addressable through the source GenApi node map event port, beginning of the data corresponding to address 0.

Return type:bytes
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.Buffer(data_stream, h_buffer, context)

Bases: object

Is a proxy class of GenTL Buffer modules. You can manipulate a GenTL Buffer module through this object.

A Buffer object is created when a raw buffer is announced on a DataStream object.

clear()

Clears the content of the raw buffer that has been attached to the Buffer object. Every data element of the raw buffer will be overwritten with value 0.

has_been_queued()

Returns the truth value of the given proposition: The Buffer object has been queued in a DataStream object.

Return type:bool
has_new_data()

Returns the truth value of the given proposition: The Buffer object has one or more newly delivered data.

Return type:bool
is_acquiring()

Returns the truth value of the given proposition: The Buffer object is currently being filled with data.

Return type:bool
parts

Returns a list object containing Part objects. If the target doesn’t support multi-part buffer, the list object is not None but the length will be zero.

Returns:A list object containing Part objects.
Return type:(list)
payload_type

Returns the payload type of the Buffer object that is defined as an entry of PAYLOADTYPE_INFO_IDS.

Return type:PAYLOADTYPE_INFO_IDS
raw_buffer

Returns the bytes object that is being used as the raw buffer where data is delivered from the target transmitter device.

Return type:bytes
timestamp

Returns the timestamp that has been stamped on the raw buffer.

Return type:int
tl_type

Returns the transport layer technology that is supported by the Buffer object.

Return type:str
class genicam.gentl.BufferToken(raw_buffer=None, context=None)

Bases: object

Is used as a token to tell a DataStream object a raw buffer where the acquired data is filled in.

Parameters:
  • raw_buffer (bytes) – Set a bytes object. It is used as a buffer where the acquired data is filled in.
  • context (object) – Set an arbitrary object which derives from Python’s built-in object class. This object is attached to the raw buffer and a client can get it back later once the announced Buffer object is delivered.
context

Returns the object object that has been tagged with the raw buffer.

Return type:object
raw_buffer

Returns the bytes object that is being used as a raw buffer where the acquired data is filled in.

Return type:bytes
class genicam.gentl.DataStream(device)

Bases: genicam.gentl.IEventCapableModule

Is a proxy class of GenTL Data Stream modules. You can manipulate a GenTL Data Stream module through this object.

announce_buffer(buffer_token)

Announces a GenTL Consumer allocated buffer to the DataStream module to let it know the place where the acquired data is filled in.

Note that announcing a buffer to a DataStream object does not mean that the buffer will be automatically queued for acquisition. This is done through a separate call to the queue_buffer() method.

Parameters:buffer_token (BufferToken) – Set a BufferToken object which holds a bytes object as raw buffer where you want to ask the DataStream object fills acquired data in.
buffer_alignment

Returns the alignment size in bytes of the buffer passed to the announce_buffer() method.

Return type:int
buffer_announce_min

Returns minimum number of buffers that clients should prepare for announcement. This minimum may change during runtime when changing parameters through the node map.

Return type:int
Raises:NotAvailableException – If the DataStream object doesn’t support the feature.
close()

Releases ownership of the target GenTL module.

defines_payload_size()

Returns flag indicating that this data stream defines a payload size independent from the remote device. If False the size of the expected payload size is to be retrieved from the remote device. If True the expected payload size is to be inquired from the DataStream object. In case the GenTL Producer does not support this command it is to interpreted as False.

Return type:bool
flush_buffer_queue(operation)

Flushes the by operation defined internal buffer pool or queue to another one as defined by ACQ_QUEUE_TYPE_LIST.

Parameters:operation (ACQ_QUEUE_TYPE_LIST) – Set a flush operation to perform as defined by ACQ_QUEUE_TYPE_LIST.
id_

Returns unique ID of the DataStream object.

Return type:str
is_grabbing()

Returns flag indicating whether the acquisition engine is started or not. This is independent from the acquisition status of the remote device.

Return type:bool
is_open()

Returns the truth value of the following proposition: The proxy object has taken ownership of the corresponding GenTL module.

Return type:bool
num_announced

Returns number of announced buffers.

Return type:int
num_awaiting_delivery

Returns number of buffers in the output buffer queue.

Return type:int
num_chunks_max

Returns maximum number of chunks to be expected in a buffer. This maximum must not change during runtime.

Return type:int
Raises:NotAvailableException – If the DataStream object doesn’t support the feature.
num_delivered

Returns number of delivered buffers since last acquisition start.

Return type:int
num_queued

Returns number of buffers in the input pool plus the buffer(s) currently being filled. This does not include the buffers in the output queue. The intention of this informational value is to prevent/early detect an underrun of the acquisition buffers.

Return type:int
num_started

Returns number of frames started in the acquisition engine. This number is incremented every time a new buffer is started to be filled (data written to) regardless if the buffer is later delivered to the user or discarded for any reason. This number is initialized with 0 at at the time of the stream is opened. It is not reset until the stream is closed.

Return type:int
num_underrun

Returns number of lost frames due to queue underrun. This number is initialized with zero at the time the stream is opened and incremented every time the data could not be acquired because there was no buffer in the input pool.

Return type:int
open(dataStreamID)

Takes ownership of the GenTL Data Stream module.

Parameters:data_stream_id (str) – Set a data stream ID that you want to open. The available IDs are listed in an object that is returned by get_data_stream_ids() property.
payload_size

Returns size of the expected data in bytes.

Return type:int
queue_buffer(buffer, clear_buffer=True)

Queues a particular Buffer object for acquisition. A Buffer object can be queued for acquisition any time after the buffer was announced (before or after the acquisition has been started) if it is not currently queued. Furthermore, a buffer which is already waiting to be delivered cannot be queued for acquisition. A queued buffer cannot be revoked. The order of the delivered buffers is not necessarily the same as the order in which they have been queued.

Parameters:
  • buffer (Buffer) – Set a Buffer object to queue.
  • clear_buffer (bool) – Set True if you want to clear the content of the raw buffer.
register_event(event_id)

Returns an EventToken object which monitors an event, specified by event_id, on the object.

Parameters:event_id (EVENT_TYPE_LIST) – Set an event that you want to monitor.
Return type:EventToken
start_acquisition(*args)

Starts the acquisition engine on the host. Each call to start_acquisition() method must be accompanied by a call to stop_acquisition() method.

Parameters:
  • start_flags (ACQ_START_FLAGS_LIST) – Set a flag that you apply when starting acquisition.
  • num_to_acquire (int) – Set the number of filled/delivered buffers after which the acquisition engine stops automatically. Buffers which are internally discarded or missed are not counted. If you omit passing this parameter, the acquisition continues until a call to stop_acquisition() method is called.
stop_acquisition(stop_flags)

Stops the acquisition engine on the host. There must be a call to stop_acquisition() method accompanying each call to start_acquisition() method even though the stream already stopped because the number of frames to acquire was reached. This is also independent of the acquisition modes.

Parameters:stop_flags (ACQ_STOP_FLAGS_LIST) – Set a flag that you apply when stopping acquisition.
Returns:An error status code of the execution.
Return type:GC_ERROR_LIST
tl_type

Returns transport layer technology that is supported.

Return type:str
class genicam.gentl.Device(iface, device_id)

Bases: genicam.gentl.IEventCapableModule

Is a proxy class of GenTL Device modules. You can manipulate a GenTL Device module through this object.

access_status

Returns access status of the Device object.

Return type:DEVICE_ACCESS_STATUS_LIST
close()

Releases ownership of the target GenTL module.

create_data_stream()

This is the factory method of the GenTL Data Stream module. Returns a DataStream object.

Return type:DataStream
data_stream_ids

Returns the data stream IDs of the DataStream objects those belong to the Device object.

Returns:A list object containing str objects.
Return type:(list)
display_name

Returns user readable name of the Device object. If this is not defined by the device this should be “VENDOR MODEL (ID)”.

Return type:str
id_

Returns unique ID of the Device object.

Return type:str
is_open()

Returns the truth value of the following proposition: The proxy object has taken ownership of the corresponding GenTL module.

Return type:bool
local_port

Returns its local Port object.

Return type:Port
model

Returns model name of the Device object.

Return type:str
open(accessFlags)

Let you take ownership of the GenTL Device module.

Parameters:access_flags (DEVICE_ACCESS_FLAGS_LIST) – Set a flag that you apply when opening the Device object.
register_event(event_id)

Returns an EventToken object which monitors an event, specified by event_id, on the object.

Parameters:event_id (EVENT_TYPE_LIST) – Set an event that you want to monitor.
Return type:EventToken
remote_port

Returns its remote Port object.

Return type:Port
serial_number

Returns serial number of the Device object.

Return type:str
tl_type

Returns transport layer technology that is supported by the Device object.

Return type:str
user_defined_name

Returns user defined name of the Device object.

Return type:str
vendor

Returns vendor name of the Device object.

Return type:str
version

Returns device version of the Device object.

Return type:str
class genicam.gentl.DeviceInfo(iface, device_id)

Bases: object

Is a class that contains information about a GenTL Device module.

This class can create a Device object.

access_status

Returns access status of the Device object.

Return type:DEVICE_ACCESS_STATUS_LIST
create_device()

This is the factory method of the GenTL Device module. Returns a Device object.

Return type:Device
display_name

Returns user readable name of the Device object. If this is not defined by the device this should be “VENDOR MODEL (ID)”.

Return type:str
id_

Returns unique ID of the Device object.

Return type:str
model

Returns device model name of the Device object.

Return type:str
serial_number

Returns serial number of the Device object.

Return type:str
tl_type

Returns transport layer technology that is supported by the device.

Return type:str
user_defined_name

Returns user defined name of the Device object.

Return type:str
vendor

Returns device vendor name of the Device object.

Return type:str
version

Returns device version of the Device object.

Return type:str
class genicam.gentl.EventManagerError(event_token)

Bases: genicam.gentl.AbstractEventManager

Represents the event manager class which handles EVENT_ERROR.

Parameters:event_token (EventToken) – Set an EventToken object.
description

Returns description about the error.

Return type:str
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

gc_error

Returns the error code.

Return type:GC_ERROR_LIST
is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventManagerFeatureChange(event_token)

Bases: genicam.gentl.AbstractEventManager

Represents the event manager class which handles EVENT_FEATURE_CHANGE event.

Parameters:event_token (EventToken) – Set an EventToken object.
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
feature_name

Returns the name of the feature that has changed its value.

Return type:str
feature_value

Returns the value to the feature.

Return type:str
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventManagerFeatureInvalidate(event_token)

Bases: genicam.gentl.AbstractEventManager

Represents the event manager class which handles EVENT_FEATURE_INVALIDATE.

Parameters:event_token (EventToken) – Set an EventToken object.
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
feature_name

Returns the name of the feature to be invalidated.

Return type:str
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventManagerModule(event_token)

Bases: genicam.gentl.BaseEventManagerGenApiEvent

Represents the event manager class which handles EVENT_MODULE.

Parameters:event_token (EventToken) – Set an EventToken object.
event_id

Returns string representation of the Event ID number in hexadecimal numerics with even number of digits and witout the leading 0x.

Return type:str
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
optional_data

Returns the data addressable through the source GenApi node map event port, beginning of the data corresponding to address 0.

Return type:bytes
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventManagerNewBuffer(event_token)

Bases: genicam.gentl.AbstractEventManager

Represents the event manager class which handles EVENT_NEW_BUFFER.

Parameters:event_token (EventToken) – Set an EventToken object.
buffer

Returns the Buffer object that has been filled up with acquired data.

Return type:Buffer
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
parent

Returns the parent object that this object belongs to.

Return type:IEventCapableModule
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventManagerRemoteDevice(event_token)

Bases: genicam.gentl.BaseEventManagerGenApiEvent

Represents the event manager class which handles EVENT_REMOTE_DEVICE.

Parameters:event_token (EventToken) – Set an EventToken object.
event_id

Returns string representation of the Event ID number in hexadecimal numerics with even number of digits and witout the leading 0x.

Return type:str
event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
optional_data

Returns the data addressable through the source GenApi node map event port, beginning of the data corresponding to address 0.

Return type:bytes
update_event_data(timeout)

Updates its event data. Having called this method, its event data that is provided through its properties are overwritten with the latest one.

Parameters:timeout (int) – Set a timeout value in millisecond.
Raises:TimeoutException – If any event happens within the duration defined by timeout.
class genicam.gentl.EventToken(parent_module, event_id, h_event, h_event_src)

Bases: object

Is used as a token to instantiate the corresponding event manager object.

The instantiated object is used to construct EventManager classes those derived from AbstractEventManager class.

event_type

Returns the assigned event type.

Return type:EVENT_TYPE_LIST
h_event

Returns the event handle of the event.

Return type:EVENT_HANDLE
h_event_src

Returns the module handle which is used to unregister the target event.

Return type:EVENTSRC_HANDLE
parent_module

Returns its parent module.

Return type:IEventCapableModule
class genicam.gentl.GenTLProducer(*args, **kwargs)

Bases: object

Is a proxy class of a GenTL Producer. You can manipulate a GenTL Producer through this object.

To instantiate a GenTLProducer object, call its factory method create_producer().

This class supports with statement. It might be useful because it explicitly closes the CTI file when the object gets out of the with statement scope.

close()

Closes the CTI file that you have opened through this object.

static create_producer()

Creates and returns a GenTLProducer object.

Do not forget to call its close() method or consider to use with statement to let GenTLProducer objects release the CTI file. If you didn’t take any of the tricks the CTI file might be keeping held even if your GenTLProducer object had been already discarded.

create_system()

Creates and returns the System object that belongs to the GenTL Producer.

Return type:System
is_open()

Returns the truth value of the following proposition: The GenTLProducer object has kept opening a CTI file.

Return type:bool
open(path_name)

Opens the specified CTI file and takes ownership of it.

Parameters:path_name (str) – Set a path name to your target CTI file. For example, you may set /path/to/my_gentl_producer.cti.
class genicam.gentl.Helper

Bases: object

classmethod format_path(path)

Formats the path specified by path and returns it.

classmethod get_cti_files()

Having a proper environment variable, either GENICAM_GENTL32_PATH or GENICAM_GENTL64_PATH, returns the listed GenTL Producers.

Returns:A list of listed GenTL Producers.
Return type:str
static is_running_on_64_bit()

Returns a truth value for a proposition: “the program is running on a 64-bit machine”.

Return type:bool
static is_running_on_macos()

Returns a truth value for a proposition: “the program is running on a macOS machine”.

Return type:bool
static is_running_on_windows()

Returns a truth value for a proposition: “the program is running on a Windows machine”.

Return type:bool
class genicam.gentl.IEventCapableModule(*args, **kwargs)

Bases: object

Represents the event capable module which is defined by the GenTL Standard.

is_open()

Returns the truth value of the following proposition: The proxy object has taken ownership of the corresponding GenTL module.

Return type:bool
register_event(event_id)

Returns an EventToken object which monitors an event, specified by event_id, on the object.

Parameters:event_id (EVENT_TYPE_LIST) – Set an event that you want to monitor.
Return type:EventToken
class genicam.gentl.IEventManager(*args, **kwargs)

Bases: object

Is an interface class that is required to be realized by the classes those handle an event and its event data.

event_type

Returns the event type of the event manager is monitoring.

Return type:EVENT_TYPE_LIST
flush_event_queue()

Flushes all events in the event queue. This call empties the event data queue.

is_monitoring_event()

Returns the truth value of the given proposition: This object is monitoring the target event.

Return type:bool
num_fired

Returns the number of events those have been fired since the registration of the target event. A fired event is either still in the internal queue or already delivered to the user or discarded flush_event_queue() method.

Return type:int
num_in_queue

Returns the number of event data in the event data queue.

Return type:int
class genicam.gentl.Interface(transport_layer, iface_id)

Bases: genicam.gentl.IEventCapableModule

Is a proxy class of a GenTL Interface module. You can manipulate the GenTL Interface module through this object.

close()

Releases ownership of the target GenTL module.

device_info_list

Returns a list object containing DeviceInfo objects.

Returns:A list object containing DeviceInfo objects.
Return type:(list)
display_name

Returns the user readable name of the Interface object.

Return type:int
id_

Returns the unique ID of the Interface object.

Return type:int
is_open()

Returns the truth value of the following proposition: The proxy object has taken ownership of the corresponding GenTL module.

Return type:bool
open()

Tries to take ownership of the target GenTL Interface module through the proxy object.

register_event(event_id)

Returns an EventToken object which monitors an event, specified by event_id, on the object.

Parameters:event_id (EVENT_TYPE_LIST) – Set an event that you want to monitor.
Return type:EventToken
tl_type

Returns the transport layer technology that is supported by the Interface object.

TODO: Fill rtype.

update_device_info_list(timeout)

Updates the information about the available GenTL Device modules that belong to the GenTL Interface module. It will reflect the information in its device_info_list.

Parameters:timeout (int) – Set a timeout value in millisecond.
Returns:True if the list content has been revised. False otherwise.
Return type:(bool)
Raises:TimeoutException – If the execution expires the duration specified by timeout.
class genicam.gentl.InterfaceInfo(transport_layer, iface_id)

Bases: object

Is a class that contains information about the corresponding GenTL Interface module.

You can create an Interface object from this object.

create_interface()

Creates and returns the corresponding Interface object.

Return type:Interface
display_name

Returns the user readable name of the corresponding Interface object.

Return type:int
id_

Returns the unique ID of the corresponding Interface object.

Return type:int
tl_type

Returns the transport layer technology that is supported by the corresponding Interface object.

TODO: Fill rtype.

class genicam.gentl.Part(buffer, part_index)

Bases: object

data_format

Returns the format of the individual items (such as pixels) in the buffer part. The interpretation of the format is specific to every data type (BUFFER_PART_INFO_DATA_TYPE), as specified in definitions of individual PARTDATATYPE_IDS. The actual meaning of the data format depends on the namespace the format belongs to which can be inquired using the BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE command (although for the standard PARTDATATYPE_IDS a recommended data format namespace is always specified).

Return type:int
data_format_namespace

Returns the format of the individual items (such as pixels) in the buffer part. The interpretation of the format is specific to every data type (BUFFER_PART_INFO_DATA_TYPE), as specified in definitions of individual PARTDATATYPE_IDS. The actual meaning of the data format depends on the namespace the format belongs to which can be inquired using the BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE command (although for the standard PARTDATATYPE_IDS a recommended data format namespace is always specified).

Returns:Information refers to the constants defined by PIXELFORMAT_NAMESPACE_IDS to allow interpretation of BUFFER_PART_INFO_DATA_FORMAT.
Return type:PIXELFORMAT_NAMESPACE_IDS
data_offset

Returns the offset address to the specified buffer part of the Buffer object.

Return type:int
data_size

Returns the size of the data intended to be written to the buffer last time it has been filled. This value is reset to 0 when the buffer is placed into the input buffer pool. If the buffer is incomplete the number still reports the full size of the original data including the lost parts. If the buffer is complete, the number equals to the size reported through BUFFER_INFO_SIZE_FILLED.

Return type:int
data_type

Returns the type of the data in given part. This information refers to the constants defined by PARTDATATYPE_IDS.

Return type:PARTDATATYPE_IDS
delivered_image_height

Returns the number of lines in the current buffer as delivered by the transport mechanism. For area scan type images this is usually the number of lines configured in the device. For variable size line scan images this number may be lower than the configured image height. This information refers for example to the information provided in the GigE Vision image stream data trailer. For other technologies this is to be implemented accordingly.

Return type:int
height

Returns the height of the data in the buffer in number of pixels as configured. For variable size images this is the maximum height of the buffer. For example this information refers to the height entry in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

Return type:int
source_id

Returns the identifier allowing to group data parts belonging to the same source (usually corresponding with the SourceSelector/ChunkSourceID features from SFNC). Parts marked with the same source_id can be mapped together. Parts carrying data from different ROI’s of the same source would typically be marked with the same source_id. It is not mandatory that source_id’s within a given buffer make a contiguous sequence of numbers starting with zero.

Note: for example with a dual-source 3D camera, the buffer can contain data parts carrying the 3D data and Confidence data corresponding to both of the two different sources. In this case the source ID helps to match the 3D and Confidence parts belonging together. This information refers for example to the information provided in the GigE Vision image stream multi-part data leader.

Return type:int
width

Returns the width of the data in the buffer in number of pixels. This information refers for example to the width entry in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

Return type:int
x_offset

Returns XOffset of the data in the buffer in number of pixels from the image origin to handle areas of interest. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

Return type:int
x_padding

Returns XPadding of the data in the buffer in number of bytes. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is may be implemented accordingly.

Return type:int
y_offset

Returns YOffset of the data in the buffer in number of lines from the image origin to handle areas of interest. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

Return type:int
class genicam.gentl.Port(*args, **kwargs)

Bases: object

Represents the Port module which is defined by the GenTL Standard.

id_

Returns the unique ID of the Port object.

Return type:str
is_big_endian()

Returns the flag indicating that the port’s data is big endian.

Return type:bool
is_little_endian()

Returns the flag indicating that the port’s data is little endian.

Return type:bool
model

Returns the port model name of the Port object.

Return type:str
module

Returns the GenTL Module the Port object refers to.

Return type:str
name

Returns the name of the Port object as referenced in the XML description.

Return type:str
read(address, buffer)

Read an arbitrary size of data on the port.

Parameters:
  • address (int) – Set a start address to read.
  • size (int) – Set a size in bytes to read.
Returns:

Return type:

bytes

supports_read_access()

Returns the flag indicating that read access is allowed.

Return type:bool
supports_write_access()

Returns the flag indicating that write access is allowed.

Return type:bool
tl_type

Returns the transport layer technology that is supported by the Port object.

Return type:str
url_info_list

Returns a list object containing URLInfo objects.

Returns:A list object containing URLInfo objects.
Return type:(list)
vendor

Returns the port vendor name of the Port object.

Return type:str
version

Returns the version of the Port object.

Return type:str
write(address, buffer)

Write an arbitrary size of data on the port.

Parameters:
  • address (int) – Set a start address to write data.
  • buffer (bytes) – Set an arbitrary size of data to write.
class genicam.gentl.System(producer)

Bases: genicam.gentl.IEventCapableModule

Is a proxy class of a GenTL System module. You can manipulate a GenTL System module through this class object.

close()

Releases the ownership of the GenTL System module that you have taken. You can’t manipulate the GenTL System module while you are not holding its ownership.

interface_info_list

Returns the list of InterfaceInfo objects.

Returns:A list object containing InterfaceInfo objects.
Return type:(list)
is_open()

Returns the truth value of the following proposition: The System object has taken the ownership of the target GenTL System module.

Return type:bool
open()

Let you take ownership of the GenTL System module. To moanipulate the GenTL System module, you have to take the ownership first.

port

Returns the Port class object that belongs to this object.

Return type:Port
register_event(event_id)

Returns an EventToken object which monitors an event, specified by event_id, on the object.

Parameters:event_id (EVENT_TYPE_LIST) – Set an event that you want to monitor.
Return type:EventToken
update_interface_info_list(timeout)

Updates the information about the available GenTL Interface modules that belong to the GenTL System module. It will reflect the information in its interface_info_list.

Returns:Returns True if there is any change on the list. False otherwise.
Return type:bool
class genicam.gentl.URLInfo(port, url_index)

Bases: object

file_name

Returns the filename in case the scheme of the URL is URL_SCHEME_FILE or as a hint if the scheme is URL_SCHEME_LOCAL.

Return type:str
file_register_address

Returns the register address of the XML-File in the device’s register map.

Return type:int
file_size

Returns the file size of the XML-File in bytes.

Return type:int
file_ver_major

Returns the major version of the XML-file this URL refers to.

Return type:int
file_ver_minor

Returns the minor version of the XML-file this URL refers to.

Return type:int
file_ver_subminor

Returns the sub-minor version of the XML-file this URL refers to.

Return type:int
get_file_sha1_hash(out_buffer)

Returns a bytes object as a result of SHA1 Hash of the XML-file this URL refers to. The size of the provided buffer is 160Bit according to the SHA1 specification.

Return type:bytes
schema_ver_major

Returns the major version of the schema this URL refers to.

Return type:int
schema_ver_minor

Returns the minor version of the schema this URL refers to.

Return type:int
scheme

Returns the scheme of the URL.

Return type:int
url

Returns the URL of the specified index.

Return type:str

Exceptions

class genicam.gentl.AbortException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.AccessDeniedException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.BufferTooSmallException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.BusyException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.ClosedException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.ErrorException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidAddressException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidHandleException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidIdException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidParameterException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.IoException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidBufferException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidIndexException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.InvalidValueException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.LoadLibraryException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.NoDataException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.NotAvailableException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.NotImplementedException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.NotInitializedException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.OutOfMemoryException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.ParsingChunkDataException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.ResourceExhaustedException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.ResourceInUseException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class genicam.gentl.TimeoutException

Bases: _gentl.GenericException

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

Enumerations

class genicam.gentl.ACQ_QUEUE_TYPE_LIST

Bases: enum.IntEnum

Defines named constants from which to which queue/pool buffers are flushed.

ACQ_QUEUE_ALL_DISCARD = 4

Discards all buffers in the input pool and the buffers in the output queue including buffers currently being filled so that no buffer is bound to any internal mechanism and all buffers may be revoked or requeued.

ACQ_QUEUE_ALL_TO_INPUT = 2

Puts all buffers in the input pool. This is including those in the output buffer queue and the ones which are currently being filled and discard entries in the event data queue.

ACQ_QUEUE_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

ACQ_QUEUE_INPUT_TO_OUTPUT = 0

Flushes the buffers from the input pool to the output buffer queue and if necessary adds entries in the EVENT_NEW_BUFFER event data queue. The buffers currently being filled are not affected by this operation. This only applies to the mandatory default buffer handling mode. The fill state of a buffer can be inquired through the buffer info command BUFFER_INFO_NEW_DATA. This allows the GenTL Consumer to maintain all buffers without a second reference in the GenTL Consumer because all buffers are delivered through the new buffer event.

ACQ_QUEUE_OUTPUT_DISCARD = 1

Discards all buffers in the output buffer queue and if necessary remove the entries from the event data queue.

ACQ_QUEUE_UNQUEUED_TO_INPUT = 3

Puts all buffers that are neither in the input pool nor being currently filled nor in the output buffer queue in the input pool.

class genicam.gentl.ACQ_START_FLAGS_LIST

Bases: enum.IntEnum

Defines named constants for the acquisition engine.

ACQ_START_FLAGS_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs.

ACQ_START_FLAGS_DEFAULT = 0

Default behavior.

class genicam.gentl.ACQ_STOP_FLAGS_LIST

Bases: enum.IntEnum

Defines named constants for the acquisition engine.

ACQ_STOP_FLAGS_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

ACQ_STOP_FLAGS_DEFAULT = 0

Stops the acquisition engine when the currently running tasks like filling a buffer are completed (default behavior).

ACQ_STOP_FLAGS_KILL = 1

Stop the acquisition engine immediately. In case this results in a partially filled buffer the Producer will return the buffer through the regular mechanism to the user, indicating through the info function of that buffer that this buffer is not complete.

class genicam.gentl.BUFFER_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retlieve the Buffer module related information.

BUFFER_INFO_BASE = 0

Base address of the buffer memory as passed to the announce_buffer() function. This is also the address where the payload within the buffer starts.

BUFFER_INFO_CHUNKLAYOUTID = 24

This information refers for example to the information provided in the GigE Vision image stream data leader. The chunk layout id serves as an indicator that the chunk layout has changed and the application should reparse the chunk layout in the buffer. When a chunk layout (availability or position of individual chunks) changes since the last buffer delivered by the device through the same stream, the device must change the chunk layout id. As long as the chunk layout remains stable, the camera must keep the chunk layout id intact. When switching back to a layout, which was already used before, the camera can use the same id again or use a new id. A chunk layout id value of 0 is invalid. It is reserved for use by cameras not supporting the layout id functionality. The algorithm used to compute the chunk layout id is left as quality of implementation. For other technologies this is to be implemented accordingly.

BUFFER_INFO_CONTAINS_CHUNKDATA = 30

If this values is set to true it indicates that the payload transferred contains chunk data which may be parsed through a call to the get_buffer_chunk_data() method.

BUFFER_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

BUFFER_INFO_DATA_LARGER_THAN_BUFFER = 29

If this values is set to true it indicates that the payload transferred would not fit into the announced buffer and that therefore only parts of the payload or no payload (depending on the implementation of the GenTL Producer) is copied into the buffer.

BUFFER_INFO_DATA_SIZE = 27

Size of the data intended to be written to the buffer last time it has been filled. This value is reset to 0 when the buffer is placed into the Input Buffer Pool. If the buffer is incomplete the number still reports the full size of the original data including the lost parts. If the buffer is complete, the number equals to the size reported through BUFFER_INFO_SIZE_FILLED.

BUFFER_INFO_DELIVERED_CHUNKPAYLOADSIZE = 23

This information refers for example to the information provided in the GigE Vision image stream data trailer. For other technologies this is to be implemented accordingly.

BUFFER_INFO_DELIVERED_IMAGEHEIGHT = 22

The number of lines in the current buffer as delivered by the transport mechanism. For area scan type images this is usually the number of lines configured in the device. For variable size linescan images this number may be lower than the configured image height. This information refers for example to the information provided in the GigE Vision image stream data trailer. For other technologies this is to be implemented accordingly.

BUFFER_INFO_FILENAME = 25

Filename in case the payload contains a file. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly. Since this is GigE Vision related information and the filename in GigE Vision is UTF8 coded, this filename is also UTF8 coded.

BUFFER_INFO_FRAMEID = 16

A sequentially incremented number of the frame. This information refers for example to the information provided in the GigE Vision image stream block id. For other technologies this is to be implemented accordingly. The wrap around of this number is transportation technology dependent. For GigE Vision it is (so far) 16bit wrapping to 1. Other technologies may implement a larger bit depth.

BUFFER_INFO_HEIGHT = 11

Height of the data in the buffer in number of pixels as configured. For variable size images this is the maximum height of the buffer. For example this information refers to the height entry in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

BUFFER_INFO_IMAGEOFFSET = 18

Offset of the image data from the beginning of the delivered buffer in bytes. Applies for example when delivering the image as part of chunk data or on technologies requiring specific buffer alignment.

BUFFER_INFO_IMAGEPRESENT = 17

Flag to indicate if the current data in the buffer contains image data. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

BUFFER_INFO_IS_ACQUIRING = 6

Flag to indicate that the buffer is currently being filled with data.

BUFFER_INFO_IS_INCOMPLETE = 7

Flag to indicate that a buffer was filled but an error occurred during that process.

BUFFER_INFO_IS_QUEUED = 5

If this flag is set to true the buffer is in the input pool, the buffer is currently being filled or the buffer is in the output buffer queue. In case this value is true the buffer is owned by the GenTL Producer and it can not be revoked.

BUFFER_INFO_NEW_DATA = 4

Flag to indicate that the buffer contains new data since the last delivery.

BUFFER_INFO_PAYLOADTYPE = 19

Payload type of the data. This information refers to the constants defined by PAYLOADTYPE_INFO_IDS.

BUFFER_INFO_PIXELFORMAT = 20

Pixelformat of the data. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly. The interpretation of the pixel format depends on the namespace the pixel format belongs to. This can be inquired using the BUFFER_INFO_PIXELFORMAT_NAMESPACE command.

BUFFER_INFO_PIXELFORMAT_NAMESPACE = 21

This information refers to the constants defined by PIXELFORMAT_NAMESPACE_IDS to allow interpretation of BUFFER_INFO_PIXELFORMAT.

BUFFER_INFO_PIXEL_ENDIANNESS = 26

Endianness of the multi-byte pixel data in the buffer. This information refers to the constants defined by PIXELENDIANNESS_IDS.

BUFFER_INFO_SIZE = 1

Size of the buffer in bytes.

BUFFER_INFO_SIZE_FILLED = 9

Number of bytes written into the buffer the last time it has been filled. This value is reset to 0 when the buffer is placed into the Input Buffer Pool. If the buffer is incomplete (such as if there are missing packets), only the number of bytes successfully written to the buffer are reported. If the buffer is complete, the number equals to the size reported through BUFFER_INFO_DATA_SIZE.

BUFFER_INFO_TIMESTAMP = 3

Time stamp the buffer was acquired. The unit is device/implementation dependent. In case the technology and/or the device does not support this for example under Windows a QueryPerformanceCounter() can be used.

BUFFER_INFO_TIMESTAMP_NS = 28

Time stamp the buffer was acquired, in units of 1 ns (1 000 000 000 ticks per second). If the device is internally using another tick frequency than 1GHz, the GenTL Producer must convert the value to nanoseconds.

BUFFER_INFO_TLTYPE = 8

Transport layer technology that is supported.

BUFFER_INFO_USER_PTR = 2

Private data pointer casted to an integer provided at buffer announcement using announce_buffer() or alloc_and_announce_buffer() by the GenTL Consumer. The pointer is attached to the buffer to allow attachment of user data to a buffer.

BUFFER_INFO_WIDTH = 10

Width of the data in the buffer in number of pixels. This information refers for example to the width entry in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

BUFFER_INFO_XOFFSET = 12

XOffset of the data in the buffer in number of pixels from the image origin to handle areas of interest. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to beimplemented accordingly.

BUFFER_INFO_XPADDING = 14

XPadding of the data in the buffer in number of bytes. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is may be implemented accordingly.

BUFFER_INFO_YOFFSET = 13

YOffset of the data in the buffer in number of lines from the image origin to handle areas of interest. This information refers for example to the information provided in the GigE Vision image stream data leader. For other technologies this is to be implemented accordingly.

BUFFER_INFO_YPADDING = 15

YPadding of the data in the buffer in number of bytes. This information refers for example to the information provided in the GigE Vision image stream data leader. For other thechnologies this may be implemented accordingly.

class genicam.gentl.BUFFER_PART_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Buffer module related information.

In case an item of the enumeration is not available or not implemented these functions must return the appropriate error return value.

BUFFER_PART_INFO_BASE = 0

Base address of the buffer part memory. This is the address where the valid buffer part data start, not considering any padding between data parts or buffer alignment.

BUFFER_PART_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

BUFFER_PART_INFO_DATA_FORMAT = 3

Format of the individual items (such as pixels) in the buffer part. The interpretation of the format is specific to every data type (BUFFER_PART_INFO_DATA_TYPE), as specified in definitions of individual PARTDATATYPE_IDS. The actual meaning of the data format depends on the namespace the format belongs to which can be inquired using the BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE command (although for the standard PARTDATATYPE_IDS a recommended data format namespace is always specified).

BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE = 4

This information refers to the constants defined by PIXELFORMAT_NAMESPACE_IDS to allow interpretation of BUFFER_PART_INFO_DATA_FORMAT.

BUFFER_PART_INFO_DATA_SIZE = 1

Size of the buffer part in bytes. Actual size of the data within this buffer part should be reported. Eventual padding between buffer parts is not included. In case of variable payload type only the size of valid data within the buffer part is reported.

BUFFER_PART_INFO_DATA_TYPE = 2

Type of the data in given part. This information refers to the constants defined by PARTDATATYPE_IDS.

BUFFER_PART_INFO_DELIVERED_IMAGEHEIGHT = 11

The number of lines in the current buffer part as delivered by the transport mechanism. For area scan type images this is usually the number of lines configured in the device. For variable size linescan images this number may be lower than the configured image height. This information refers for example to the information provided in the GigE Vision image stream data trailer. For other technologies this is to be implemented accordingly.

BUFFER_PART_INFO_HEIGHT = 6

Height of the data in the buffer part in number of pixels. If the information is not applicable to given data type, the query should result in GC_ERR_NOT_AVAILABLE.

BUFFER_PART_INFO_SOURCE_ID = 10

for example with a dual-source 3D camera, the buffer can contain data parts carrying the 3D data and Confidence data corresponding to both of the two different sources. In this case the source ID helps to match the 3D and Confidence parts belonging together. This information refers for example to the information provided in the GigE Vision image stream multi-part data leader.

Type:Identifier allowing to group data parts belonging to the same source (usually corresponding with the SourceSelector/ChunkSourceID features from SFNC) Parts marked with the same source_id can be pixelmapped together. Parts carrying data from different ROI’s of the same source would typically be marked with the same source_id. It is not mandatory that source_id’s within a given buffer make a contiguous sequence of numbers starting with zero. Note
BUFFER_PART_INFO_WIDTH = 5

Width of the data in the buffer part in number of pixels. If the information is not applicable to given data type, the query should result in GC_ERR_NOT_AVAILABLE.

BUFFER_PART_INFO_XOFFSET = 7

XOffset of the data in the buffer part in number of pixels from the image origin to handle areas of interest. If the information is not applicable to given data type, the query should result in GC_ERR_NOT_AVAILABLE.

BUFFER_PART_INFO_XPADDING = 9

XPadding of the data in the buffer part in number of pixels. If the information is not applicable to given data type, the query should result in GC_ERR_NOT_AVAILABLE.

BUFFER_PART_INFO_YOFFSET = 8

YOffset of the data in the buffer part in number of pixels from the image origin to handle areas of interest. If the information is not applicable to given data type, the query should result in GC_ERR_NOT_AVAILABLE.

class genicam.gentl.DEVICE_ACCESS_FLAGS_LIST

Bases: enum.IntEnum

Defines named constants how a device is to be opened.

DEVICE_ACCESS_CONTROL = 3

Opens the device in a way that other hosts/processes can have read only access to the device. Device access level is read/write for this process.

DEVICE_ACCESS_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

DEVICE_ACCESS_EXCLUSIVE = 4

Open the device in a way that only this host/process can have access to the device. Device access level is read/write for this process.

DEVICE_ACCESS_NONE = 1

This either means that the device is not open because it was not opened before or the access to it was denied.

DEVICE_ACCESS_READONLY = 2

Opens the device read only. All Port functions can only read from the device.

DEVICE_ACCESS_UNKNOWN = 0

Not used in a command. Can be used to initialize a variable to query that information.

class genicam.gentl.DEVICE_ACCESS_STATUS_LIST

Bases: enum.IntEnum

Defines named constants used to retrieve the current accessibility of the device.

DEVICE_ACCESS_STATUS_BUSY = 4

The device is already owned/opened by another entity.

DEVICE_ACCESS_STATUS_CUSTOM_ID = 1000

Starting value for custom IDs which are implementation specific.

DEVICE_ACCESS_STATUS_NOACCESS = 3

The device is seen be the producer but is not available for access because it is not reachable.

DEVICE_ACCESS_STATUS_OPEN_READONLY = 6

The device is already owned/opened by this GenTL Producer with RO access.

DEVICE_ACCESS_STATUS_OPEN_READWRITE = 5

The device is already owned/opened by this GenTL Producer with RW access.

DEVICE_ACCESS_STATUS_READONLY = 2

The device is available to be opened for Read access but is currently not opened.

DEVICE_ACCESS_STATUS_READWRITE = 1

The device is available to be opened for Read/Write access but it is currently not opened.

DEVICE_ACCESS_STATUS_UNKNOWN = 0

The current availability of the device is unknown.

class genicam.gentl.DEVICE_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Device module related information.

DEVICE_INFO_ACCESS_STATUS = 5

Gets the access status the GenTL Producer has on the device.

DEVICE_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

DEVICE_INFO_DISPLAYNAME = 4

User readable name of the device. If this is not defined by the device this should be “VENDOR MODEL (ID)”.

DEVICE_INFO_ID = 0

Unique ID of the device.

DEVICE_INFO_MODEL = 2

Device model name.

DEVICE_INFO_SERIAL_NUMBER = 7

Serial number of the device in string format.

DEVICE_INFO_TIMESTAMP_FREQUENCY = 9

Tick frequency of the device’s timestamp counter in ticks per second.

DEVICE_INFO_TLTYPE = 3

Transport layer technology that is supported.

DEVICE_INFO_USER_DEFINED_NAME = 6

String containing the user defined name of the device.

DEVICE_INFO_VENDOR = 1

Device vendor name.

DEVICE_INFO_VERSION = 8

Device version in string format.

class genicam.gentl.EVENT_DATA_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Event Data information.

EVENT_DATA_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

EVENT_DATA_ID = 0

Attribute in the event data to identify the object or feature the event refers to. This can be, e.g., the error code for an error event or the feature name for GenApi related events.

EVENT_DATA_NUMID = 2

Attribute in the event data to identify the object or feature the event refers to.

EVENT_DATA_VALUE = 1

Defines additional data to an ID. This can be, e.g., the error message for an error event.

class genicam.gentl.EVENT_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Event module realated information.

EVENT_EVENT_TYPE = 0

Event type of the event handle.

EVENT_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

EVENT_INFO_DATA_SIZE_MAX = 4

Maximum size in bytes of the information output buffer.

EVENT_NUM_FIRED = 2

Number of events that were fired since the registration of the event through a call to register_event() method. A fired event is either still in the internal queue or already delivered to the user or discarded through flush_event_queue().

EVENT_NUM_IN_QUEUE = 1

Number of events in the event data queue.

EVENT_SIZE_MAX = 3

Maximum size in bytes of the event data provided by the event.

class genicam.gentl.EVENT_TYPE_LIST

Bases: enum.IntEnum

Defines known event types that can be registered on certain modules.

EVENT_CUSTOM_ID = 1000

Starting value for GenTL Producer custom events which are implementation specific.

EVENT_ERROR = 0

Notification on module errors.

EVENT_FEATURE_CHANGE = 3

Notification if the GenTL Producer driver wants to manually set a feature in the GenICam GenApi instance using the module.

EVENT_FEATURE_INVALIDATE = 2

Notification if a feature was changed by the GenTL Producer driver and thus needs to be invalidated in the GenICam GenApi instance using the module.

EVENT_MODULE = 5

Notification that one GenTL Producer module wants to inform the GenICam GenApi instance of this module that a GenApi compatible event was fired.

EVENT_NEW_BUFFER = 1

Notification on newly filled buffers.

EVENT_REMOTE_DEVICE = 4

Notification if the GenTL Producer wants to inform the GenICam GenApi instance of the remote device that a GenApi compatible event was fired.

class genicam.gentl.GC_ERROR_LIST

Bases: enum.IntEnum

Defines status code of the last execution.

GC_ERR_ABORT = -1012

An operation has been aborted before it could be completed. For example a wait operation through update_event_data() method has been terminated via a call to flush_event_queue() method.

GC_ERR_ACCESS_DENIED = -1005

Requested operation is not allowed; e.g., a remote device is opened by another client.

GC_ERR_BUFFER_TOO_SMALL = -1016

A provided buffer is too small to receive the expected amount of data. This may affect acquisition buffers in the Data Stream module if the buffers are smaller than the expected payload size but also buffers passed to any other function of the GenTL Producer interface to retrieve information or IDs.

GC_ERR_BUSY = -1022

The required operation cannot be executed because the responsible module/entity is busy executing actions that cannot be performed concurrently with the requested operation.

GC_ERR_CUSTOM_ID = -10000

Any error smaller or equal than -10000 is implementation specific.

GC_ERR_ERROR = -1001

Unspecified runtime error.

GC_ERR_INVALID_ADDRESS = -1015

A given address is out of range or invalid for internal reasons.

GC_ERR_INVALID_BUFFER = -1013

The GenTL Consumer has not announced enough buffers to start the acquisition in the currently active acquisition mode.

GC_ERR_INVALID_HANDLE = -1006

Given handle does not support the operation; e.g., function call on wrong handle or NULL pointer.

GC_ERR_INVALID_ID = -1007

ID could not be connected to a resource; e.g., a device with the given ID is currently not available.

GC_ERR_INVALID_INDEX = -1017

A provided index referencing a Producer internal object is out of bounds.

GC_ERR_INVALID_PARAMETER = -1009

One of the parameter given was not valid or out of range.

GC_ERR_INVALID_VALUE = -1019

A register write function was trying to write an invalid value.

GC_ERR_IO = -1010

Communication error has occurred; e.g., a read or write operation to a remote device failed.

GC_ERR_NOT_AVAILABLE = -1014

Resource or information is not available at a given time in a current state.

GC_ERR_NOT_IMPLEMENTED = -1003

Requested operation not implemented.

GC_ERR_NOT_INITIALIZED = -1002

Module or resource not initialized.

GC_ERR_NO_DATA = -1008

The function has no data to work on.

GC_ERR_OUT_OF_MEMORY = -1021

The system and/or other hardware in the system (frame grabber) ran out of memory.

GC_ERR_PARSING_CHUNK_DATA = -1018

An error occurred parsing a buffer containing chunk data.

GC_ERR_RESOURCE_EXHAUSTED = -1020

A requested resource is exhausted. This is a rather general error which might for example refer to a limited number of available handles being available.

GC_ERR_RESOURCE_IN_USE = -1004

Requested resource is already in use.

GC_ERR_SUCCESS = 0

Operation was successful; no error occurred.

GC_ERR_TIMEOUT = -1011

An operation’s timeout time expired before it could be completed.

class genicam.gentl.INFO_DATATYPE_LIST

Bases: enum.IntEnum

Defines the data types possible for the various Info functions. The data type itself may define its size.

INFO_DATATYPE_BOOL8 = 11

Boolean value occupying 8 bit. 0 for false and anything for true.

INFO_DATATYPE_BUFFER = 13

Like a INFO_DATATYPE_STRING but with arbitrary data and no 0 termination.

INFO_DATATYPE_CUSTOM_ID = 1000

Starting value for Custom IDs which are implementation specific.

INFO_DATATYPE_FLOAT64 = 9

Signed 64 bit floating point number.

INFO_DATATYPE_INT16 = 3

Signed 16 bit integer.

INFO_DATATYPE_INT32 = 5

Signed 32 bit integer.

INFO_DATATYPE_INT64 = 7

Signed 64 bit integer.

INFO_DATATYPE_PTR = 10

Pointer type (void*). Size is platform dependent (32 bit on 32 bit platforms)

INFO_DATATYPE_PTRDIFF = 14

The type ptrdiff_t is a type that can hold the result of subtracting two pointers.

INFO_DATATYPE_SIZET = 12

Platform dependent unsigned integer (32 bit on 32 bit platforms)

INFO_DATATYPE_STRING = 1

0-terminated C string (encoding according to the TL_INFO_CHAR_ENCODING info command).

INFO_DATATYPE_STRINGLIST = 2

Concatenated INFO_DATATYPE_STRING list. End of list is signaled with an additional 0.

INFO_DATATYPE_UINT16 = 4

Unsigned 16 bit integer.

INFO_DATATYPE_UINT32 = 6

Unsigned 32 bit integer.

INFO_DATATYPE_UINT64 = 8

Unsigned 64 bit integer.

INFO_DATATYPE_UNKNOWN = 0

Unknown data type. This value is never returned from a function but can be used to initialize the variable to inquire the type.

class genicam.gentl.INTERFACE_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Interface module related information.

INTERFACE_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

INTERFACE_INFO_DISPLAYNAME = 1

User readable name of the interface.

INTERFACE_INFO_ID = 0

Unique ID of the interface.

INTERFACE_INFO_TLTYPE = 2

Transport layer technology that is supported.

class genicam.gentl.PARTDATATYPE_IDS

Bases: enum.IntEnum

Defines named constants to give a hint on the data type to be expected in the buffer part.

PART_DATATYPE_2D_IMAGE = 1

Color or monochrome (2D) image. This part carries all the pixel data of given image (even if the image is represented by a single-plane pixel format). It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_2D_PLANE_BIPLANAR = 2

Single color plane of a planar (2D) image. The data should be linked with the other color planes to get the complete image. The complete image consists of 2 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_2D_PLANE_QUADPLANAR = 4

Single color plane of a planar (2D) image. The data should be linked with the other color planes to get the complete image. The complete image consists of 4 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_2D_PLANE_TRIPLANAR = 3

Single color plane of a planar (2D) image. The data should be linked with the other color planes to get the complete image. The complete image consists of 3 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_3D_IMAGE = 5

3D image (pixel coordinates). This part carries all the pixel data of given image (even if the image is represented by a single-plane pixel format, for example when transferring the depth map only). It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_3D_PLANE_BIPLANAR = 6

Single plane of a planar 3D image. The data should be linked with the other coordinate planes to get the complete image. The complete image consists of 2 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_3D_PLANE_QUADPLANAR = 8

Single plane of a planar 3D image. The data should be linked with the other coordinate planes to get the complete image. The complete image consists of 4 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_3D_PLANE_TRIPLANAR = 7

Single plane of a planar 3D image. The data should be linked with the other coordinate planes to get the complete image. The complete image consists of 3 planes. The planes of a given planar image must be placed as consecutive parts within the buffer. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

PART_DATATYPE_CONFIDENCE_MAP = 9

1 dimension-wise. Each value in the confidence map expresses level of validity of the image pixel at matching position. The data format should be a Confidence PFNC format. It is recommended to use PIXELFORMAT_NAMESPACE_PFNC_32BIT data format with this data type whenever possible.

Type:Confidence of the individual pixel values. Expresses the level of validity of given pixel values. Confidence map is always used together with one or more additional image-based parts matching 1
PART_DATATYPE_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

PART_DATATYPE_UNKNOWN = 0

The GenTL Producer is not aware of the data type of the data in the provided buffer part. From the GenTL Consumer perspective this can be handled as raw data.

class genicam.gentl.PAYLOADTYPE_INFO_IDS

Bases: enum.IntEnum

Defines named constants to give a hint on the payload type to be expected in a Buffer module.

PAYLOAD_TYPE_CHUNK_DATA = 4

The buffer payload contains chunk data which can be parsed. The chunk data type might be reported through SFNC or deduced from the technology the device is based on. This constant is for backward compatibility with GEV 1.2 and is deprecated since GenTL version 1.5. From now on ChunkData can be part or any other payload type. Use the BUFFER_INFO_CONTAINS_CHUNKDATA commads to query if a given buffer content contains chunk data.

PAYLOAD_TYPE_CHUNK_ONLY = 8

The buffer payload contains only chunk data but no additional payload.

PAYLOAD_TYPE_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

PAYLOAD_TYPE_DEVICE_SPECIFIC = 9

The buffer payload contains device specific data. The GenTL Producer should report additional information through the corresponding command of BUFFER_INFO_CMD_LIST.

PAYLOAD_TYPE_FILE = 3

The buffer payload contains data of a file. It is used to transfer files such as JPEG compressed images which can be stored by the GenTLProducer directly to a hard disk. The user might get a hint how to interpret the buffer by the filename provided through a call to get_buffer_part_info() mthods of DataStream class with the command BUFFER_INFO_FILENAME.

PAYLOAD_TYPE_H264 = 7

The buffer payload contains H.264 data in the format described in GEV 2.0. The GenTL Producer should report additional information through the corresponding command of BUFFER_INFO_CMD_LIST.

PAYLOAD_TYPE_IMAGE = 1

The buffer payload contains image data. The GenTL Consumer can check if additional chunk data is available via the BUFFER_INFO_LIST commands.

PAYLOAD_TYPE_JPEG = 5

The buffer payload contains JPEG data in the format described in GEV 2.0. The GenTL Producer should report additional information through the corresponding command of BUFFER_INFO_CMD_LIST.

PAYLOAD_TYPE_JPEG2000 = 6

The buffer payload contains JPEG 2000 data in the format described in GEV 2.0. The GenTL Producer should report additional information through the corresponding command of BUFFER_INFO_CMD_LIST.

PAYLOAD_TYPE_MULTI_PART = 10

The buffer payload contains multiple parts of different payload types. Information about the individual parts should be queried using num_buffer_parts and get_buffer_part_info methods of DataStream class.

PAYLOAD_TYPE_RAW_DATA = 2

The buffer payload contains raw and further unspecified data. This can be used to send acquisition statistics.

PAYLOAD_TYPE_UNKNOWN = 0

The GenTL Producer is not aware of the payload type of the data in the provided buffer. For the GenTL Consumer perspective this can be handled as raw data.

class genicam.gentl.PIXELENDIANNESS_IDS

Bases: enum.IntEnum

Defines named constants describing endianness of multi-byte pixel data in a buffer.

PIXELENDIANNESS_BIG = 2

The pixel data is stored in big endian format.

PIXELENDIANNESS_LITTLE = 1

The pixel data is stored in little endian format.

PIXELENDIANNESS_UNKNOWN = 0

Endianness of the pixel data is unknown to the GenTL Producer.

class genicam.gentl.PIXELFORMAT_NAMESPACE_IDS

Bases: enum.IntEnum

Defines named constants to interpret the pixel formats provided through a Buffer module.

PIXELFORMAT_NAMESPACE_CUSTOM_ID = 1000

The interpretation of the pixel format values is GenTL Producer specific.

PIXELFORMAT_NAMESPACE_GEV = 1

The interpretation of the pixel format values is referencing GigE Vision 1.x.

PIXELFORMAT_NAMESPACE_IIDC = 2

The interpretation of the pixel format values is referencing IIDC 1.x.

PIXELFORMAT_NAMESPACE_PFNC_16BIT = 3

The interpretation of the pixel format values is referencing PFNC 16Bit Values It is recommended to use the PFNC32 namespace when ever possible or even do the translation in the GenTL Producer since the support in GenTL consumers for it is expected to be much broader.

PIXELFORMAT_NAMESPACE_PFNC_32BIT = 4

The interpretation of the pixel format values is referencing PFNC 32Bit Values.

PIXELFORMAT_NAMESPACE_UNKNOWN = 0

The interpretation of the pixel format values is unknown to the GenTL Producer.

class genicam.gentl.PORT_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Port module related information.

PORT_INFO_ACCESS_NA = 9

Flag indicating that the port is currently not available.

PORT_INFO_ACCESS_NI = 10

Flag indicating that no port is implemented. This is only valid on the Buffer module since on all other modules the port is mandatory.

PORT_INFO_ACCESS_READ = 7

Flag indicating that read access is allowed.

PORT_INFO_ACCESS_WRITE = 8

Flag indicating that write access is allowed.

PORT_INFO_BIG_ENDIAN = 6

Flag indicating that the port’s data is big endian.

PORT_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

PORT_INFO_ID = 0

Unique ID of the module the port references. In case of the remote device module PORT_INFO_ID returns the same ID as for the local device module. In case of a buffer PORT_INFO_ID returns the address of the buffer as hex string without the leading ‘0x’.

PORT_INFO_LITTLE_ENDIAN = 5

Flag indicating that the port’s data is little endian.

PORT_INFO_MODEL = 2

Port model name. The port model references the model of the underlying module. For example if the port is for the configuration of a TLSystem module the PORT_INFO_MODEL returns the model of the TLSystem Module. In case the underlying module has no explicit model, the model of the GenTL Producer is to be used. So in case of a Buffer or a Data Stream the GenTL Producer model is to be used.

PORT_INFO_MODULE = 4

GenTL Module the port refers to.

PORT_INFO_PORTNAME = 12

Name of the port as referenced in the XML description. This name is used to connect this port to the nodemap instance of this module.

PORT_INFO_TLTYPE = 3

Transport layer technology that is supported.

PORT_INFO_VENDOR = 1

Port vendor name. In case the underlying module has no explicit vendor the vendor of the GenTL Producer is to be used. In case of a Buffer or a Data Stream the GenTL Producer vendor and model are to be used.

PORT_INFO_VERSION = 11

Version of the port.

class genicam.gentl.STREAM_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Data Stream related information.

STREAM_INFO_BUF_ALIGNMENT = 13

Alignment size in bytes of the buffer passed to announce_buffer() method. If a buffer is passed to the method which is not aligned according to the alignment size it is up to the Producer to either reject the buffer and return the GC_ERR_INVALID_BUFFER error code or to cope with a potential overhead and use the unaligned buffer as is. In case there is no special alignment needed the GenTL Producer should report a 1.

STREAM_INFO_BUF_ANNOUNCE_MIN = 12

Minimum number of buffers to announce.

STREAM_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

STREAM_INFO_DEFINES_PAYLOADSIZE = 9

Flag indicating that this data stream defines a payload size independent from the remote device. If false the size of the expected payload size is to be retrieved from the remote device. If true the expected payload size is to be inquired from the Data Stream module. In case the GenTL Producer does not support this command it is to interpreted as false.

STREAM_INFO_ID = 0

Unique ID of the data stream.

STREAM_INFO_IS_GRABBING = 8

Flag indicating whether the acquisition engine is started or not. This is independent from the acquisition status of the remote device.

STREAM_INFO_NUM_ANNOUNCED = 3

Number of announced buffers.

STREAM_INFO_NUM_AWAIT_DELIVERY = 5

Number of buffers in the output buffer queue.

STREAM_INFO_NUM_CHUNKS_MAX = 11

Maximum number of chunks to be expected in a buffer (can be used to allocate the array for the get_buffer_chunk_data() method). In case this is not known a priori by the GenTL Producer those methods return GC_ERR_NOT_AVAILABLE. This maximum must not change during runtime.

STREAM_INFO_NUM_DELIVERED = 1

Number of delivered buffers since last acquisition start.

STREAM_INFO_NUM_QUEUED = 4

Number of buffers in the input pool plus the buffer(s) currently being illed. This does not include the buffers in the output queue. The intention of this informational value is to prevent/early detect an underrun of the acquisition buffers.

STREAM_INFO_NUM_STARTED = 6

Number of frames started in the acquisition engine. This number is incremented every time a new buffer is started to be filled (data written to) regardless if the buffer is later delivered to the user or discarded for any reason. This number is initialized with 0 at at the time of the stream is opened. It is not reset until the stream is closed.

STREAM_INFO_NUM_UNDERRUN = 2

Number of lost frames due to queue underrun. This number is initialized with zero at the time the stream is opened and incremented every time the data could not be acquired because there was no buffer in the input pool.

STREAM_INFO_PAYLOAD_SIZE = 7

Size of the expected data in bytes.

STREAM_INFO_TLTYPE = 10

Transport layer technology that is supported.

class genicam.gentl.TL_CHAR_ENCODING_LIST

Bases: enum.IntEnum

Char encoding schemata.

TL_CHAR_ENCODING_ASCII = 0

Char encoding of the GenTL Producer is ASCII.

TL_CHAR_ENCODING_UTF8 = 1

Char encoding of the GenTL Producer is UTF8.

class genicam.gentl.TL_INFO_CMD_LIST

Bases: enum.IntEnum

Defines system module information commands. The reported information through these two functions must be in sync.

TL_INFO_CHAR_ENCODING = 8

The char encoding of the GenTL Producer.

TL_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

TL_INFO_DISPLAYNAME = 7

User readable name of the GenTL Producer.

TL_INFO_GENTL_VER_MAJOR = 9

Major version number of GenTL Standard Version this Producer complies with.

TL_INFO_GENTL_VER_MINOR = 10

Minor version number of GenTL Standard Version this Producer complies with.

TL_INFO_ID = 0

Unique ID identifying a GenTL Producer. For example the filename of the GenTL Producer implementation including its path.

TL_INFO_MODEL = 2

A vendor produces more than one GenTL Producer for different device classes or different technologies. The TL_INFO_MODEL references a single GenTL Producer implementation. The combination of Vendor and Model provides a unique reference of ONE GenTL Producer implementation.

Type:GenTL Producer model name. For example
TL_INFO_NAME = 5

File name including extension of the library.

TL_INFO_PATHNAME = 6

Full path including file name and extension of the library.

TL_INFO_TLTYPE = 4

Transport layer technology that is supported.

TL_INFO_VENDOR = 1

GenTL Producer vendor name.

TL_INFO_VERSION = 3

GenTL Producer version.

class genicam.gentl.URL_INFO_CMD_LIST

Bases: enum.IntEnum

Defines named constants to retrieve the Port module information.

URL_INFO_CUSTOM_ID = 1000

Starting value for GenTL Producer custom IDs which are implementation specific.

URL_INFO_FILENAME = 10

Filename in case the scheme of the URL is URL_SCHEME_FILE or as a hint if the scheme is URL_SCHEME_LOCAL.

URL_INFO_FILE_REGISTER_ADDRESS = 7

Register address of the XML-File in the device’s register map. In case the XML is not localy stored in the device’s register map the info function should return a GC_ERR_NOT_AVAILABLE.

URL_INFO_FILE_SHA1_HASH = 6

SHA1 Hash of the XML-file this URL refers to. The size of the provided buffer is 160Bit according to the SHA1 specification.

URL_INFO_FILE_SIZE = 8

File size of the XML-File in bytes.

URL_INFO_FILE_VER_MAJOR = 3

Major version of the XML-file this URL refers to.

URL_INFO_FILE_VER_MINOR = 4

Minor version of the XML-file this URL refers to.

URL_INFO_FILE_VER_SUBMINOR = 5

Subminor version of the XML-file this URL refers to.

URL_INFO_SCHEMA_VER_MAJOR = 1

Major version of the schema this URL refers to.

URL_INFO_SCHEMA_VER_MINOR = 2

Minor version of the schema this URL refers to.

URL_INFO_SCHEME = 9

Scheme of the URL. Possible values are defined by URL_SCHEME_IDS.

URL_INFO_URL = 0

A URL.

class genicam.gentl.URL_SCHEME_IDS

Bases: enum.IntEnum

Defines named constants which maps to a URL scheme.

URL_SCHEME_CUSTOM_ID = 1000

Starting value for custom IDs which are implementation specific.

URL_SCHEME_FILE = 2

The XML-file can be read from the local hard disk.

URL_SCHEME_HTTP = 1

The XML-file can be retrieved from a webserver using the http protocol.

URL_SCHEME_LOCAL = 0

The XML-File is to be retrieved from the local register map.