FlyCapture2 Feature Comparison with Spinnaker

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:
AsyncTriggerEx

GenICam node map get/set values

Source Code Example:
Acquisition

This feature is typically used to access camera settings or control the camera's state.

Embedded image info

Source Code Example:
MultipleCameraWriteToDiskEx

Chunk data

Source Code Example:
ChunkData

This feature allows the camera to add image metadata to the transmission.

ImageEvents

Source Code Example:
ImageEventEx

GenICam message or event channel

Source Code Example:
DeviceEvents

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:
RecordingDialog

Stream Node map

Source Code Example:
NodeMapInfo

This feature can be used to set buffer mode and the number of buffers.

Error return code

Source Code Example:
FlyCapture2Test

Exceptions

Source Code Example:
Acquisition

New error handling approach uses exceptions instead of error codes.

Format7 packet size to control bandwidth

Source Code Example:
GigEGrabEx

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:
CustomImageEx

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:
BusEventEx_CSharp

Register event class with overloaded functions

Source Code Example:
EnumerationEvents

This feature refers to bus event callbacks such as camera arrival and camera removal callback.

GUID to identify and track cameras

Source Code Example:
FlyCapture2Test

Unique camera class

Source Code Example:
Acquisition

You must use this identifier to access camera features in the SDK.

Terminology Changes

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

Differences between Spinnaker and FlyCapture2 Support

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