EGrabber.NETFramework
Helper functions to build Euresys GenApi actions
Create an action to declare a virtual user feature of type Integer on a GenApi Module
Example: create a virtual user feature size of type Integer on the Device module
grabber.Device.Set(Action.DeclareInteger, "size");
grabber.Device.Set("$size", 1024);
grabber.RunScript(pathToScriptUsingTheUserFeaturesize);
long size = grabber.Device.Get<long>("$size");
A declared virtual user feature is used as a GenApi feature by prefixing its name with a dollar sign ($)
See also
Create an action to declare a virtual user feature of type Float on a GenApi Module
See also
Create an action to declare a virtual user feature of type String on a GenApi Module
See also
Create an action to undeclare (delete) a virtual user feature on a GenApi Module
Example: delete a virtual user feature size on the Device module
grabber.Device.Set(Action.Undeclare, "size");
See also
Buffer object encapsulating a GenTL buffer
Create a Buffer object encapsulating the next delivered GenTL buffer
The grabber managing the underlying GenTL buffer
Timeout value
If there is no new buffer event when called, the method waits for at most the specified
- Either the timeout expires and a is thrown
- Or GenTL buffer is delivered and a Buffer object is created
Create a Buffer object encapsulating the next delivered GenTL buffer
The grabber managing the underlying GenTL buffer
Timeout value in milliseconds
If there is no new buffer event when called, the method waits for at most the specified
- Either the timeout expires and a is thrown
- Or GenTL buffer is delivered and a Buffer object is created
Create a Buffer object encapsulating the GenTL buffer specified in a
The grabber managing the underlying GenTL buffer
New buffer data
A new buffer data can be obtained from
- The argument of a callback registered with , where T is
Release the resources associated with the object
Push the GenTL buffer back to the data stream input fifo
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted data size
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted data size
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
- No buffer conversion will be applied before writing the image file, please use Buffer.Convert[To] if needed
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Image saving parameters
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
- No buffer conversion will be applied before writing the image file, please use Buffer.Convert[To] if needed
Get buffer information
Type of the return value
Buffer info command
Buffer information
Please note that
- and are closely related
- Wrong combinations of and will lead to or exceptions
- Using an unsupported type will throw an
Get useful buffer information
Buffer information
Get the user object provided when the GenTL buffer was announced (if any)
Get the base address of the buffer memory (cf. )
Converted buffer returned by Buffer.Convert
Release the resources associated with the object
Finalize method releasing unmanaged resources
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted data size
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted data size
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Image saving parameters
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
Get useful buffer information
Buffer information
Size of the buffer in bytes
Image width in pixels
Image height in pixels
Line pitch in bytes
Buffer address
Buffer pixel format
Range of buffer indexes returned by the EGrabber methods announcing buffers
Create an empty range of buffer indexes
Create a range of buffer indexes
Index of the first buffer in range
Index of the end of the range, the end is not included in the range
Flag is true to indicate buffers have been (or will be) queued in the reverse order
Create a range of buffer indexes
Index of the first buffer in range
Index of the end of the range, the end is not included in the range
Create a range of buffer indexes
Range to clone
Convert a Zero-based index in the range to an absolute buffer index
Zero-based index of a buffer in the range
Absolute buffer index
Size of the range (count)
Index of the first buffer of the range
Index of the end of the range, the end is not included in the range
Flag is true if the buffers have been (or will be) queued in the reverse order
Release the resources associated with the object
Useful buffer information
Base address of the buffer memory
Size of the buffer in bytes
Line pitch
Width of the data in the buffer in number of pixels
Number of delivered lines in the buffer
Pixelformat of the data
Number of bits per pixel
collection enumerator
Build an enumerator for the collection
Strongly typed enumerator
Build an enumerator for the collection
Non-generic enumerator
Non-generic version of
CIC event data
- In order to get CIC events, the CIC event data type needs to be enabled by calling with the event type
- CIC event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
Helpers to get the paths of different producers (CTI)
Return the path of the Coaxlink producer
Example: initialize a GenTL instance with the Coaxlink producer
var gentl = new EGenTL(CtiPath.Coaxlink);
See also
Return the path of the Grablink producer
Example: initialize a GenTL instance with the Grablink producer
var gentl = new EGenTL(CtiPath.Grablink);
See also
Return the path of the Gigelink producer
Example: initialize a GenTL instance with the Gigelink producer
var gentl = new EGenTL(CtiPath.Gigelink);
See also
Return the path of the default producer
- The default producer is derived from the environment variable EURESYS_DEFAULT_GENTL_PRODUCER
- See also
CoaXPress device event data
- In order to get CoaXPress device events, the CoaXPress device event data type needs to be enabled by calling with the event type
- CoaXPress device event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
CoaXPress event data on the Interface module
- In order to get CoaXPress events of the Interface module, the CoaXPress event data type needs to be enabled by calling with the event type
- CoaXPress event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
Data stream event data
- In order to get data stream events, the data stream event data type needs to be enabled by calling with the event type
- Data stream event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
Device error event data
- In order to get device error events, the device error event data type needs to be enabled by calling with the event type
- Device error event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
Diagnostic utilities
Check that all boxes have been correctly released
When there are unreleased boxes
An EGenTL object is a wrapper around EGenTL C++ API
Create an EGenTL object and initialize the EGenTL library
The default producer is used
Create an EGenTL object and initialize the EGenTL library
Path of the producer to use
See also
Return the number of bytes per pixel for the specified pixel format
Pixel format (PFNC 32-bit or 16-bit namespaces)
Size in bytes
Return the number of bytes per pixel for the specified pixel format
Pixel format numerical value (PFNC 32-bit or 16-bit namespaces)
Size in bytes
Return the number of bits per pixel for the specified pixel format
Pixel format (PFNC 32-bit or 16-bit namespaces)
Size in bits
Return the number of bits per pixel for the specified pixel format
Pixel format numerical value (PFNC 32-bit or 16-bit namespaces)
Size in bits
Convert a pixel format numerical value into the pixel format name
Pixel format numerical value (PFNC 32-bit or 16-bit namespaces)
Pixel format name
Preallocate buffers in the pool to improve conversion performance
The size of the buffers to preallocate in the converter pool
The number of buffers to preallocate
- This function improves the performance of subsequent image conversions that need one or more buffers of size
- Warning: a conversion requiring a buffer of a different size (for which there is no preallocated or unused buffer in the pool)
will automatically allocate a new buffer prior to applying the conversion
Reclaim unused buffers managed by the converter to free memory
Get System module information
Type of the return value
TL info command
TL information
Please note that
- and are closely related
- Wrong combinations of and will lead to or exceptions
- Using an unsupported type will throw an
Convert a pixel format name into the PFNC 32-bit numerical value
Pixel format (PFNC 32-bit or 16-bit namespaces)
Pixel format numerical value
Convert an image
Input image details
Output image details
Convert a region of interest
Input image details
Output image details
Region of interest
Save an image to disk
Input image details
Path to file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Note: the parent directory must exist
Save an image to disk
Input image details
Path to file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Image saving parameters
Note: the parent directory must exist
Release the resources associated with the object
Region of interest (ROI) details for image conversion (optional)
Width of ROI in pixels (default=0 selects buffer parameter width)
Height of ROI in pixels (default=0 selects buffer parameter height)
X offset (in pixels) in the input buffer
Y offset (in pixels) in the input buffer
X offset (in pixels) in the output buffer
Y offset (in pixels) in the output buffer
Image Save to Disk parameters (optional)
Convert configuration
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
An EGrabber object encapsulates a set of related GenTL modules
(an interface, a device, a data stream, a remote device, and a number of buffers)
- An InterfaceModule that represents global (shared) frame
grabber settings and features. This includes digital I/O control, PCIe and firmware status...
- A DeviceModule (or local device, as opposed to remote device) that contains the frame grabber settings and features relating to the camera
This consists mainly of camera and illumination control features: strobes, triggers...
- StreamModule that handles image buffers
- A RemoteModule that is the CoaXPress camera
- A number of buffers
Note: EGrabber is only available as CallbackOnDemand model
Create an EGrabber object from GenTL module indexes
Create a grabber from GenTL module indexes
Index of the InterfaceModule to use
Index of the DeviceModule to use
Index of the StreamModule to use
How the device is to be opened
Whether the remote device is required to create the grabber
Note: the created EGrabber object is based on the CallbackOnDemand model
Create an EGrabber object from a discovered grabber
Create a grabber from a discovered grabber (see )
How the device is to be opened
Whether the remote device is required to create the grabber
Example: create a grabber using the discovery
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.EGrabbers[0]);
Note: the created EGrabber object is based on the CallbackOnDemand model
Create an EGrabber object from a discovered camera
Create a grabber from a discovered camera
How the device is to be opened
Example: create a grabber using the discovery
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.Cameras[0]);
Note: the created EGrabber object is based on the CallbackOnDemand model
Finalize method releasing unmanaged resources
Return a string that represents the current grabber
A string that represents the current grabber
Shutdown the grabber and release the associated resources
Reallocate the buffers
Performs the following operations:
- revoke current buffers, if any
- allocate buffers (if is zero, the size is determined automatically)
- announce the new buffers to the data stream
- queue the new buffers to the data stream input fifo
Number of buffers to allocate
Size of a buffer; when 0, the size is determined automatically
Range of announced buffer indexes
Announce and queue a memory buffer object
Object describing the memory buffer to announce and queue
Range of announced buffer indexes
The object can be one of the following types:
- (memory allocated by the GenTL producer)
- (memory allocated by the user)
- (UserMemory split into an array of contiguous buffers)
- (bus addressable memory)
- (NVIDIA Device memory)
Allocate, announce and queue one or more buffer objects
Object describing the memory buffer to allocate, announce and queue
Number of buffers to allocate, announce and queue
Range of announced buffer indexes
Announce and queue (in a reverse order) an array of contiguous buffer objects defined by a
Object describing the memory array to announce and queue
Announce and queue the buffers in reverse (true) order or not (false)
Range of announced buffer indexes
Move buffers from/to specific data stream buffer queues
Flush operation
Reset and queue a range of announced buffers
Performs the following operations:
- discard pending buffers (if any)
- queue the buffers of the given range to the data stream input fifo
Note: the data stream must be idle when calling this method
Range of buffer indexes to queue to the data stream input fifo
When null, all the buffers are queued to the data stream input fifo in the initial order
(i.e. the order in which they were announced with ReallocBuffers or AnnounceAndQueue)
Queue a range of announced buffers
Range of buffer indexes to queue
Revoke a range of announced buffers
Note: Revoke does not invalidate other buffer indexes
Range of buffer indexes to revoke
Start acquisitions
Start performs the following operations:
- start the data stream for buffers
- if is true, start the remote device by executing AcquisitionStart
- for Coaxlink and Grablink Duo, start the Camera and Illumination Controller by executing ActivateCic
Notes:
- The data stream must be idle when calling this function
- When buffers have been filled, the data stream
automatically goes idle, but the remote device is not stopped
- If is true, AcquisitionStop will be
executed in a subsequent call to Stop (or ultimately by )
- By default NewBufferData event will be enabled, unless explicitly disabled beforehand
The number of buffers to fill
Defines whether or not to start and stop the remote device by
automatically executing AcquisitionStart and AcquisitionStop commands
Stop acquisitions
Stop performs the following operations:
- for Coaxlink and Grablink Duo, stop the Camera and Illumination Controller by executing DeactivateCic
- stop the remote device (unless Start was called with controlRemoteDevice = false
- stop the data stream
This function will block until the data stream is idle
Get the width (in pixels) of images produced by the grabber
Get the height (in lines) of images produced by the grabber
Get the payload size of images produced by the grabber
Get the pixel format of images produced by the grabber
Both the camera and the data stream influence this
Get information of buffer at index
Type of the return value
Index of the buffer to query (cf. )
Buffer info command
Buffer information
Please note that
- and are closely related
- Wrong combinations of and will lead to or exceptions
- Using an unsupported type will throw an
Get handle details of buffer at index
Index of the buffer to query (cf. )
New buffer data exposing both data stream and buffer handles
Run a Euresys GenApi script
Euresys GenApi script to run
This can be either a location (path) or some actual script statements
Interactions with the script are possible via the user interface callback
Interrupt the execution of a running Euresys GenApi script
Identifier of the script to interrupt. It is returned by the user
interface callback with operation "scriptid" and parameter name "id"
Please note that this function cannot be called from the user interface callback
Output text to Memento with specified verbosity and user kind
String to output
One of the following values:
User kind identifier, from 0 to 15
- 0 to output trace under the Kind "User0"
- 1 to output trace under the Kind "User1"
- ...
- 10 (0xA) to output trace under the Kind "UserA"
- 11 (0xB) to output trace under the Kind "UserB"
- 12 (0xC) to output trace under the Kind "UserC"
- 13 (0xD) to output trace under the Kind "UserD"
- 14 (0xE) to output trace under the Kind "UserE"
- 15 (0xF) to output trace under the Kind "UserF"
Inject a user analyzer event UP into the memento logging system
- UP has a "+1" semantic on the user wave form of the analyzer event specified by id
- The id values from 0 to 15 are mapped onto "UserWave0" to "UserWaveF"
The display name of these 15 user analyzer events can be changed in the Analyzer Configurator
panel of the Memento application using the Alias property found in the Advanced tab of
the Analyzer Configurator panel
User analyzer event identifier, from 0 to 15, mapped onto "UserWave0" to "UserWaveF"
User kind identifier, from 0 to 15, mapped onto "User0" to "UserF"
Inject a user analyzer event DOWN into the memento logging system
- DOWN has a "-1" semantic on the user wave form of the analyzer event specified by id
- The id values from 0 to 15 are mapped onto "UserWave0" to "UserWaveF"
The display name of these 15 user analyzer events can be changed in the Analyzer Configurator
panel of the Memento application using the Alias property found in the Advanced tab of
the Analyzer Configurator panel
User analyzer event identifier, from 0 to 15, mapped onto "UserWave0" to "UserWaveF"
User kind identifier, from 0 to 15, mapped onto "User0" to "UserF"
Inject a user analyzer event RESET into the memento logging system
- RESET has a "reset to 0" semantic on the user wave form of the analyzer event specified by id
- The id values from 0 to 15 are mapped onto "UserWave0" to "UserWaveF"
The display name of these 15 user analyzer events can be changed in the Analyzer Configurator
panel of the Memento application using the Alias property found in the Advanced tab of
the Analyzer Configurator panel
User analyzer event identifier, from 0 to 15, mapped onto "UserWave0" to "UserWaveF"
User kind identifier, from 0 to 15, mapped onto "User0" to "UserF"
Inject a user analyzer event VALUE into the memento logging system
- VALUE has a "set to value" semantic on the user wave form of the analyzer event specified by id
- The id values from 0 to 15 are mapped onto "UserWave0" to "UserWaveF"
The display name of these 15 user analyzer events can be changed in the Analyzer Configurator
panel of the Memento application using the Alias property found in the Advanced tab of
the Analyzer Configurator panel
User analyzer event identifier, from 0 to 15, mapped onto "UserWave0" to "UserWaveF"
Value of the analyzer event
User kind identifier, from 0 to 15, mapped onto "User0" to "UserF"
Inject a user analyzer event NOVALUE into the memento logging system
- NOVALUE has a "disable value" semantic on the user wave form of the analyzer event specified by id
- The id values from 0 to 15 are mapped onto "UserWave0" to "UserWaveF"
The display name of these 15 user analyzer events can be changed in the Analyzer Configurator
panel of the Memento application using the Alias property found in the Advanced tab of
the Analyzer Configurator panel
User analyzer event identifier, from 0 to 15, mapped onto "UserWave0" to "UserWaveF"
User kind identifier, from 0 to 15, mapped onto "User0" to "UserF"
Wait for a new buffer and return a NewBufferData object (to be given to or )
Timeout in milliseconds
New buffer data
If no new buffer event is available before the timeout expires, a (GC_ERR_TIMEOUT>) exception is thrown
Cancel a waiting pop
- Any waiting pop will be aborted by throwing a (GC_ERR_ABORT) exception
- CancelPop is equivalent to CancelEvent(EventType.NewBufferData)
Enable event handling for the specified events
Event(s) to enable
Disable event handling for the specified events
Event(s) to disable
Flush the event queue for the specified events
Event(s) to flush
Wait for at most an event and invoke its corresponding event callback
Event type(s) to wait for and deliver via a callback
Timeout in milliseconds
Number of pending events (in the event queues identified by )
If no event is available before the timeout expires, a (GC_ERR_TIMEOUT>) exception is thrown
Process events asynchronously (by calling repeatedly ProcessEvent in a dedicated task)
Event type(s) to process
Cancellation token to stop the event processing task
Work item
Example: to cancel the task
var task = grabber.ProcessEventsAsync(EventType.All, tokenSource.Token);
...
// stop the task
tokenSource.Cancel();
task.Wait();
Cancel any waiting function on some event types
Event type(s) to cancel
Waiting functions are for example
- Some or constructors
Get the number of pending events in the different queues
Event type(s) to query
The number of pending events in the different queues identified by
Register a callback for the specified event type
Type of event
Method to invoke or null to unregister any previously registered method
Supported event types are:
Using an unsupported event type will throw an
Return result of PopOneOf
Event data
Can be one of the following objects:
Number of pending events in the requested event type(s)
Return the oldest event from a series of requested events as well as the number of pending events
Type of event(s) to request
Timeout in milliseconds
Event data and the number of pending events of the requested type(s)
Notes:
- Requested events must be enabled
- If no new buffer event is available before the timeout expires, a (GC_ERR_TIMEOUT>) exception is thrown
Grabber index of the last event received on the current thread
Get an indication about the need to reconfigure internal resources like the DMA
In this case the already announced buffers need to be revoked and announced again
otherwise some changes in the stream configuration like StripeArrangement
would not be taken into account
Get an indication about the need to reallocate buffers because the payload size or the alignment changed
In this case the already announced buffers need to be revoked and reallocated
Access the GenICam interface of a specific underlying grabber
This is useful when the EGrabber instance is managing a camera
composed by several remote devices and a remote device needs
to be queried or configured independently
An object that needs to be indexed (by the index of an underlying grabber)
to get access to an instance wrapping the requested grabber
The EGenTL instance of the grabber object
The system module associated with the grabber (if any)
The stream module associated with the grabber (if any)
The device module associated with the grabber (if any)
The remote module associated with the grabber (if any)
The interface module associated with the grabber (if any)
Type of events
New buffer event
IO toolbox event
CIC event
Data stream event
CoaXPress interface event
Device error event
CoaXPress device event
Remote device event
All available events
Any of the available events
Discovered camera information (cf. )
Results of the , can be passed to to create a grabber object
Create an enumerator
Return the number of underlying grabbers composing this camera
Indexer accessing the of an underlying grabber composing this camera
Zero-based grabber index
Grabber information
Release the resources associated with the object
Euresys EGrabber and camera discovery
Discover available grabbers and cameras in the system
Create an EGrabberDiscovery object
EGenTL instance
Please note that it's not recommended to create more than one EGrabberDiscovery
object for the same system (EGenTL object)
Perform the discovery
Enable or disable the camera-oriented discovery in addition to the grabber-oriented discovery
(default is true)
The camera-oriented discovery (i.e. the default behavior of discover)
takes more time to complete because it inspects all the grabbers of
the system to present a list of available cameras; A multi-bank camera
that exposes several CoaXPress devices (each device providing a part
of the acquired images) can be detected by the camera-oriented
discovery as a single camera; indeed the discovery is able to
identify which devices go together and how to reorder them so the
master device is always in the first position
Return information to create an object from a discovered grabber
Index of the grabber, must be smaller than
EGrabberInfo, information to create an object from the discovered grabber
Example: create a grabber object for the first discovered grabber
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.GetGrabber(0));
Note: the returned value reflects the result of the last grabber-oriented discovery (performed by )
Return the result of the last grabber-oriented discovery as a collection
Example: create a grabber object for the first discovered grabber
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.EGrabbers[0]);
Note: the returned collection reflects the result of the last grabber-oriented discovery (performed by )
Get the number of discovered grabbers
>
Return information to create an object from a discovered camera
Index of the camera, must be smaller than
Optional index of the data stream to select (default = 0)
EGrabberCameraInfo, information to create an object from the discovered camera
Example: create a grabber object for the first discovered camera
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.GetCamera(0));
Note: the returned value reflects the result of the last camera-oriented discovery (performed by )
Return information to create an object from a discovered camera identified by user-defined name
User-defined name of the camera
Optional index of the data stream to select (default = 0)
EGrabberCameraInfo, information to create an object from the discovered camera
Note: the returned value reflects the result of the last camera-oriented discovery (performed by )
Return the result of the last camera-oriented discovery as a collection
Example: create a grabber object for the first discovered camera
var gentl = new EGenTL();
var discovery = new EGrabberDiscovery(gentl)
discovery.Discover();
var grabber = new EGrabber(discovery.Cameras[0]);
Note: the returned collection reflects the result of the last camera-oriented discovery (performed by )
Get the number of discovered cameras
Return information about an interface found in the system by the last discovery
Index of the interface, must be smaller than
EGrabberInfo, information to create a partial object
Note: the returned value reflects the result of the last discovery (performed by )
Get the number of interfaces found in the system by the last discovery
Return information about a device found in an interface by the last discovery
Index of the interface, must be smaller than
Index of the device, must be smaller than
EGrabberInfo, information to create a partial object
Note: the returned value reflects the result of the last discovery (performed by )
Get the number of devices found in an interface by the last discovery
Index of the interface, must be smaller than
Number of devices found in the specified interface
Return information about a stream found in a device by the last discovery
Index of the interface, must be smaller than
Index of the device, must be smaller than
Index of the stream, must be smaller than
EGrabberInfo, information to create an object
Note: the returned value reflects the result of the last discovery (performed by )
Get the number of streams found in a device by the last discovery
Index of the interface, must be smaller than
Index of the device, must be smaller than
Number of streams found in the specified device
The EGenTL instance used by the discovery object
>
Release the resources associated with the object
An object that encapsulates a set of related GenTL modules
(an interface, a device, a data stream, a remote device)
- An InterfaceModule that represents global (shared) frame
grabber settings and features. This includes digital I/O control, PCIe and firmware status...
- A DeviceModule (or local device, as opposed to remote device) that contains the frame grabber settings and features relating to the camera
This consists mainly of camera and illumination control features: strobes, triggers...
- StreamModule that handles image buffers
- A RemoteModule that is the CoaXPress camera
Run a Euresys GenApi script
Euresys GenApi script to run
This can be either a location (path) or some actual script statements
Interactions with the script are possible via the user interface callback
Return a string that represents the current grabber
A string that represents the current grabber
The system module
The interface module
The device module
The remote module
The stream module
An intermediate array of objects returned by
Indexer
Index of the grabber to access
The requested grabber object
Discovered grabber information (cf. )
Results of the , can be passed to to create a grabber object
Interface index of the grabber
Device index of the grabber
Stream index of the grabber
Interface identifier of the grabber
Device identifier of the grabber
Stream identifier of the grabber
Vendor name of the device associated with the grabber (cf. )
Device model name of the device associated with the grabber (cf. )
Device description of the device associated with the grabber
Stream description of the stream associated with the grabber
User identifier of the device associated with the grabber (cf. )
Indicate whether a remote device is associated with the grabber
Indicate whether the device associated with the grabber is read-only
TL Type (cf. )
Firmware status of the grabber device (when applicable, e.g. Coaxlink or Grablink Duo)
Fan status of the grabber device (when applicable, e.g. Coaxlink or Grablink Duo)
License status of the grabber device (when applicable, e.g. Gigelink)
object associated with the grabber
Release the resources associated with the object
EGrabber library error
This error is not thrown under normal conditions
It may occur when an unexpected internal error occurs or when a library function returns an unknown error code
Internal library error code
CTI library loading error
Path to the CTI library that could not be loaded
Missing GenTL symbol error
Path to the GenTL library
Missing symbol
Unexpected data type error
This error occurs when an info command value type does not match the destination type T for the various GetInfo<T> methods
Actual data type of the queried info command
Unexpected data size error
This error occurs when an info command value size does not match the size of the destination type T for the various GetInfo<T> methods
Expected data size (size of the destination type)
Actual data size of the queried info command
Client error
This error generally occurs because of an error in the client code, please check the description for further details
GenTL error
GenTL error code
GenTL error description
GenApi error
A specialization of that provides GenApi error details
GenApi error code
Additional error data
Thread error
Internal error
This error is not thrown under normal conditions
It may occur when an unexpected internal state is detected inside the underlying EGrabber C++ classes
Operation not allowed error
This error indicates an operation is currently not allowed
Runtime error
This error occurs when the underlying EGrabber C++ code throws a std::runtime_error exception
Logic error
This error occurs when the underlying EGrabber C++ code throws a std::logic_error exception
Standard exception
This error occurs when the underlying EGrabber C++ code throws a std::exception
collection
Number of grabbers in the collection
Indexer
Zero-based index of the grabber in the collection, must be smaller than
Grabber information
Collection of EGrabberCameraInfo
Number of cameras in the collection
Indexer
Zero-based index of the camera in the collection, must be smaller than
Camera information
Indexer
Zero-based index of the camera in the collection, must be smaller than
Zero-based index of the stream
Camera information
Indexer
User-defined name of the camera
Camera information
Indexer
User-defined name of the camera
Zero-based index of the stream
Camera information
collection enumerator
Build an enumerator for the collection
Strongly typed enumerator
Build an enumerator for the collection
Non-generic enumerator
Non-generic version of
Input details for image conversion
Create an input object for
Input buffer width in pixels
Input buffer height in pixels
Input pixel format
Input buffer address
Input buffer size
Input line pitch
Input buffer width in pixels
Input buffer height in pixels
Address of input buffer
Input pixel format
.
Input buffer size (optional)
Input line pitch (optional, mandatory for packed formats)
Output details for image conversion
Create an output object for
Output buffer width in pixels
Output buffer height in pixels
Output pixel format
Output buffer address
Output buffer size
Convert configuration
Convert operation
Output quality if relevant
- JPEG encoding quality from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Output buffer width in pixels
Output buffer height in pixels
Output buffer address (or address of new image id if config is IMAGE_CONVERT_OUTPUT_CONFIG_IMAGE_ID
Output pixel format
Convert configuration
Convert operation
Jpeg encoding quality form 1 (lowest) to 100 (highest), 0 selects the default encoder quality
Maximum data size
Converted data size (size of the converted data that was written to the buffer)
The value is only available after the conversion was done
Special type to query info command details without getting the data
Data size (bytes) of the queried info command
Data type of the queried info command
IO toolbox event data
- In order to get IO toolbox events, the IO toolbox event data type needs to be enabled by calling with the event type
- IO toolbox event data can be received as event callback argument or using
Event timestamp
Custom event data identifier
Value of EventNotificationContext1 for this event (latched at the time the event occurred)
Value of EventNotificationContext2 for this event (latched at the time the event occurred)
Value of EventNotificationContext3 for this event (latched at the time the event occurred)
Base class of the various memory objects describing a buffer to announce and queue
Memory allocated by the GenTL producer
Create a GenTLMemory object describing a memory buffer to allocate, announce and queue
Size of the memory buffer to create. When 0, a suitable size is evaluated
Optional user data (available in )
Size of the memory buffer in bytes
Optional user data (available in )
Bus addressable memory
Create a BusMemory object describing a Bus addressable memory buffer to announce and queue
Bus buffer address on the PCIe bus
Size of the buffer allocated by the user
Optional user data (available in )
Bus buffer address on the PCIe bus
Size of the buffer allocated by the user
Optional user data (available in )
NVIDIA Device memory to be translated to bus addressable memory
Create a NvidiaRdmaMemory object describing an NVIDIA Device memory buffer to announce and queue
NVIDIA Device memory buffer address
Size of the buffer allocated by the user
Optional user data (available in )
NVIDIA Device memory buffer address
Size of the buffer allocated by the user
Optional user data (available in )
Memory allocated by the user
Create a UserMemory object describing a user allocated memory buffer to announce and queue
User-provided mutable buffer of bytes
Optional user data (available in )
Create a UserMemory object describing a user allocated memory buffer to announce and queue
User-provided mutable Stream object
Optional user data (available in )
User provided array of bytes (if any)
User provided Stream object (if any)
Optional user data (available in )
Unmanaged memory address
Buffer size in bytes
UserMemory split into an array of contiguous buffers
Create an UserMemoryArray object describing a user allocated memory buffer to announce and queue as an array of contiguous buffers
Memory allocated by the user to split into an array of contiguous buffers
Size of buffers
Notes:
-
Announcing and queuing a UserMemoryArray results in announcing and queuing multiple buffers
-
Depending on the size of the user memory and the requested buffer size,
the size of the last buffer of the array can be smaller than ,
therefore we recommend to make sure that is a multiple of
Memory allocated by the user to split into an array of contiguous buffers
Size of buffers (except for the last buffer if the is not a multiple of )
GenICam GenTL port base class
Read bytes from the port at the given
Byte address to read from
Number of bytes to read
Received data
Write to the port at the given
Byte address to write to
Input buffer containing the data to write
Read bytes as null-terminated string from the port at the given
Byte address to read from
Number of bytes to read
Received string
Read a single value from the port at the given
The type of the value to read
Byte address to read from
Received value
The type determines the number of bytes (Marshal.SizeOf<T>()) to read from the port
Write a single value to the port at the given
The type of the value to write
Byte address to write to
Value to write as a sequence of bytes
The type determines the number of bytes (Marshal.SizeOf<T>()) to write to the port
Get the value of a GenApi feature
Type of the value to return
Name of feature to read
Feature value
The type determines the GenICam feature interface to use to get the value:
- IInteger interface is used for bool, byte, sbyte, short, ushort, int, uint, long, ulong
- IFloat interface is used for float, double
- IString interface is used for string, string[]
- IRegister interface is used for byte[]
Get the value of a GenApi register feature
Name of feature to read
Number of bytes to read from the register feature
Feature value
Set the value of a GenApi feature
Type of the value to set
Name of feature to modify
Value to write
The type determines the GenICam feature interface to use to set the value:
- IInteger interface is used for bool, byte, sbyte, short, ushort, int, uint, long, ulong
- IFloat interface is used for float, double
- IString interface is used for string
- IRegister interface is used for byte[]
Set the value of GenApi register feature
Name of feature to modify
Byte array to write to the register feature
Execute a GenApi command feature
Name of feature to execute
Attach a GenApi event
GenApi event identifier
Data associated to the event
Invalidate the cache of a GenApi feature (and its dependencies)
Name of the feature to invalidate
This only invalidates the cache (the feature itself will not be changed)
Get the list of attributes exposed by the GenApi Module
Get the list of available features exposed by the GenApi Module
Get the list of all features exposed by the GenApi Module
Get the list of features exposed by the GenApi Module
- If true: the query will be configured to only include features available at "query" time
- If false: the query will be configured to include all the exposed features
A list of features
Get the list of features of a category exposed by the GenApi Module
Name of the category
- If true: the query will be configured to only include features of the category available at "query" time
- If false: the query will be configured to include all the exposed features of the category
A list of features
Get the list of available categories exposed by the GenApi Module
Get the list of all categories exposed by the GenApi Module
Get the list of categories exposed by the GenApi Module
- If true: the query will be configured to only include categories available at "query" time
- If false: the query will be configured to include all the exposed categories
A list of categories
Get the list of categories of a category exposed by the GenApi Module
Name of the category
- If true: the query will be configured to only include categories of the category available at "query" time
- If false: the query will be configured to include all the exposed categories of the category
A list of categories
Get the list of entries of a GenApi enumeration
Name of enumeration feature to query
- If true: the query will be configured to only include enumeration entries available at "query" time
- If false: the query will be configured to include all enumeration entries of the given feature
A list of enumeration entries
Check if a feature is available
Name of the feature to query
Check if a feature is readable
Name of the feature to query
Check if a feature is writeable
Name of the feature to query
Check if a feature is implemented
Name of the feature to query
Check if a feature is a command
Name of the feature to query
Check if the execution of a command is done
Name of the command to query
Get the list of interfaces of a feature
Name of the command to query
A list of GenICam interfaces
Possible return values are:
- IInteger
- IFloat
- IString
- IEnumeration
- IBoolean
- ICommand
- IPort
- IRegister
Get the XML source of a feature
Name of the feature to query
An XML string
Get the register description document of the GenApi Module
Get XML information of a feature node
Name of the feature to query
Name of the XML child to query
A string
Get the list of declared virtual user features on the GenApi Module
Declare a virtual user feature of type Integer
Name of the virtual feature to declare
Declare a virtual user feature of type Float
Name of the virtual feature to declare
Declare a virtual user feature of type String
Name of the virtual feature to declare
Undeclare (delete) a virtual user feature
Name of the virtual feature to delete
GenTL module base class
Module info command type
Get GenTL module information
Type of the return value
Module info command
Module information
Please note that
- and are closely related
- Wrong combinations of and will lead to or exceptions
- Using an unsupported type will throw an
System module
Interface module
Device module
Stream module
Remote module
New buffer event data
- The new buffer event data type is automatically enabled when calling unless the event has been explicitely enabled or disabled
- The new buffer event data type can be explicitely enabled by calling with the event type
- New buffer event data can be received as event callback argument or using (or )
Data stream handle associated to buffer
Buffer handle
Optional user data object (if provided when announced)
Timestamp associated to new buffer event
Helper functions to build Euresys GenApi queries
Create a query to get the list of attributes exposed by a GenApi Module
Create a query to get the list of features exposed by a GenApi Module
- If true: the query will be configured to only include features available at "query" time
- If false: the query will be configured to include all the exposed features
A query
Create a query to get the list of features of a category exposed by a GenApi Module
Name of the category
- If true: the query will be configured to only include features of the category available at "query" time
- If false: the query will be configured to include all the exposed features of the category
A query
Create a query to get the list of categories exposed by a GenApi Module
- If true: the query will be configured to only include categories available at "query" time
- If false: the query will be configured to include all the exposed categories
A query
Create a query to get the list of categories of a category exposed by a GenApi Module
Name of the category
- If true: the query will be configured to only include categories of the category available at "query" time
- If false: the query will be configured to include all the exposed categories of the category
A query
Create a query to get the list of entries of a GenApi enumeration
Name of enumeration feature to query
- If true: the query will be configured to only include enumeration entries available at "query" time
- If false: the query will be configured to include all enumeration entries of the given feature
A query
Create a query to check if a feature is available
Name of the feature to query
A query
Create a query to check if a feature is readable
Name of the feature to query
A query
Create a query to check if a feature is writeable
Name of the feature to query
A query
Create a query to check if a feature is implemented
Name of the feature to query
A query
Create a query to check if a feature is a command
Name of the feature to query
A query
Create a query to check if execution of a command is done
Name of the feature to query
A query
Create a query to get the list of interfaces of a feature
Name of the feature to query
A query
Create a query to get the XML source of a feature
Name of the feature to query
A query
Create a query to get the register description document of a GenApi Module
A query
Create a query to get XML information of a feature node
Name of the feature to query
Name of the XML child to query
A query
Create a query to get the list of declared virtual user features
Remote device event data
- In order to get remote device events, the remote device event data type needs to be enabled by calling with the event type
- Remote device event data can be received as event callback argument or using
The remote device event is configured by default to deliver GenICam remote device events, which can be attached to the GenApi remote module with , for example
grabber.Remote.AttachEvent(data.EventId, data.Data)
Note: in order to get other remote device events (CoaXPress or device-specific events), the Device module feature RemoteDeviceEventEnable must be configured
Event timestamp
Event namespace
EventID of GenApi event
Size of addressable data
Addressable data through the GenApi event port
ScopedBuffer object encapsulating a GenTL buffer that is automatically pushed when disposed
This object is designed to be declared in a using statement
using (var buffer = new ScopedBuffer(grabber)) { ... }
When the control leaves the block of the using statement, the GenTL buffer associated to the ScopedBuffer instance is automatically pushed to the back of the data stream input fifo
IDisposable.Dispose
The buffer is pushed back to the data stream input fifo
Create a ScopedBuffer object encapsulating the next delivered GenTL buffer
The grabber managing the underlying GenTL buffer
Timeout value in milliseconds
If there is no new buffer event when called, the method waits for at most the specified
- Either the timeout expires and a is thrown
- Or GenTL buffer is delivered and a ScopedBuffer object is created
Create a ScopedBuffer object encapsulating the next delivered GenTL buffer
The grabber managing the underlying GenTL buffer
Timeout value in milliseconds
If there is no new buffer event when called, the method waits for at most the specified
- Either the timeout expires and a is thrown
- Or GenTL buffer is delivered and a ScopedBuffer object is created
Create a ScopedBuffer object from a object
Buffer to scope
Create a ScopedBuffer object encapsulating the GenTL buffer specified in a
The grabber managing the underlying GenTL buffer
New buffer data
A new buffer data can be obtained from
- The argument of a callback registered with , where T is
Get buffer information
Type of the return value
Buffer info command
Buffer information
Please note that
- and are closely related
- Wrong combinations of and will lead to or exceptions
- Using an unsupported type will throw an
Get useful buffer information
Buffer information
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Converted data size
Convert a buffer
Output pixel format
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted buffer
Convert a buffer to a specified output buffer
Output pixel format
Output buffer pointer
Output buffer size
Convert output configuration
Convert output operation
Quality for jpeg format, from 1 (lowest) to 100 (highest), 0 selects the default encoder quality value
Region of interest to be converted
Converted data size
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
- No buffer conversion will be applied before writing the image file, please use Buffer.Convert[To] if needed
Save the buffer content to disk
Path to the file or path pattern
- path of the new image file, the file extension determines the file format
-
path pattern where a group of characters N is replaced by the value of index:
- if index is 5, N becomes 5
- if index is 9, NN becomes 09
- if index is 10, NN becomes 10
Control pattern substitution
- if index >= 0, enable pattern substitution with given index value
- if index < 0, disable pattern substitution
Image saving parameters
Notes:
- The parent directory must exist
- Buffer information (address, width, height, format) are automatically queried
- No buffer conversion will be applied before writing the image file, please use Buffer.Convert[To] if needed
Get the user object provided when the GenTL buffer was announced (if any)
Get the base address of the buffer memory (cf. )
Constants
Event data numid custom base
Image save to disk default quality
Memento verbosity critical
Memento verbosity error
Memento verbosity warning
Memento verbosity notice
Memento verbosity info
Memento verbosity debug
Memento verbosity verbose
Gentl infinite
This enumeration defines GenTL standard and Euresys custom errors ()
No Error
Unspecified runtime error
Module or resource is not initialized
Requested operation is not implemented
Requested resource is already in use
Requested operation is not allowed
Given handle does not support the operation
ID could not be connected to a resource
The function has no data to work on
One of the parameters given was not valid
Communication error has occurred
Timeout expired before the operation could be completed
An operation has been aborted before it could be completed
The GenTL Consumer has not announced enough buffers
Resource or information is not available
A given address is out of range or invalid
A provided buffer is too small to receive the expected amount of data
A provided index referencing a Producer internal object is out of bounds
An error occurred parsing a buffer containing chunk data
A register write function was trying to write an invalid value
A requested resource is exhausted
The system ran out of memory
Requested operation cannot be performed (module or resource is busy)
Custom id
Different handles to the same object were found
Handles associated to a closed object were found
No handle associated to an opened object was found
A lock issue has been detected
Some silent errors occurred
Library path cannot be retrieved
Failed to access the driver
A driver error has occurred
Buffer revoke error (No longer used)
Caught a C++ std::exception
An alignment error occurred while accessing a module port
A wait operation failed unexpectedly
A wait operation has been interrupted
Cannot create notification object
Cannot access notification object state
An external module could not be loaded
A required symbol was not found
A string is too long
Data type mismatch
Too many GenApi contexts
Key doesn't match programmed OEM safety key
GEV Driver could not communicate with the camera
A GenApi feature could not be found
A buffer address does not match any announced buffer address
An internal assertion failed
Subnet mismatch, invalid IP address and the like
Unexpected values in connection data
Remote device requires a protocol version that is not supported
Connection doesn't have the expected state at the time of the call
The underlying NetworkDirect adapter was removed from the system
The specified buffer length exceeds the capabilities of the underlying NetworkDirect hardware
The remote system refused the connection request
The remote system aborted the connection
The local system terminated the connection
A GenApi error has occurred
An error occurred while processing an image
An error occurred in the License Manager
No license was found
A CL error occurred
Custom ioctl base
Driver could not write to PCI configuration space of device
Driver could not read from PCI configuration space of device
Driver could not find a DMA engine
Driver has no IRQ handler
Driver could not register notification object while creating the data stream
Custom ioctl ds get info failed
Driver could not open DataStream module
Driver could not start the acquisition engine
Custom ioctl ds stop failed
Custom ioctl dev get info failed
Driver error while getting remote device URL information
Driver could not not write to remote device CoaXPress register
Driver could not not read remote device CoaXPress register
Custom ioctl cxp master connection not found
Custom ioctl cxp host library cmd failed
Driver was not able to announce a buffer
Driver could not stop the acquisition engine in a timely fashion
Driver I2C error
Driver detected a flash bank select inconsistency
Driver could not read from onboard memory
Driver could not write to onboard memory
Driver could not write Flat Field Correction coefficient data
Driver could not register serial notification object
Custom gev base
Custom os rdma base
Defines the data type possible for the various Info functions
Unknown data type
NULL-terminated C string (ASCII encoded)
Concatenated INFO_DATATYPE_STRING list. End of list is signaled with an additional NULL
Signed 16 bit integer
Unsigned 16 bit integer
Signed 32 bit integer
Unsigned 32 bit integer
Signed 64 bit integer
Unsigned 64 bit integer
Signed 64 bit floating point number
Pointer type (void*). Size is platform dependent (32 bit on 32 bit platforms)
Boolean value occupying 8 bit. 0 for false and anything for true
Platform dependent unsigned integer (32 bit on 32 bit platforms)
Like a INFO_DATATYPE_STRING but with arbitrary data and no NULL termination
Platform dependent signed integer (32 bit on 32 bit platforms). GenTL v1.3
Starting value for custom IDs
Defines char encoding schemes used by the producer, GenTL v1.4
Tl char encoding ascii
Tl char encoding utf8
System module information commands for the EGrabber.System.GetInfo<T>() and functions
STRING Transport layer ID
STRING Transport layer vendor name
STRING Transport layer model name
STRING Transport layer version
STRING Transport layer technology that is supported
STRING File name including extension of the library
STRING Full path including file name and extension of the library
STRING User readable name of the device. If this is not defined in the device this should be VENDOR MODEL (ID)
INT32 Reporting the char encoding used by this Producer, GenTL v1.4
UINT32 Major number of the GenTL spec this producer complies with, GenTL v1.5
UINT32 Minor number of the GenTL spec this producer complies with, GenTL v1.5
Starting value for custom IDs
This enumeration defines commands to retrieve information with the EGrabber.Interface.GetInfo<T>() function from the Interface module
STRING Unique ID of the interface
STRING User readable name of the interface
STRING Transport layer technology that is supported
Starting value for GenTL Producer custom IDs
This enumeration defines GenTL standard and Euresys custom flags of how a device is to be opened with the constructor
Not used in a command. Can be used to initialize a variable to query that information
This either means that the device is not open because it was not opened before or the access to it was denied
Open the device read only. All Port functions can only read from the device
Open 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
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
Starting value for GenTL Producer custom IDs
Open both the device and child data stream read only
Open the device for serial communication
This enumeration defines values for the accessibility of the device, see
The device accessibility is not known
The device is available for read/write access
The device is available for read only access
The device is not accessible
The device has already been opened by another process/host. GenTL v1.5
The device has already been opened by this process. GenTL v1.5
The device has already been opened by this process. GenTL v1.5
Starting value for custom IDs
This enumeration defines GenTL standard and Euresys custom commands to retrieve information with the EGrabber.Device.GetInfo<T>() function
STRING Unique ID of the device
STRING Device vendor name
STRING Device model name
STRING Transport layer technology that is supported
STRING String containing a display name for the device ( including a unique id )
INT32 Gets the access mode the GenTL Producer has on the opened device. ( enumeration value)
STRING String containing the user defined name, GenTL v1.4
STRING String containing the device's serial number, GenTL v1.4
STRING String containing the device version, GenTL v1.4
UINT64 Tick-frequency of the time stamp clock, GenTL v1.4
Starting value for GenTL Producer custom IDs
STRING Description of the device
This enumeration defines special stop flags for the acquisition engine
Stop the acquisition engine when the currently running tasks like filling a buffer are completed (default behavior)
Stop the acquisition engine immediately and leave buffers currently being filled in the Input Buffer Pool
Starting value for GenTL Producer custom IDs
This enumeration defines GenTL standard and Euresys custom flags for how the acquisition engine must be started
Default behavior
Starting value for GenTL Producer custom IDs
Start the data stream but leave the CIC sequencer idle
This enumeration commands from which to which queue/pool buffers are flushed with the function
Flushes the input pool to the output queue and if necessary adds entries in the New Buffer event data queue
Discards all buffers in the output queue and if necessary remove the entries from the event data queue
Puts all buffers in the input pool. Even those in the output queue and discard entries in the event data queue
Puts all buffers that are not in the input pool or the output queue in the input pool
Discards all buffers in the input pool and output queue
Starting value for GenTL Producer custom IDs
This enumeration defines GenTL standard and Euresys custom commands to retrieve information with the EGrabber.Stream.GetInfo<T>() function
STRING Unique ID of the data stream
UINT64 Number of delivered buffers since last acquisition start
UINT64 Number of lost buffers due to queue underrun
SIZET Number of announced buffers
SIZET Number of buffers in the input pool
SIZET Number of buffers in the output queue
UINT64 Number of buffers started in the acquisition engine
SIZET Size of the expected data in bytes
BOOL8 Flag indicating whether the acquisition engine is started or not
BOOL8 Flag that indicated that this data stream defines a payload size independent from the remote device
STRING Transport layer technology that is supported
SIZET Max number of chunks in a buffer, if known. GenTL v1.3
SIZET Min number of buffers to announce before acq can start, if known. GenTL v1.3
SIZET Buffer alignment in bytes. GenTL v1.3
Starting value for GenTL Producer custom IDs
STRING Description of the stream
BOOL8 Flag to indicate that internal resources (like the DMA) need to be reconfigured and thus buffers need to be revoked and announced again
BOOL8 Flag to indicate that buffers need to be revoked and reallocated again because the payload size or alignment constraints have changed
This enumeration defines GenTL standard and Euresys custom commands to retrieve information with the function on a buffer
PTR Base address of the buffer memory
SIZET Size of the buffer in bytes
PTR Private data pointer of the GenTL Consumer
UINT64 Timestamp the buffer was acquired
BOOL8 Flag to indicate that the buffer contains new data since the last call
BOOL8 Flag to indicate if the buffer is in the input pool or output queue
BOOL8 Flag to indicate that the buffer is currently being filled with data
BOOL8 Flag to indicate that a buffer was filled but an error occurred during that process
STRING Transport layer technology that is supported
SIZET Number of bytes written into the buffer last time it has been filled. This value is reset to 0 when the buffer is placed into the Input Buffer Pool
SIZET GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
UINT64 GenTL v1.2
BOOL8 GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
UINT64 GenTL v1.2
UINT64 GenTL v1.2
SIZET GenTL v1.2
SIZET GenTL v1.2
UINT64 GenTL v1.2
STRING GenTL v1.2
INT32 GenTL v1.4
SIZET GenTL v1.4
UINT64 GenTL v1.4
BOOL8 GenTL v1.4
BOOL8 GenTL v1.4
Starting value for GenTL Producer custom IDs
BOOL8 Flag to indicate that the buffer is the first of a scan
BOOL8 Flag to indicate that the buffer is the last of a scan
UINT64 Timestamp of the new buffer event
UINT16 Stream ID (word 3 in the CoaXPress rectangular image header)
UINT16 Tap geometry (words 23-24 in the CoaXPress rectangular image header)
UINT16 Image flags (word 25 in the CoaXPress rectangular image header)
SIZET Line pitch (or 1 for buffers containing JPEG data)
SIZET Value of data stream LineWidth when the buffer was announced
SIZET Value of data stream LinePitch when the buffer was announced
SIZET Value of data stream StripeHeight when the buffer was announced
SIZET Value of data stream StripePitch when the buffer was announced
UINT64 Value of data stream StripeArrangement when the buffer was announced
UINT32 CustomLogic Status associated to the buffer
SIZET Value of data stream StripeOffset when the buffer was announced
SIZET Value of data stream BlockHeight when the buffer was announced
SIZET Number of LLE extracted lines per acquired image
SIZET Alignment of buffer allocated by DSAllocAndAnnounceBuffer
SIZET Size of each buffer part
SIZET Maximum number of parts in the buffer (value of data stream BufferPartCount when the buffer was announced)
SIZET Number of parts available in the buffer
BUFFER Array of 64-bit unsigned integers containing the timestamps of each buffer part
UINT32 32-bit inserted buffer metadata at offset 0
UINT32 32-bit inserted buffer metadata at offset 1
UINT32 32-bit inserted buffer metadata at offset 2
UINT32 32-bit inserted buffer metadata at offset 3
BOOL8 Flag to indicate that the buffer has inserted buffer metadata
BOOL8 Flag to indicate that the buffer has inserted line metadata
PTR Base address of the inserted line metadata
UINT16 Content ID of the 32-bit inserted metadata at offset 0
UINT16 Content ID of the 32-bit inserted metadata at offset 1
UINT16 Content ID of the 32-bit inserted metadata at offset 2
UINT16 Content ID of the 32-bit inserted metadata at offset 3
This enumeration defines commands to retrieve information about individual data parts in a multi-part buffer. Introduced in GenTL v1.5
PTR Base address of the buffer part memory
SIZET Size of the buffer part in bytes
SIZET Type of the data in given part (PARTDATATYPE_ID enumeration value)
UINT64 Format of individual items (such as pixels) in the buffer part
UINT64 Allows interpretation of BUFFER_PART_INFO_DATA_FORMAT ( enumeration value)
SIZET Width of data in the buffer part in pixels
SIZET Expected height of data in the buffer part in pixels
SIZET Horizontal offset of data in the buffer part in pixels
SIZET Vertical offset of data in the buffer part in pixels
SIZET Horizontal padding of data in the buffer part in pixels
UINT64 Identifier allowing to group data parts belonging to the same source
SIZET Height of the data currently in the buffer part in pixels
Starting value for GenTL Producer custom IDs
Enumeration of TLType dependent payload types. Introduced in GenTL v1.2
Payload type unknown
Payload type image
Payload type raw data
Payload type file
Payload type chunk data
Payload type jpeg
Payload type jpeg2000
Payload type h264
Payload type chunk only
Payload type device specific
Payload type multi part
Starting value for GenTL Producer custom IDs
Enumeration of TLType dependent pixel format namespaces introduced GenTL v1.2
Pixelformat namespace unknown
Pixelformat namespace gev
Pixelformat namespace iidc
Pixelformat namespace pfnc 16bit
Pixelformat namespace pfnc 32bit
Starting value for GenTL Producer custom IDs
Enumeration of pixel endianness values. Introduced in GenTL v1.4
Unknown pixel endianness. GenTL v1.4
Little endian pixel data. GenTL v1.4
Big endian pixel data. GenTL v1.4
Enumeration describing which data type is present in given buffer part. Introduced in GenTL v1.5
Unknown data type
Color or monochrome 2D image
Single color plane of a planar 2D image consisting of 2 planes
Single color plane of a planar 2D image consisting of 3 planes
Single color plane of a planar 2D image consisting of 4 planes
3D image (pixel coordinates)
Single plane of a planar 3D image consisting of 2 planes
Single plane of a planar 3D image consisting of 3 planes
Single plane of a planar 3D image consisting of 4 planes
Confidence of the individual pixel values
Starting value for GenTL Producer custom IDs
This enumeration defines commands to retrieve information on a module or remote device handle
STRING Unique ID of the port
STRING Port vendor name
STRING Port model name
STRING Transport layer technology that is supported
STRING GenTL Module the port refers to
BOOL8 Flag indicating that the port data is little endian
BOOL8 Flag indicating that the port data is big endian
BOOL8 Port has read access
BOOL8 Port has write access
BOOL8 Port is not accessible
BOOL8 Port is not implemented
STRING Version of the port
STRING Name of the port as referenced in the XML description
Starting value for GenTL Producer custom IDs
This enumeration defines enum values returned by the URL_INFO_SCHEME command. introduced in GenTL v1.5
The XML can be read from the local register map
The XML can be downloaded from a http server
The XML can be read from the local hard drive
Starting value for custom scheme locations
This enumeration defines commands to retrieve URL information on a module or remote device handle. Introduced in GenTL v1.1
STRING URL as defined in chapter 4.1.2 GenTL v1.1
INT32 Major version of the schema this URL refers to. GenTL v1.1
INT32 Minor version of the schema this URL refers to. GenTL v1.1
INT32 Major version of the XML-file this URL refers to. GenTL v1.1
INT32 Minor version of the XML-file this URL refers to. GenTL v1.1
INT32 Subminor version of the XML-file this URL refers to. GenTL v1.1
BUFFER 160-bit SHA1 Hash code of XML-file. GenTL v1.4
UINT64 Register address in the device's register map. GenTL v1.5
UINT64 File size in bytes. GenTL v1.5
INT32 Scheme of the URL as defined in URL_SCHEME_IDS. GenTL v1.5
STRING File name if the scheme of the URL is file. GenTL v1.5
Starting value for GenTL Producer custom IDs
This enumeration defines GenTL standard and Euresys custom events
Notification on module errors
Notification on newly filled buffers
Notification if a feature was changed by the GenTL Producer library and thus needs to be invalidated in the GenICam GenApi instance using the module
Notification if the GenTL Producer library wants to manually set a feature in the GenICam GenApi instance using the module
Notification if the GenTL Producer wants to inform the GenICam GenApi instance of the remote device that a GenApi compatible event was fired
Notification if the GenTL Producer wants to inform the GenICam GenApi instance of the module that a GenApi compatible event was fired. GenTL v1.4
Starting value for GenTL Producer custom IDs
Notification of IO Toolbox events (on Interface module)
Notification of CIC events (on Device module)
Notification of data stream events (on DataStream module)
Notification of CoaXPress events (on Interface module)
Notification of device error events (on Device module)
Notification of CoaXPress device events (on Device module)
Event info command
INT32 The event type of the event handle (EVENT_TYPE enum value)
SIZET Number of events in the event data queue
UINT64 Number of events that were fired since the creation of the module
SIZET Max size of data carried with an event in bytes. GenTL v1.2
SIZET Max size of data provided through EventGetDataInfo in bytes. GenTL v1.2
Starting value for GenTL Producer custom IDs
This enumeration defines GenTL standard and Euresys custom commands to retrieve event information
Event specific Unique Event ID (String or Number)
Event specific Data
UINT64 Numeric representation of the unique Event ID, GenTL v1.3
Starting value for GenTL Producer custom IDs
UINT64 Timestamp of the event
UINT32 Value of EventNotificationContext1 for this event (latched at the time the event occurred)
UINT32 Value of EventNotificationContext2 for this event (latched at the time the event occurred)
UINT32 Value of EventNotificationContext3 for this event (latched at the time the event occurred)
This enumeration defines how to interpret the for Euresys custom events
Event data numid custom base
Line Input Tool 1
Line Input Tool 2
Line Input Tool 3
Line Input Tool 4
Line Input Tool 5
Line Input Tool 6
Line Input Tool 7
Line Input Tool 8
Quadrature Decoder Tool 1
Quadrature Decoder Tool 1 Changed Direction
Quadrature Decoder Tool 2
Quadrature Decoder Tool 2 Changed Direction
Quadrature Decoder Tool 3
Quadrature Decoder Tool 3 Changed Direction
Quadrature Decoder Tool 4
Quadrature Decoder Tool 4 Changed Direction
Divider Tool 1
Divider Tool 2
Divider Tool 3
Divider Tool 4
Multiplier/Divider Tool 1
Multiplier/Divider Tool 2
Multiplier/Divider Tool 3
Multiplier/Divider Tool 4
Delay Tool 1 Output 1
Delay Tool 1 Output 2
Delay Tool 2 Output 1
Delay Tool 2 Output 2
Delay Tool 3 Output 1
Delay Tool 3 Output 2
Delay Tool 4 Output 1
Delay Tool 4 Output 2
User Event 1
User Event 2
User Event 3
User Event 4
C2C-Link Synchronization Tool 1
C2C-Link Synchronization Tool 2
C2C-Link Synchronization Tool 3
Event Input Tool 1
Event Input Tool 2
Device Link Trigger Tool 1
Device Link Trigger Tool 2
Device Link Trigger Tool 3
Device Link Trigger Tool 4
Device Link Trigger Tool 5
Device Link Trigger Tool 6
Device Link Trigger Tool 7
Device Link Trigger Tool 8
Device Link Trigger Tool 9
Device Link Trigger Tool 10
Device Link Trigger Tool 11
Device Link Trigger Tool 12
Device Link Trigger Tool 13
Device Link Trigger Tool 14
Device Link Trigger Tool 15
Device Link Trigger Tool 16
Detected CRC error on CXP connector A
Detected CRC error on CXP connector B
Detected CRC error on CXP connector C
Detected CRC error on CXP connector D
Detected CRC error on CXP connector E
Detected CRC error on CXP connector F
Detected CRC error on CXP connector G
Detected CRC error on CXP connector H
Low level connection lock achieved on CXP connector A
Low level connection lock achieved on CXP connector B
Low level connection lock achieved on CXP connector C
Low level connection lock achieved on CXP connector D
Low level connection lock achieved on CXP connector E
Low level connection lock achieved on CXP connector F
Low level connection lock achieved on CXP connector G
Low level connection lock achieved on CXP connector H
Low level connection lock lost on CXP connector A
Low level connection lock lost on CXP connector B
Low level connection lock lost on CXP connector C
Low level connection lock lost on CXP connector D
Low level connection lock lost on CXP connector E
Low level connection lock lost on CXP connector F
Low level connection lock lost on CXP connector G
Low level connection lock lost on CXP connector H
CoaXPress link configuration done for Device 0
CoaXPress link configuration done for Device 1
CoaXPress link configuration done for Device 2
CoaXPress link configuration done for Device 3
CoaXPress link configuration done for Device 4
CoaXPress link configuration done for Device 5
CoaXPress link configuration done for Device 6
CoaXPress link configuration done for Device 7
Device 0 disconnected
Device 1 disconnected
Device 2 disconnected
Device 3 disconnected
Device 4 disconnected
Device 5 disconnected
Device 6 disconnected
Device 7 disconnected
CoaXPress link configuration in progress for Device 0
CoaXPress link configuration in progress for Device 1
CoaXPress link configuration in progress for Device 2
CoaXPress link configuration in progress for Device 3
CoaXPress link configuration in progress for Device 4
CoaXPress link configuration in progress for Device 5
CoaXPress link configuration in progress for Device 6
CoaXPress link configuration in progress for Device 7
Start of camera trigger
End of camera trigger
Start of light strobe
End of light strobe
CIC is ready for next camera cycle
Ignored CIC trigger because CIC is not ready for next camera cycle
Delayed CIC trigger until CIC is ready for next camera cycle
Received acknowledgement for previous CXP trigger message
Resent CXP trigger message (acknowledgement to previous CXP trigger message not received)
CIC trigger
LinkTrigger<N> received from CoaXPress device
Starts acquiring data of a new image frame (area-scan only)
Stops acquiring data of an image frame (area-scan only)
Starts acquiring data of a new image scan (line-scan only )
Stops acquiring data of an image scan (line-scan only)
Dropped image frame data (area-scan only)
Dropped image scan data (line-scan only)
Trigger to camera readout timeout
Camera readout timeout
Broken frame due to frame store overflow (area-scan only)
Frames never received. Cause unknown
Frames never sent by the camera
Frames delivered while there are still missing packets
Fatal error that terminated acquisition
Stream packet size error
Stream packet FIFO overflow
New trigger sent to remote device even though readout of previous frame has not started yet
Trigger ignored because ACK to previous trigger has not been received yet
Trigger packet resend not successful
Input stream FIFO half full
Input stream FIFO full
Image header error
MIG AXI write error
MIG AXI read error
Received a CXP packet with unexpected tag
Start of scan skipped (caused by internal exception: frame store almost full)
End of scan (caused by internal exception: frame store almost full)
External trigger requests too close together
Stream packet arbiter error
Value of EventSpecific for is a bitfield that can be interpreted according to the following definitions. Undocumented bits must be ignored
Cf. EVENT_SPECIFIC_CIC_DISCARDED_CIC_TRIGGER_FRAME_STORE_FULL
Cause: frame store is full
Cause: camera cycle not complete
Cause: maximum number of pending triggers already reached
Cause: data stream is not active
Value of EventSpecific for is a bitfield that can be interpreted according to the following definitions. Undocumented bits must be ignored
Cf. EVENT_SPECIFIC_CIC_PENDING_CIC_TRIGGER_FRAME_STORE_FULL
Cause: frame store is full
Cause: camera cycle not complete
Value of EventSpecific for is a bitfield that can be interpreted according to the following definitions. Undocumented bits must be ignored
Cause: software trigger
Cause: hardware trigger
Cause: DSStartAcquisition or end of previous scan
Value of EventSpecific for is a bitfield that can be interpreted according to the following definitions. Undocumented bits must be ignored
Cause: software trigger
Cause: hardware trigger
Cause: reached scan length
Cause: DSStopAcquisition
Cf. EVENT_SPECIFIC_DATASTREAM_END_OF_SCAN_FRAME_STORE_ALMOST_FULL
Cause: internal exception (frame store almost full)
Value of EventSpecific for is a bitfield that can be interpreted according to the following definitions. Undocumented bits must be ignored
Cf. EVENT_SPECIFIC_DATASTREAM_REJECTED_FRAME_FRAME_STORE_FULL
Cause: frame store is full
Cause: data stream is not active
Cause: frame store underwent overflow
Namespace of remote device events (EVENT_REMOTE_DEVICE)
Event custom remote device namespace genicam
Event custom remote device namespace coaxpress
Event custom remote device namespace device specific
This enumeration defines Euresys custom type of announced memory
Bus address is already mapped and translated
Default host memory
Device memory allocated for RDMA on a NVIDIA card
Euresys Image low-level C API
output pixels points to a ImageId
disable CPU optimizations such as SSSE3
select bayer decoding method 1 (3x3 interpolation, a.k.a. legacy method)
select bayer decoding method 2 (3x3 median-based interpolation, a.k.a. advanced method)
select bayer decoding method 3 (5x5 gradient-based interpolation)
select bayer decoding method 5 (2x2 average-based interpolation)
Image convert output config default
Image convert output config bayer advanced
Image convert output operation
default conversion output mode
apply 1X2YE line reordering operation
Image convert input extra
extra[0] optional pointer to input buffer size (size_t)
extra[1] optional pointer to input line pitch, mandatory for packed formats (size_t)
extra[2] reserved for future use, precondition: must be 0
extra[3] reserved for future use, precondition: must be 0
Genapi error code
No error
An unknown error occurred
<node> not found
<node> has no <interface> interface
<node> is read-only
<node> is write-only
<node> is not available
<node> is not implemented
<node> is locked
XML element <element> not found (<node>)
XML attribute <attribute> not found (<node>)
Port <port> not found (<node>)
Port <port> error (<node>: <message>)
Register too small (<node>)
Register length mismatch (<node>)
Invalid XML
Register description not found
Node type <nodeType> not implemented (<node>)
XML element <element> not supported (<node>)
Entry <enumEntry> not found (<node>)
Invalid boolean value <value> (<node>)
Invalid enumeration integer value <value> (<node>)
Invalid enumeration value <value> (<node>)
Entry <value> is not available (<node>)
Invalid node name (<name>)
Invalid selector (<node>)
Unknown property <property> (<node>)
Property <property> not defined (<node>)
Error while evaluating <node> (<message>)
Could not parse <value> (<node>)
Unknown value <value> while parsing <name> (<node>)
Cannot coerce <node> to integer
Cannot coerce <node> to float
Cannot coerce <node> to string
Cannot coerce <node> to boolean
Cannot coerce <node> to command
Cannot coerce <node> to enumeration
Cannot coerce <node> from integer
Cannot coerce <node> from float
Cannot coerce <node> from string
Cannot coerce <node> from boolean
Cannot coerce <node> from command
Cannot coerce <node> from enumeration
An unknown error occurred (<node>)
Invalid match syntax (<node>)
Invalid argument (<node>)
Unknown configuration (<name>)
Bad configuration type (<name>)
<node> cannot be smaller than <value>
<node> cannot be greater than <value>
<node> has invalid increment value <value>
<node> cannot be smaller than <value>
<node> cannot be greater than <value>
<node> not in line with increment value <value>
Variable already exists (<variable>)
Invalid variable name (<variable>)
Overflow in float-to-integer conversion of <value> (<node>)
An internal exception occurred (<message>)
An internal exception occurred (<node>: <message>)
<message> (<node>)
Maximum recursion depth exceeded
Genapi error parameter type
Genapi error parameter type string
Genapi error parameter type integer
Genapi error parameter type float
Genapi ui callback ret code
The host (user) completed the current UI operation successfully
The host (user) canceled the current UI operation
The UI operation is not implemented by the host
The host operation failed and the script should terminate
A Recorder object that encapsulates a recorder handle
(cf. RECORDER_HANDLE of the C/C++ interface)
and exposes higher level recorder functions; the destructor takes care of
closing the recorder when the object goes out of scope
Finalizer
Close the recorder using the given close mode
Recorder close mode
Close the recorder using the mode defined when the recorder was created
Set a recorder object parameter string value
The identifier of the parameter to set
The new string value of the parameter
Get a recorder object parameter string value
The identifier of the parameter to get
The parameter value
Set a recorder object parameter integer value
The identifier of the parameter to set
The new integer value of the parameter
Get a recorder object parameter integer value
The identifier of the parameter to get
The current integer value of the parameter
Set a recorder object parameter value
The parameter value type
- if T is an integer type or the bool type: the value will be converted to a long and the parameter will be set
- if T is the string type: the string parameter value will be set
The identifier of the parameter to set
The new value of the parameter
Using an unsupported type will throw an
Get a recorder object parameter value
The return value type
- if T is an integer type or the bool type: the long parameter value will be queried and converted to the return type
- if T is the string type: the string parameter value will be queried and returned
The identifier of the parameter to get
The current value of the parameter
Using an unsupported type will throw an
Read the record at the current RECORD_INDEX position from a recorder container opened in read mode
The function reads the buffer info and data of the record at the position defined by the parameter RECORD_INDEX
- When buffer is null: the recorder index is not changed
- When buffer is not null: the recorder index is automatically set to the next record after a successful read
Optional output buffer where record buffer data will be written
Size of output buffer
Record buffer info
- When buffer is null: record buffer size (cf. )
- When buffer is not null: size of read data
Read the record at the current RECORD_INDEX position from a recorder container opened in read mode
Note: the recorder index is automatically set to the next record after a successful read
Record buffer info
Record buffer data
Read metadata of the record at the current RECORD_INDEX position from a recorder container opened in read mode
Note: the recorder index is NOT automatically set to the next record after a successful read.
Record buffer metadata
Write buffer info and data to a recorder container opened in write or append mode
Note: the buffer info and data are written to the container at the current
RECORD_INDEX position;
the recorder index is automatically incremented by one after a write and the
RECORD_COUNT is also adapted accordingly
The buffer info to write to the container
The buffer data to write to the container
Write buffer info and data to a recorder container opened in write or append mode
Note: the buffer info and data are written to the container at the current
RECORD_INDEX position;
the recorder index is automatically incremented by one after a write and the
RECORD_COUNT is also adapted accordingly
The buffer info to write to the container
The buffer data to write to the container; if the
length is smaller than .size, an
will be thrown
Write an EGrabber buffer to a recorder container opened in write or append mode
The buffer info and data are written to the container at the current
RECORD_INDEX position;
the recorder index is automatically incremented by one after a write and the
RECORD_COUNT is also adapted accordingly
The buffer to write to the container (info commands will be queried to prepare the RecorderBufferInfo entry and to get the data pointer)
Optional user data (that will be set to RecorderBufferInfo.userdata)
Optional UTC timestamp (that will be set to RecorderBufferInfo.utc)
- if 0, read will return buffer timestamp converted to UTC using the synchronized timestamps of the buffer chapter
- if not 0, read will return the written value
The buffer info written to the container
Write an EGrabber scoped buffer to a recorder container opened in write or append mode
The buffer info and data are written to the container at the current
RECORD_INDEX position;
the recorder index is automatically incremented by one after a write and the
RECORD_COUNT is also adapted accordingly
The buffer to write to the container (info commands will be queried to prepare the RecorderBufferInfo entry and to get the data pointer)
Optional user data (that will be set to RecorderBufferInfo.userdata)
Optional UTC timestamp (that will be set to RecorderBufferInfo.utc)
- if 0, read will return buffer timestamp converted to UTC using the synchronized timestamps of the buffer chapter
- if not 0, read will return the written value
The buffer info written to the container
Export a range of recorded images to files. The container must be opened in read mode
Export starts at the current RECORD_INDEX
in the container and goes on until records have been exported or the
end of the container is reached, the RECORD_INDEX
is updated accordingly.
The destination can be either an actual path or a
template path containing place holder characters (please see the parameter description for details).
The output file format is automatically derived from the file extenion, which
can be
- .tiff or .tif for the TIFF file format
- .mkv for the Matroska MKV file format (using the V_UNCOMPRESSED codec)
If the path does not have an extension, an exception is thrown.
For TIFF files:
If is greater than 1 and path does not contain any @ pattern,
we add .@n before the file extension;
If a record contains more than one part and the path does not contain the @p pattern,
we add .@p before the file extension.
For MKV files:
The export operation creates one MKV file per chapter; if the export operation spans
several chapters, we add @.n automatically before the file extension.
The image width, height and pixel format must be constant for the entire file.
The first exported image is used to define these values.
A subsequent image with a different format will be simply skipped and the returned count will not be updated.
Timestamps increase monotonically; when a backward discontinuity is detected (i.e. the
relative time from the beginning of the file of the image to be
written is less than the relative time of the latest image written), a new time reference is taken.
Records containing Bayer formats are converted using the decoding method defined by the
parameter BAYER_DECODING_METHOD.
The following example will output 10 files (image0.tif, ..., image9.tif) if the container contains
at least 10 records (one part per record) from the current index:
recorder.Export("image@n.tif", 10);
The path template of the exported files. It can contain decorations starting with the character @, used as a place holders with the following meanings:
- @i for the index relative to the first record in the container
(number of digits used is defined by the number of records in the container)
- @n for the index relative to the current record written
(number of digits used is defined by the count parameter)
- @p for the part index relative to the record
(number of digits used is defined by the buffer part count of the record)
- @t for the timestamp value in of the exported record
- @c for the chapter index
- @C for the chapter name
- @@ for the literal @
All other @ patterns are invalid and will raise an InvalidArgument exception.
The number of records to export
The pixel format of the exported file; or 0 to disable image conversions and keep the original pixel format.
The allowed values depend on the file type
- TIFF file format: Mono8, Mono16, RGB8, RGB16
- MKV file format: Mono8, RGB8
The number of exported records.
Most of the times, a record contains one image (one buffer part) so the number of exported
images matches the number of exported records; but, if a record contains more than one part,
each part is exported as a separate image so the number of exported images will be greater
than the returned value.
Export a range of recorded images to files with progress information. The container must be opened in read mode
Please refer to the documentation of the method Export for the details.
The path template of the exported files
The number of records to export
The pixel format of the exported file
The progress callback that is called before exporting each buffer to inform about the progress
- if the callback returns true, the export continues with the next buffer;
- if the callback returns false, the export stops and raises the Aborted exception
Please note that the return value of the callback in the C++ API is an integer (the export continues as long as the callback
returns 0); In the .NET API, using a bool with the value true is more conventional to report a success or
to continue an operation.
progress context passed to progress callback
The number of exported records
Start a new chapter. The container must be in write mode.
A chapter helps grouping recordings and provides a synchronization point between system and UTC timestamps.
A chapter is automatically created if needed on the first write after opening the container if
this function has not been called.
The name of the automatically created chapter is Chapter<xx>
where <xx> is the index of the new chapter.
It is allowed to call this method at any time to signal a time discontinuity or start a new group
of recordings.
The newly created chapter becomes the current chapter and the RECORDER_CHAPTER_XXXX parameters
are updated accordingly.
When a chapter is created, a synchronized pair of system/UTC timestamps is captured and stored
in the storage as
CHAPTER_TIMESTAMP and CHAPTER_UTC;
the system time timestamp is expressed in nanoseconds since the computer booted.
When reading back from a container, the pair of synchronized timestamps of the corresponding chapter
is used internally
to compute the value of the (non-zero) utc field of a record
from the value of the (system) timestamp field.
Optional name of the new chapter. The name must comply with the following rules:
- It must match the regular expression [A-Za-z_][-A-Za-z0-9_ ]*
- Its length cannot exceed 255 characters
- It must be unique within the container
- It cannot be like a default chapter name (i.e. Chapter[0-9]+) unless it matches
the default name it would get automatically
Optional chapter user information
Close the recorder if needed
The container format version (cf. DATABASE_VERSION)
Buffer information for read and write operations
buffer size (in bytes)
buffer pitch in bytes (size of a line including padding)
buffer width (number of pixels in a line)
delivered height (e.g. BUFFER_INFO_DELIVERED_IMAGEHEIGHT)
buffer pixel format (GenICam PFNC 32-bit value)
fixed maximum number of parts in the buffer
buffer timestamp, expressed in nanoseconds since the computer booted (e.g. BUFFER_INFO_TIMESTAMP_NS)
any buffer specific user data
UTC timestamp (if 0 when written, read will return buffer timestamp converted to UTC using the synchronized timestamps of the buffer chapter)
chapter index; Chapter0 always exists for legacy recordings (set by the library)
size of each buffer part (if 0 when written, read will return (size / partCount)
The recorder library cannot be loaded due to a missing dependency
RecorderError base
Get the error status code (cf. )
The recorder library is not initialized
An unknown error has occurred
The recorder parameter is unknown
The recorder parameter type is invalid
The recorder parameter value is invalid
The destination buffer is too small
The recorder parameter is read-only
A system error has occurred
The specified container path is invalid
The container data file is full
The operation is not allowed by the recorder open mode
The RECORD_INDEX value is out of range
The internal meta-data of the current record is invalid (partial read)
The internal meta-data size of the container is invalid (partial read or invalid meta-data file size)
The given container is not supported by the recorder library
The internal meta-data header of the container is invalid
Some data was not completely written to disk (partial write)
The record handle is invalid
The resource is already in use
There is no more record to read in the container
The path does not contain a container and read-only access is required
A given argument is invalid
An error occurred in the license manager, please contact Euresys support
There is no valid license for this library, please contact Euresys support
An image conversion error has occurred
The image format is not supported by the export file
The current operation has been aborted by the user
A read operation returned an invalid size (partial read or invalid data file size)
The chapter name has an invalid character
The chapter name conflicts with a reserved name
The chapter name is already used
The chapter name is too long
A Recorder library object that loads and unloads the Recorder Library
Initialize the recorder library
Finalizer
Close the recorder library
Create a Recorder object
path to the recorder container to open
the operation mode of the recorder
specifies how the recorder container is closed
- if mode is TRIM, the recorder container is reduced to the smallest size that fits the container contents
- if mode is KEEP, the recorder container size is unchanged
- if the flag DONT_TRIM_CHAPTERS is added to the mode, the trailing chapters will be kept even if they are empty;
by default, trailing empty chapters are removed
The created object
EGrabber Recorder error codes
The operation completed successfully
The recorder library is not initialized
An unknown error has occurred
The recorder parameter is unknown
The recorder parameter type is invalid
The recorder parameter value is invalid
The destination buffer is too small
The recorder parameter is read-only
A system error has occurred
The specified container path is invalid
The container data file is full
The operation is not allowed by the recorder open mode
The RECORD_INDEX value is out of range
The internal meta-data of the current record is invalid (partial read)
The internal meta-data size of the container is invalid (partial read or invalid meta-data file size)
The given container is not supported by the recorder library
The internal meta-data header of the container is invalid
Some data was not completely written to disk (partial write)
The record handle is invalid
The resource is already in use
There is no more record to read in the container
The path does not contain a container and read only access is required
A given argument is invalid
An error occurred in the license manager, please contact Euresys support
There is no valid license for this library, please contact Euresys support
An image conversion error has occurred
The image format is not supported by the export file
The current operation has been aborted by the user
A read operation returned an invalid size (partial read or invalid data file size)
The chapter name has an invalid character
The chapter name conflicts with a reserved name
The chapter name is already used
The chapter name is too long
EGrabber Recorder parameters
Recorder library version
Recorder container size
Current recorder index position
Number of records in the recorder container
Space left on the same disk as the recorder container
Buffer alignment recommended for best write performance on recorder storage disk, changing the value should be done with extreme caution (set 0 for default value)
Format version of recorder container
Space left in the recorder container
Number of chapters in the container (read only)
Chapter selector
Index of record in the current chapter
Number of records in the current chapter (read only)
Chapter UTC time (UTC value of synchronized pair of timestamps for the current chapter, cf. RecorderStartChapter) (read only)
Chapter timestamp (system value of synchronized pair of timestamps for the current chapter, cf. Recorder.StartChapter) (read only)
Chapter name
Chapter user info
Decoding method to use when Bayer format is converted (default is METHOD_1)
Recorder library license status, cf.
Number of retries for partial I/O operations (read/write) before raising invalid data length errors (default is 1)
EGrabber Recorder open modes (cf. RecorderLibrary.OpenRecorder)
Open a new or an existing (to overwrite) recorder in write mode (record index set to 0)
Open an existing recorder in read mode (record index set to 0)
Open an existing recorder in append mode (record index set to record count)
EGrabber Recorder close modes (cf. Recorder.Close, RecorderLibrary.OpenRecorder)
Trim the recorder container size when closing the recorder
Keep the current recorder container size when closing the recorder
Keep the trailing chapters even if they are empty (can be combined with trim or keep)
EGrabber Recorder progress callback states
An operation is starting, index and count are not set
An operation is ongoing, index and count are set according to the current progress
An operation is ending (successfully or not), index and count are not set
EGrabber Recorder Bayer decoding methods
Bayer decoding disabled, content is interpreted as Mono
Bayer decoding method 1 (3x3 interpolation, a.k.a. legacy method)
Bayer decoding method 2 (3x3 median-based interpolation, a.k.a. advanced method)
Bayer decoding method 3 (5x5 gradient-based interpolation)
Bayer decoding method 5 (2x2 average-based interpolation)
GenICam PFNC 32-bit values (including Euresys Custom values)
Monochrome 1-bit packed
Monochrome 2-bit packed
Monochrome 4-bit packed
Monochrome 8-bit
Monochrome 8-bit signed
Monochrome 10-bit unpacked
Monochrome 10-bit packed
Monochrome 12-bit unpacked
Monochrome 12-bit packed
Monochrome 14-bit unpacked
Monochrome 14-bit packed
Monochrome 16-bit
Monochrome 32-bit
Bayer Blue-Green 4-bit packed
Bayer Blue-Green 8-bit
Bayer Blue-Green 10-bit unpacked
Bayer Blue-Green 10-bit packed
Bayer Blue-Green 12-bit unpacked
Bayer Blue-Green 12-bit packed
Bayer Blue-Green 14-bit
Bayer Blue-Green 14-bit packed
Bayer Blue-Green 16-bit
Bayer Green-Blue 4-bit packed
Bayer Green-Blue 8-bit
Bayer Green-Blue 10-bit unpacked
Bayer Green-Blue 10-bit packed
Bayer Green-Blue 12-bit unpacked
Bayer Green-Blue 12-bit packed
Bayer Green-Blue 14-bit
Bayer Green-Blue 14-bit packed
Bayer Green-Blue 16-bit
Bayer Green-Red 4-bit packed
Bayer Green-Red 8-bit
Bayer Green-Red 10-bit unpacked
Bayer Green-Red 10-bit packed
Bayer Green-Red 12-bit unpacked
Bayer Green-Red 12-bit packed
Bayer Green-Red 14-bit
Bayer Green-Red 14-bit packed
Bayer Green-Red 16-bit
Bayer Red-Green 4-bit packed
Bayer Red-Green 8-bit
Bayer Red-Green 10-bit unpacked
Bayer Red-Green 10-bit packed
Bayer Red-Green 12-bit unpacked
Bayer Red-Green 12-bit packed
Bayer Red-Green 14-bit
Bayer Red-Green 14-bit packed
Bayer Red-Green 16-bit
Red-Green-Blue-alpha 8-bit
Red-Green-Blue-alpha 10-bit unpacked
Red-Green-Blue-alpha 10-bit packed
Red-Green-Blue-alpha 12-bit unpacked
Red-Green-Blue-alpha 12-bit packed
Red-Green-Blue-alpha 14-bit unpacked
Red-Green-Blue-alpha 16-bit
Red-Green-Blue 8-bit
Red-Green-Blue 8-bit planar
Red-Green-Blue 10-bit unpacked
Red-Green-Blue 10-bit unpacked planar
Red-Green-Blue 10-bit packed
Red-Green-Blue 10-bit packed into 32-bit
Red-Green-Blue 12-bit unpacked
Red-Green-Blue 12-bit unpacked planar
Red-Green-Blue 12-bit packed
Red-Green-Blue 14-bit unpacked
Red-Green-Blue 16-bit
Red-Green-Blue 16-bit planar
Red-Green-Blue 5/6/5-bit packed
Blue-Green-Red-alpha 8-bit
Blue-Green-Red-alpha 10-bit unpacked
Blue-Green-Red-alpha 10-bit packed
Blue-Green-Red-alpha 12-bit unpacked
Blue-Green-Red-alpha 12-bit packed
Blue-Green-Red-alpha 14-bit unpacked
Blue-Green-Red-alpha 16-bit
Blue-Green-Red 8-bit
Blue-Green-Red 10-bit unpacked
Blue-Green-Red 10-bit packed
Blue-Green-Red 12-bit unpacked
Blue-Green-Red 12-bit packed
Blue-Green-Red 14-bit unpacked
Blue-Green-Red 16-bit
Blue-Green-Red 5/6/5-bit packed
Red 8-bit
Red 10-bit
Red 12-bit
Red 16-bit
Green 8-bit
Green 10-bit
Green 12-bit
Green 16-bit
Blue 8-bit
Blue 10-bit
Blue 12-bit
Blue 16-bit
3D coordinate A-B-C 8-bit
3D coordinate A-B-C 8-bit planar
3D coordinate A-B-C 10-bit packed
3D coordinate A-B-C 10-bit packed planar
3D coordinate A-B-C 12-bit packed
3D coordinate A-B-C 12-bit packed planar
3D coordinate A-B-C 16-bit
3D coordinate A-B-C 16-bit planar
3D coordinate A-B-C 32-bit floating point
3D coordinate A-B-C 32-bit floating point planar
3D coordinate A-C 8-bit
3D coordinate A-C 8-bit planar
3D coordinate A-C 10-bit packed
3D coordinate A-C 10-bit packed planar
3D coordinate A-C 12-bit packed
3D coordinate A-C 12-bit packed planar
3D coordinate A-C 16-bit
3D coordinate A-C 16-bit planar
3D coordinate A-C 32-bit floating point
3D coordinate A-C 32-bit floating point planar
3D coordinate A 8-bit
3D coordinate A 10-bit packed
3D coordinate A 12-bit packed
3D coordinate A 16-bit
3D coordinate A 32-bit floating point
3D coordinate B 8-bit
3D coordinate B 10-bit packed
3D coordinate B 12-bit packed
3D coordinate B 16-bit
3D coordinate B 32-bit floating point
3D coordinate C 8-bit
3D coordinate C 10-bit packed
3D coordinate C 12-bit packed
3D coordinate C 16-bit
3D coordinate C 32-bit floating point
Confidence 1-bit unpacked
Confidence 1-bit packed
Confidence 8-bit
Confidence 16-bit
Confidence 32-bit floating point
Bi-color Blue/Green - Red/Green 8-bit
Bi-color Blue/Green - Red/Green 10-bit unpacked
Bi-color Blue/Green - Red/Green 10-bit packed
Bi-color Blue/Green - Red/Green 12-bit unpacked
Bi-color Blue/Green - Red/Green 12-bit packed
Bi-color Red/Green - Blue/Green 8-bit
Bi-color Red/Green - Blue/Green 10-bit unpacked
Bi-color Red/Green - Blue/Green 10-bit packed
Bi-color Red/Green - Blue/Green 12-bit unpacked
Bi-color Red/Green - Blue/Green 12-bit packed
Sparse Color Filter #1 White-Blue-White-Green 8-bit
Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked
Sparse Color Filter #1 White-Blue-White-Green 10-bit packed
Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked
Sparse Color Filter #1 White-Blue-White-Green 12-bit packed
Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked
Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked
Sparse Color Filter #1 White-Green-White-Blue 8-bit
Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked
Sparse Color Filter #1 White-Green-White-Blue 10-bit packed
Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked
Sparse Color Filter #1 White-Green-White-Blue 12-bit packed
Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked
Sparse Color Filter #1 White-Green-White-Blue 16-bit
Sparse Color Filter #1 White-Green-White-Red 8-bit
Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked
Sparse Color Filter #1 White-Green-White-Red 10-bit packed
Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked
Sparse Color Filter #1 White-Green-White-Red 12-bit packed
Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked
Sparse Color Filter #1 White-Green-White-Red 16-bit
Sparse Color Filter #1 White-Red-White-Green 8-bit
Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked
Sparse Color Filter #1 White-Red-White-Green 10-bit packed
Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked
Sparse Color Filter #1 White-Red-White-Green 12-bit packed
Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked
Sparse Color Filter #1 White-Red-White-Green 16-bit
YCbCr 4:4:4 8-bit
YCbCr 4:4:4 8-bit
YCbCr 4:4:4 10-bit unpacked
YCbCr 4:4:4 10-bit packed
YCbCr 4:4:4 12-bit unpacked
YCbCr 4:4:4 12-bit packed
YCbCr 4:1:1 8-bit
YCbCr 4:1:1 8-bit
YCbCr 4:2:0 8-bit YY/CbCr Semiplanar
YCbCr 4:2:0 8-bit YY/CrCb Semiplanar
YCbCr 4:2:2 8-bit
YCbCr 4:2:2 8-bit
YCbCr 4:2:2 8-bit YY/CbCr Semiplanar
YCbCr 4:2:2 8-bit YY/CrCb Semiplanar
YCbCr 4:2:2 10-bit unpacked
YCbCr 4:2:2 10-bit unpacked
YCbCr 4:2:2 10-bit packed
YCbCr 4:2:2 10-bit packed
YCbCr 4:2:2 12-bit unpacked
YCbCr 4:2:2 12-bit unpacked
YCbCr 4:2:2 12-bit packed
YCbCr 4:2:2 12-bit packed
YCbCr 4:4:4 8-bit BT.601
YCbCr 4:4:4 10-bit unpacked BT.601
YCbCr 4:4:4 10-bit packed BT.601
YCbCr 4:4:4 12-bit unpacked BT.601
YCbCr 4:4:4 12-bit packed BT.601
YCbCr 4:1:1 8-bit BT.601
YCbCr 4:2:2 8-bit BT.601
YCbCr 4:2:2 8-bit BT.601
YCbCr 4:2:2 10-bit unpacked BT.601
YCbCr 4:2:2 10-bit unpacked BT.601
YCbCr 4:2:2 10-bit packed BT.601
YCbCr 4:2:2 10-bit packed BT.601
YCbCr 4:2:2 12-bit unpacked BT.601
YCbCr 4:2:2 12-bit unpacked BT.601
YCbCr 4:2:2 12-bit packed BT.601
YCbCr 4:2:2 12-bit packed BT.601
YCbCr 4:4:4 8-bit BT.709
YCbCr 4:4:4 10-bit unpacked BT.709
YCbCr 4:4:4 10-bit packed BT.709
YCbCr 4:4:4 12-bit unpacked BT.709
YCbCr 4:4:4 12-bit packed BT.709
YCbCr 4:1:1 8-bit BT.709
YCbCr 4:2:2 8-bit BT.709
YCbCr 4:2:2 8-bit BT.709
YCbCr 4:2:2 10-bit unpacked BT.709
YCbCr 4:2:2 10-bit unpacked BT.709
YCbCr 4:2:2 10-bit packed BT.709
YCbCr 4:2:2 10-bit packed BT.709
YCbCr 4:2:2 12-bit unpacked BT.709
YCbCr 4:2:2 12-bit unpacked BT.709
YCbCr 4:2:2 12-bit packed BT.709
YCbCr 4:2:2 12-bit packed BT.709
YCbCr 4:4:4 8-bit BT.2020
YCbCr 4:4:4 10-bit unpacked BT.2020
YCbCr 4:4:4 10-bit packed BT.2020
YCbCr 4:4:4 12-bit unpacked BT.2020
YCbCr 4:4:4 12-bit packed BT.2020
YCbCr 4:1:1 8-bit BT.2020
YCbCr 4:2:2 8-bit BT.2020
YCbCr 4:2:2 8-bit BT.2020
YCbCr 4:2:2 10-bit unpacked BT.2020
YCbCr 4:2:2 10-bit unpacked BT.2020
YCbCr 4:2:2 10-bit packed BT.2020
YCbCr 4:2:2 10-bit packed BT.2020
YCbCr 4:2:2 12-bit unpacked BT.2020
YCbCr 4:2:2 12-bit unpacked BT.2020
YCbCr 4:2:2 12-bit packed BT.2020
YCbCr 4:2:2 12-bit packed BT.2020
YUV 4:4:4 8-bit
YUV 4:1:1 8-bit
YUV 4:2:2 8-bit
YUV 4:2:2 8-bit
Bayer Green-Red 14-bit unpacked
Bayer Red-Green 14-bit unpacked
Bayer Green-Blue 14-bit unpacked
Bayer Blue-Green 14-bit unpacked
Red-Green-Blue 8-bit unpacked aligned to 32-bit
Blue-Green-Red 8-bit unpacked aligned to 32-bit
JPEG file interchange format
YUV 422 8 bit (Deprecated, use YUV422_8_UYVY)
CoaXPress PixelF 16-bit values
Bayer Blue-Green 8-bit
Bayer Blue-Green 10-bit msb packed
Bayer Blue-Green 12-bit msb packed
Bayer Blue-Green 14-bit msb packed
Bayer Blue-Green 16-bit
Bayer Green-Blue 8-bit
Bayer Green-Blue 10-bit msb packed
Bayer Green-Blue 12-bit msb packed
Bayer Green-Blue 14-bit msb packed
Bayer Green-Blue 16-bit
Bayer Green-Red 8-bit
Bayer Green-Red 10-bit msb packed
Bayer Green-Red 12-bit msb packed
Bayer Green-Red 14-bit msb packed
Bayer Green-Red 16-bit
Bayer Red-Green 8-bit
Bayer Red-Green 10-bit msb packed
Bayer Red-Green 12-bit msb packed
Bayer Red-Green 14-bit msb packed
Bayer Red-Green 16-bit
Monochrome 8-bit
Monochrome 10-bit msb packed
Monochrome 12-bit msb packed
Monochrome 14-bit msb packed
Monochrome 16-bit
Red-Green-Blue 8-bit
Red-Green-Blue 10-bit msb packed
Red-Green-Blue 12-bit msb packed
Red-Green-Blue 14-bit msb packed
Red-Green-Blue 16-bit
Red-Green-Blue-alpha 8-bit
Red-Green-Blue-alpha 10-bit msb packed
Red-Green-Blue-alpha 12-bit msb packed
Red-Green-Blue-alpha 14-bit msb packed
Red-Green-Blue-alpha 16-bit
YCbCr 4:1:1 8-bit BT.601
YCbCr 4:1:1 10-bit msb packed BT.601
YCbCr 4:1:1 12-bit msb packed BT.601
YCbCr 4:1:1 14-bit msb packed BT.601
YCbCr 4:1:1 16-bit BT.601
YCbCr 4:2:2 8-bit BT.601
YCbCr 4:2:2 10-bit msb packed BT.601
YCbCr 4:2:2 12-bit msb packed BT.601
YCbCr 4:2:2 14-bit msb packed BT.601
YCbCr 4:2:2 16-bit BT.601
YCbCr 4:4:4 8-bit BT.601
YCbCr 4:4:4 10-bit msb packed BT.601
YCbCr 4:4:4 12-bit msb packed BT.601
YCbCr 4:4:4 14-bit msb packed BT.601
YCbCr 4:4:4 16-bit BT.601
YCbCr 4:1:1 8-bit BT.709
YCbCr 4:1:1 10-bit msb packed BT.709
YCbCr 4:1:1 12-bit msb packed BT.709
YCbCr 4:1:1 14-bit msb packed BT.709
YCbCr 4:1:1 16-bit BT.709
YCbCr 4:2:2 8-bit BT.709
YCbCr 4:2:2 10-bit msb packed BT.709
YCbCr 4:2:2 12-bit msb packed BT.709
YCbCr 4:2:2 14-bit msb packed BT.709
YCbCr 4:2:2 16-bit BT.709
YCbCr 4:4:4 8-bit BT.709
YCbCr 4:4:4 10-bit msb packed BT.709
YCbCr 4:4:4 12-bit msb packed BT.709
YCbCr 4:4:4 14-bit msb packed BT.709
YCbCr 4:4:4 16-bit BT.709
YUV 4:1:1 8-bit
YUV 4:1:1 10-bit msb packed
YUV 4:1:1 12-bit msb packed
YUV 4:1:1 14-bit msb packed
YUV 4:1:1 16-bit
YUV 4:2:2 8-bit
YUV 4:2:2 10-bit msb packed
YUV 4:2:2 12-bit msb packed
YUV 4:2:2 14-bit msb packed
YUV 4:2:2 16-bit
YUV 4:4:4 8-bit
YUV 4:4:4 10-bit msb packed
YUV 4:4:4 12-bit msb packed
YUV 4:4:4 14-bit msb packed
YUV 4:4:4 16-bit