Examples
Framegrabber API Examples#
The project in the subdirectory SDKExamples/SimpleExample
is a starting point for a first project using the frame grabber library fglib5.
The subdirectory SDKExamples/GenICam
contains several projects to get started using the camera control library siso_genicam.
To get started using the image input/output library iolibrt, the subdirectory SDKExamples/SisoIoLib
provides one example project.
The subdirectory SDKExamples/Functionality
provides more in-depth examples for various topics of the frame grabber control library fglib5.
The following table gives an overview which examples are available and what these examples demonstrate:
Example Name | Description |
---|---|
CameraLink\ClSer | An example for using the Camera Link serial interface library clsersis.lib, which is used to communicate with a camera connected to a Camera Link frame grabber. |
Functionality\Acquisition_mode | This folder contains the examples for the acquisition modes ACQ_STANDARD , ACQ_BLOCK , and ACQ_SELECT with and without asynchronous procedure call. |
Functionality\Acquisition_mode\AcqAPCStandard | An example for the acquisition model ACQ_STANDARD with an APC handler to retrieve a frame index. |
Functionality\Acquisition_mode\AcqAPCBlock | An example for the acquisition model ACQ_BLOCK with an APC handler to retrieve FG_IMAGE_NUMBER via Fg_getParameterEx , and to unblock a buffer via Fg_setStatusEx |
Functionality\Acquisition_mode\AcqAPCSelect | An example for the acquisition model ACQ_SELECT with an APC handler for selecting the next buffer via Fg_setStatusEx . |
Functionality\Acquisition_mode\AcqStandard | An example for the acquisition model ACQ_STANDARD with a simple acquisition loop. |
Functionality\Acquisition_mode\AcqBlock | An example for the acquisition model ACQ_BLOCK with a simple acquisition loop. |
Functionality\Acquisition_mode\AcqSelect | An example for the acquisition model ACQ_SELECT with a simple acquisition loop. |
Functionality\Basic_Parametrization | An example for setting and getting parameters such as width , height , pixel format or alignment . |
Functionality\Configuration_file | This folder contains the examples for using microEnable Configuration Files (MCFs). |
Functionality\Configuration_file\ConfigFileInit | An example for initializing frame grabbers via parameters in an MCF file. |
Functionality\Configuration_file\ConfigFileLoad | An example for loading parameters from an MCF file for initialized frame grabber. |
Functionality\Data_Format | This folder contains the examples for several pixel formats. For mE5 Boards, the available data format depends on the selected applet. |
Functionality\Data_Format\Gray8 | An example for setting the pixel format FG_GRAY for the tap format FG_CL_SINGLETAP_8_BIT in a grayscale applet for a BASE camera. |
Functionality\Data_Format\Gray16 | An example for setting the pixel format FG_GRAY16 for the tap format FG_CL_SINGLETAP_16_BIT in a grayscale applet for a BASE camera. |
Functionality\Data_Format\MediumGray | An example for setting the pixel format FG_GRAY for the tap format FG_CL_MEDIUM_8_BIT in a grayscale applet for a MEDIUM camera. |
Functionality\Data_Format\MediumGray16 | An example for setting the pixel format FG_GRAY16 for the tap format FG_CL_MEDIUM_16_BIT in a grayscale (gray-16) applet for a MEDIUM camera. |
Functionality\Data_Format\MediumRGB24 | An example for setting the pixel format FG_COL24 for the tap format FG_CL_MEDIUM_RGB_30 in an RGB applet for a MEDIUM camera. |
Functionality\Data_Format\MediumRGB48 | An example for setting the pixel format FG_COL48 for the tap format FG_CL_MEDIUM_RGB_30 in an RGB applet for a MEDIUM camera. |
Functionality\Data_Format\RGB24 | An example for setting the pixel format FG_COL24 for the tap format FG_CL_MEDIUM_RGB_30 in an RGB (RGB36) applet for a MEDIUM camera. |
Functionality\Events | This folder contains the examples for the event subsystem. |
Functionality\Events\EventSubsystemAsync | An example for using the event subsystem with the asynchronous event interface. |
Functionality\Events\EventSubsystemSync | An example for using the event subsystem with the synchronous event interface. |
Functionality\Info | This folder contains the examples for several ways to retrieve frame and acquisition information. |
Functionality\Info\BoardInformation | An example for listing board type, board name and board serial. |
Functionality\Info\ImageTag | An example for retrieving image tag information for each image. |
Functionality\Info\SystemInfo | An example for retrieving system information, such as number of board, name, index, type, serial, status, PCI payload mode or versions of firmware and driver. |
Functionality\Info\TimeStamps | An example for retrieving time stamp and acquisition duration for each image. |
Functionality\KneeLut | This folder contains the examples for handling lookup tables. |
Functionality\KneeLut\KneeLutGray | An example for initializing and setting a gray value lookup table. |
Functionality\KneeLut\KneeLutGrayFile | An example for saving a single component KneeLUT to a file and for reading this file. |
Functionality\KneeLut\KneeLutRGB | An example for initializing and setting the RGB value lookup table. |
Functionality\KneeLut\KneeLutRGBFile | An example for saving a three component KneeLUT to a file and for reading this file. |
Functionality\MasterSlave | This folder contains the examples for interactions between master and slave processes accessing the same frame grabber. |
Functionality\MasterSlave\Master | An example for the frame grabber in master mode and for grabbing images in standard acquisition mode on port A. |
Functionality\MasterSlave\Slave | An example for the frame grabber in slave mode and for grabbing images in standard acquisition mode on port B. |
Functionality\Memory_management | This folder contains the examples for showing the differences of basic, advanced and flexible memory management. |
Functionality\Memory_management\AllocMem | An example for basic memory management which is only available in ACQ_STANDARD mode. |
Functionality\Memory_management\AllocMemEx | An example for advanced memory management which allocates one contiguous block of memory subdivided in equal frame buffers. |
Functionality\Memory_management\AllocUserMem | An example for flexible memory management which is similar to advanced mode, but offers dynamic memory allocation per buffer. |
Functionality\Operation_mode | This folder contains the examples for comparing several ways to trigger an acquisition from external and internal generators. |
Functionality\Operation_mode\AreaExternal | An example for acquisition of frames started from an external trigger source. |
Functionality\Operation_mode\AreaFreeRun | An example for acquisition started in free run, as fast as the camera can provide frames. |
Functionality\Operation_mode\AreaGrabberControl | An example for frame grabber-controlled acquisition, which means that the frame grabber actively requests frames from the camera. |
Functionality\Operation_mode\AreaSoftware | An example for acquisition of frames started from a software trigger. |
Functionality\Operation_mode\LineFreeRunImg | An example for acquisition started in free run, as fast as the camera can provide lines. |
Functionality\Operation_mode\LineGatedAsyncTriggerLine | An example for acquisition via external trigger controlled by a gated line trigger. |
Functionality\Operation_mode\LineGatedGrabberControlledLine | An example for acquisition via the frame grabber controlled by a gated line trigger. |
Functionality\Operation_mode\LineGrabberControlledLine | An example for acquisition via the frame grabber controlled by a line trigger. |
Functionality\Operation_mode\LineStartTriggerImage | An example for image acquisition started via an asynchronous external trigger. |
Functionality\Operation_mode\LineStartTriggerLine | An example for line acquisition started via an asynchronous external trigger. |
Functionality\Operation_mode\LineTriggerGatedImg | An example for image acquisition started via a gated asynchronous external trigger. |
Functionality\Operation_mode\LineTriggerGatedMultiBufferImg | An example for image multi buffer acquisition started via a gated asynchronous external trigger. |
Functionality\SensorReadout | An example for accessing various sensor readouts from the board. |
GenICam\BoardEvents | An example for receiving various GenICam events from the frame grabber during camera discovery, e.g., link speed. |
GenICam\CameraDiscovery | An example for reading GenICam information from the camera, e.g., vendor name or serial number. |
GenICam\ImageAcquisition | An example for GenICam-compliant configuration and acquisition. |
GenICam\UsingGenApi | An example for accessing the GenICam nodemap through GenApi. |
SDKWrapper\CSharpWrapper | This folder contains the examples for the C# Wrapper. |
SDKWrapper\CSharpWrapper\AcqAPC | An example in C# for defining an asynchronous procedure call and starting acquisition. |
SDKWrapper\CSharpWrapper\FgEvents | An example in C# for registering events. |
SDKWrapper\CSharpWrapper\MyFirstSDK | An example in C# for acquiring images via ACQ_STANDARD from the CameraSimulator. |
SDKWrapper\PythonWrapper | This folder contains the examples for the Python Wrapper. |
SDKWrapper\PythonWrapper\AcqAPC | An example in python for defining an asynchronous procedure call, iterate boards and applets and start acquisition. |
SDKWrapper\PythonWrapper\MyFirstSDK | An example in python for configuring and starting acquisition. |
SimpleExample | A small example for an ACQ_STANDARD acquisition. |
SisoIoLib | An example for loading and saving images using the iolibrt. |
GPUDIRECT | This folder contains the examples for interacting with NVIDIA GPUDirect for video. |
GPUDIRECT\cuda_example_cxp | An example for initializing the frame grabber via a GenICam and CUDA device to apply a fish-eye kernel. |
GPUDIRECT\simple_cuda_example | An example for initializing a CUDA device and frame grabber and announcing a buffer location via GDAnnounceCUDAArray . |