Thorough Support of the GenICam Standard
The Simplon package was from the very beginning designed to be fully compatible with the recent machine vision standards, and especially with GenICam.
Simplon API encapsulates access to individual GenICam components into a uniform and stable interface. The user is not required to understand the complex principles behind the GenICam standard - these are handled "under the hood" and presented to the user in a simple and understandable API. No matter if connecting a CheckSight, PicSight or even other vendor's camera, the programming interface will be always the same.
Simplon detects the cameras available in the system and provides basic information about them. After connecting one or more cameras, it automatically retrieves the "feature tree" of the camera(s): full set of camera configuration features, including their relationships. The feature data types, limits and other properties are automatically recognized and (if needed) converted. It can notify the user, whenever a camera feature gets a new value.
In all cases, Simplon attempts to provide the natural default behavior, allowing the programmer to quickly prototype without worrying about possible complexities. However, wherever needed, Simplon provides access to all details of the camera control. The programmer thus can decide about the level of control suitable for his particular application.
Simplon takes advantage of the GenICam SFNC (Standard Features Naming Convention) standard. The SFNC standard defines standard names, types and other properties for many usual camera features. Thus, when working with a SFNC compatible camera, Simplon can automatically "understand" the its functionality. Note that all Leutron Vision cameras are strictly SFNC compatible.
The Simplon has a layered architecture with a clean cut between the hardware control components (Simplon GenTL Producer) and user interface (Simplon API). The two layers communicate through GenICam GenTL interface.
This modern open design guarantees interoperability with wide range of 3rd party image processing libraries and cameras.
The lower level layer is a full featured GenICam GenTL producer. This means that the Leutron Vision PicSight and CheckSight cameras automatically connect (plug&play) with any GenTL compatible software library. In the moment, this includes HALCON, ActivVisionTools, Common Vision Blox or OpenCV, other software vendors are planning the GenTL support in near future.
Note that Leutron Vision is one of the main driving forces behind the success of the GenTL standard.
The upper Simplon layer is a fully open GenTL consumer, allowing to connect with any 3rd party GenTL compatible camera. Simplon does not limit access to any 3rd party cameras, it always attempt to utilize their full functionality. This makes the Simplon suitable for mixed environments, where cameras of different vendors have to be used.
Of course, the level of compatibility might lessen if the camera implements the GenICam standards poorly.
GigE Vision Compliant Library
Simplon is officially certified as GigE Vision standard compliant software. The Simplon GenTL Producer's component controlling the PicSight-GigE/PicSight-Smart cameras is fully generic, capable to interface any GigE Vision compliant camera. It will exploit also the advanced camera functionality, such as chunk data or event data, if the camera supports it.
To offload the processor during the image acquisition, Simplon provides a GigE Vision filter driver. When the image data stream is processed by the regular network stack of the operating system, the image data delivery from the network card to the application buffers might consume significant amount of processor time. Filter driver plugs into the operating system's kernel, listening for the image data traffic before it ever reaches the network stack, delivering it directly to the application buffers. It thus eliminates the network processing overhead to minimum, saving the system resources for the actual application processing. All other (non-image) data are left intact - filter driver does not destroy other network communication.