Benefits of Spinnaker¶
The Spinnaker SDK is developed based on GenICam, which provides a unified application programming interface for machine vision cameras.
Key Benefits¶
- Multi-language support — C++, C, C# (.NET), and Python APIs
- Cross-platform — Windows, Linux (Ubuntu), and macOS
- GenICam compliant — Standard camera configuration interface
- QuickSpin — Simplified property access for common operations
- Transport layer abstraction — Unified API across USB3 and GigE
- SpinView — Built-in camera viewer and configuration tool
- Comprehensive examples — Ready-to-use code for common tasks
Forward Compatibility¶
- Features are loaded dynamically from the camera. Take advantage of future camera features without having to recompile your application.
- New machine vision standards follow GenICam (USB3 Vision, GigE Vision). Spinnaker allows you to write more generic code that can be easily migrated to future standards.
- Follows SFNC (Standard Feature Naming Convention).
GUI Controls¶
There is a new class of GUI controls that allows you to add individual GUI elements to your applications.
Backwards Compatibility¶
- Source compatibility: Newer versions of Spinnaker will not require developers to change their existing code. You can simply recompile your application with a newer version of Spinnaker.
- Functional compatibility: Newer versions of Spinnaker will not remove any functional requirements.
- Binary compatibility: You can run C++ or C based applications by swapping new Spinnaker binaries (DLL) with the old binaries. (This only applies to Spinnaker binaries which have the same major and minor version.)
Spinnaker vs FlyCapture2 Support¶
The Spinnaker SDK is recommended for users developing new vision applications. Spinnaker provides many powerful features to streamline development. Users of USB 2.0 and IEEE 1394 cameras, or users requiring certain GPIO features, may still require FlyCapture2. The table below summarises the differences.
| Category | Feature | Spinnaker | FlyCapture2 |
|---|---|---|---|
| Feature Support | Feature Search | Yes | No |
| Feature Support | GenICam Compliant | Yes | No |
| Feature Support | Dynamic Feature Loading | Yes | No |
| Feature Support | Standard Feature Naming Convention (SFNC) | Yes | No |
| Feature Support | Serial on GPIO | Yes | Yes |
| Feature Support | PWM via GPIO | Yes | Yes |
| Camera Support | Blackfly S | Yes | No |
| Camera Support | Oryx | Yes | No |
| Camera Support | USB 3.1 Cameras (GS3-U3, BFLY-U3, CM3-U3, FL3-U3) | Yes | Yes |
| Camera Support | GigE Cameras (GS3-PGE, BFLY-PGE, FL3-GE) | Yes | Yes |
| Camera Support | USB 2.0 Cameras | No | Yes |
| Camera Support | IEEE 1394 Cameras | No | Yes |
| Camera Support | Ladybug (use the Ladybug SDK) | No | Yes |
| Camera Support | Bumblebee (use the Triclops SDK) | No | Yes |
| Platform Support | Windows | Yes | Yes |
| Platform Support | Linux | Yes | Yes |
| Platform Support | ARM | Yes | Yes |
| Platform Support | macOS | Yes | No |
For a detailed feature-by-feature API comparison, see FlyCapture2 Feature Comparison.