IC Imaging Control 4 SDK (IC4) - The Imaging Source's NEW Unified Software Environment for Image Processing Applications
The Imaging Source has evolved alongside advancements in image processing technology for over thirty years, developing increasingly sophisticated software for a diverse range of machine vision systems and integrators. This progression introduced complexities, necessitating a revamped software approach to ensure broader platform compatibility and comprehensive camera feature access. The introduction of IC Imaging Control 4 (IC4) marks The Imaging Source's strategic shift to a unified software environment, optimising cross-platform integration for industrial cameras using the GenICam GenTL standard. This blog post gives an overview of the changes and a link where you can find additional information on our IC Imaging Control 4 product page.
Overview of IC Imaging Control 4
- Native support for multiple programming languages (.NET, Python, C++, C) with unified API
- Fully GenICam-compliant, ensuring comprehensive camera feature utilization and enhanced interoperability with leading third-party software such as MATLAB and NeuroCheck
- Intuitive SDK for precise camera configuration and control with advanced features such as single image capture, sequential image acquisition, and video recording
- Variety of example programs available on GitHub
- Comprehensive support for Windows, with expanded compatibility for Linux x64 and ARM platforms in Q3 2024
Transitioning to IC Imaging Control 4
The API documentation includes transition guidance for users of previous versions of IC Imaging Control. However, immediate porting for existing projects using IC Control 3.x, is not necessary as previous versions will continue to be supported. New projects, especially those using GigE Vision and USB3 Vision cameras, should ideally be developed using IC4 for optimal functionality (e.g. advanced camera features) and future readiness.
Future development of IC4 is focused on continuous improvement and expansion:
- Initial Release (January 1, 2024): IC4, GenTL Producers for GigE Vision Cameras, USB3 Vision Cameras (beta), and Non-GenICam Cameras (beta)
- Q2 2024: Release GenTL Producer for USB3 Vision Cameras
- Q3 2024: Release Linux support
IC Imaging Control: What's New
IC Imaging Control 4 SDK (IC4) is The Imaging Source's unified software environment for improved cross-platform compatibility and integration of our industrial cameras. Allowing users access to the latest camera features without compatibility concerns, this comprehensive update leverages the GenICam GenTL standard.
Enhanced Compatibility: The IC4 SDK is fully GenICam GenTL compliant, providing full access to device settings and advanced camera features such as events and chunk data.
Versatile Device Drivers: The new device drivers (ic4-gentl-gigevision, ic4-gentl-usb3vision, and ic4-gentl-directshow) are available for use with IC Imaging Control 4. These drivers are not only compatible with our SDK, but are also designed to seamlessly integrate with third-party applications supporting GenICam GenTL, including popular third-party platforms such as MATLAB, and more.
Performance Optimisation: In contrast to version 3.5, the API has undergone a redesign aimed at facilitating high-performance acquisition tasks. This includes a reduction in unnecessary copy operations, ensuring efficiency in your workflow.
Native Language Support: The IC Imaging Control 4 SDK caters to a diverse range of developers with native support for the following programming languages: C++, .NET, Python, and C. While the SDK's structure functions identically between the supported languages, the SDK incorporates language-specific idioms where possible to maximize developer productivity.
Sample Programs: A selection of example programs is available at GitHub.
Real-Time Video Preview: IC Imaging Control allows for real-time preview of video streams even at the maximum-possible frame rates of the video device.
Multi-Stream Preview for Surveillance: IC Imaging Control SDK can also be used to simultaneously preview multiple video streams, making it suitable for surveillance applications.
Built-In Scrolling and Zooming: Images can be easily adjusted via built-in scrolling and zooming as needed to meet specific inspection requirements or to fill the entire screen or window.
Capture and Save Single Image Frames: Single image frames can be captured from a live video stream. Once acquired to the image buffer, the images may be saved as a BMP, TIFF, PNG or JPEG file.
Frame Queue Management: A number of frames can be acquired to image buffers which are organized as a queue. A software callback can be registered to be executed whenever a new buffer is filled.
Device Selection Dialog: IC Imaging Control provides a dialog box that allows the end user to select a video capture device. Video capture devices can be queried from program code for their settings in order to build customized dialog boxes. A complete dialog implementation is available as part of the example library.
GenICam Feature Manipulation: IC Imaging Control provides a dialog that allows you to manipulate all GenICam features of a video capture device.
Serial Number Retrieval: If supported by the video capture device, the device's serial number can be retrieved via IC Imaging Control and used as a dongle.
For more information, please see the following link: Imaging Control 4