For programmers not familiar with GenICam API, you can take a look at EMVA's GenICam Standard.
Spinnaker re-engineered the way we perceived camera features in FlyCapture2. Camera features and properties are named according to standard feature naming convention (SFNC). The table below compares the Spinnaker SDK features with those in the FlyCapture2 SDK.
For example, IIDC register read and write is no longer available. Instead, camera properties are accessed through the GenICam node map.
FlyCapture2 Features | Spinnaker Features | Notes |
IIDC register read and write Source Code Example: |
GenICam node map get/set values Source Code Example: |
This feature is typically used to access camera settings or control the camera's state. |
Embedded image info Source Code Example: |
Chunk data Source Code Example: |
This feature allows the camera to add image metadata to the transmission. |
ImageEvents Source Code Example: |
GenICam message or event channel Source Code Example: |
This feature is used to signal the user when certain events such as image arrival has happened. |
FC2Config struct such as grab mode and num_buffer Source Code Example: |
Stream Node map Source Code Example: |
This feature can be used to set buffer mode and the number of buffers. |
Error return code Source Code Example: |
Exceptions Source Code Example: |
New error handling approach uses exceptions instead of error codes. |
Format7 packet size to control bandwidth Source Code Example: |
DeviceLinkLayerThroughputLimit | This feature defines the total available bandwidth that can be allocated for the camera. |
Imaging mode (i.e., Format7 mode 1) Source Code Example: |
Binning controls in GenICam | This feature refers to the camera's binning mode where overall resolution is reduced to achieve faster frame rate or brighter image. |
Events callback Source Code Example: |
Register event class with overloaded functions Source Code Example: |
This feature refers to bus event callbacks such as camera arrival and camera removal callback. |
GUID to identify and track cameras Source Code Example: |
Unique camera class Source Code Example: |
You must use this identifier to access camera features in the SDK. |
FlyCapture2 | Spinnaker | Notes |
Brightness | Black Level | Refers to the output of the camera when not illuminated |
Exposure | Exposure and Gain | Refers to the combination of camera's shutter and gain. This is also known as the average intensity of the image. |
Shutter | Exposure | Refers to the amount of time that the camera's electronic shutter stays open |
Packet Size | GevSCPSPacketSize | Refers to packet size, in bytes, to send on the selected channel for a GVSP transmitter or receiver |
Packet Delay | GevSCPD | Refers to the delay to insert between each packet for this stream channel |
Trigger Mode 0 | TriggerSelector→ FrameStartAcquisitionMode→Continuous | Refers to the mode where camera starts integration of light from external trigger source. Sensor exposure time is controlled by shutter (FlyCap2) or exposure (Spinnaker) |
Trigger Mode 1 | TriggerSelector→ ExposureActiveAcquisitionMode→Continuous | Same as Trigger Mode 0 above except sensor exposure time is controlled by external trigger source |
Trigger Mode X | Logic Block (Blackfly S only) | Refers to all other trigger modes supported by the camera. Logic Block allows you to define any internal logic, including custom trigger modes. For more information see Using Logic Blocks |
Memory Channel | User Set | Refers to storing camera settings onto non-volatile memory |
High Dynamic Range (HDR) | Sequencer (Blackfly S cameras) HDR (USB3 Vision cameras) |
Refers to the cycling of frames with different settings (such as gain and exposure) in order to capture the darkest and brightest portions of the image For more information see Using the Sequencer Feature |
Frame Buffer | Transfer Control | Refers to the transferring of image data to the host |
Video Mode | Image Format Control | Refers to controls that define binning/decimation and image size |
Mirror / Flip | Reverse X / Reverse Y | Refers to the flipping (either horizontally or vertically) of the image sent from the camera |
One Shot | Single Frame | Refers to the ability to fire a single hardware or software trigger and have the camera acquire one image |
Multi Shot | Multi Frame | Refers to the ability to fire a single hardware or software triggers and have the camera acquire a specified number of images |
Pulse Width Modulation (PWM) | Counters and Timers (Blackfly S only) | Refer to a GPIO pin outputting a specified number of pulses with programmable high an low duration. For more information see Using Counters and Timers |
The Spinnaker SDK is recommended for users developing new vision applications. Spinnaker provides users with many powerful features to streamline their development process. Users of USB 2.0 and IEE1394 cameras, or users looking for certain GPIO features, may still require FlyCapture2. The following table summarizes the differences between the features, cameras and platforms supported by Spinnaker and FlyCapture2.
Spinnaker | FlyCapture2 | ||
---|---|---|---|
Feature Support | Feature Search | Yes | No |
GenICam Compliant | Yes | No | |
Dynamic Feature Loading | Yes | No | |
Standard Feature Naming Convention | Yes | No | |
Serial on GPIO | No | Yes | |
PWM via GPIO | No | Yes | |
Camera Support | Blackfly S, Bumblebee X, Dragonfly S, Firefly, Forge, Oryx | Yes | No |
USB 3.1 Cameras: GS3-U3, BFLY-U3, CM3-U3, FL3-U3 | Yes | Yes | |
GigE Cameras: GS3-PGE, BFLY-PGE, FL3-GE | Yes | Yes | |
USB2.0 Cameras | No | Yes | |
IEEE 1394 Cameras | No | Yes | |
Ladybug (use the Ladybug SDK) | No | No | |
Bumblebee (use the Triclops SDK) | No | No | |
Platform Support | Windows | Yes | Yes |
Linux | Yes | Yes | |
Linux ARM | Yes | Yes | |
MacOS | Yes | Yes |