Common Vision Blox 15.0
Loading...
Searching...
No Matches
Release Notes 15.0


Following are the Release Notes for Common Vision Blox 15.00.xxx.

What's New

This release brings in new features to Code Reading, GenDC support for USB 3 Vision cameras and the GEV cameras via the GevFD filter driver on Windows, 2D lens calibration and undistortion, and improved logging and tracing via the use of the OpenTelemetry standard. The GevServer has been enhanced with GenDC support and a new Python scripting engine for rapid prototyping has been added.

New Code Reader library CVCodeReader.dll

  • Support for all common 1D and 2D codes
  • Supports single-pass detection multiple code types on one image
  • Detection of codes irrespective of position and rotation
  • High detection performance even in partially occluded or damaged codes

GEV Server with GenDC support CVGevServer.dll

  • API extension for GEV 3.0 and GenDC support
  • With versatile input formats for camera fusion
  • Separation of what to transport from how to transport it
  • Integrates a variety of input types and provides GEV standard compliant output
  • Support for single flow and multi flow GenDC streaming
  • Support for zero copy integration

Switch logging to OpenTelemetry format

  • Internal logging switched to OpenTelemetry format
  • Add API support for hooking into OpenTelemetry based logging
  • Add tools to configure and view OpenTelemetry logs

Support OpenTelemetry based tracing

  • Add API support for hooking into OpenTelemetry based tracing
  • Add performance tracing throughout CVB
  • Improve debugging capability within CVB

Scripting engine for prototyping

  • Python based engine for prototyping
  • Use python scripts in C++ and .NET applications
  • Integrates with CVBPy objects

2D Lens undistortion

  • API for lens distortion correction
  • Standard camera models supported
  • Integrates with common calibration procedures

Completely redesigned online docs

  • Seamless navigation
  • Use case oriented content structure
  • Better code examples

MockTL improvements

  • Support for loading images from file
  • Improved timing accuracy

Docker support for Linux guests

  • Ready for virtualization
  • Simplification of dependencies and isolation

Restructure linux packages

  • Core, tools, dev und ui packages
  • Focused installation script

GenDC support for USB TL

GenDC support for GevFD

RPM packages on request

Python API enhancements

  • Python later than 3.12 supported
  • New package structure and deployment
  • Rename wheel to cvbpy-<version>-none-any.whl

Breaking Changes and End-of-Life Information

CVBPy

  • CVB Python package renaming

Removals

Windows 32bit is not supported anymore.

  • all ActiveX controls
  • all compiled HTML help files (chm)
  • Manto
  • TextOut
  • DrawGraph
  • Barcode development
  • Windows Forms support
  • CUDA support for Shapefinder and Polarization

Announcements for Future Releases

The following components are planned to be removed in one of the next releases:

  • Movie2
  • Barcode runtime

Target Platforms and Available Installers

Target Platforms

x86/i686 x64/x64_64 armv7l aarch64
Current Windows X
Current Linux X X

The Common Vision Blox packages are available for the following platforms:

Component name Windows (64 bit) Linux
Image Manager & GenICam X X
Foundation Package (CVFoundation.dll) X
Arithmetic X X
CodeReader X X
CVC Blob X X
DNC X X
GEVServer X X
Metric X X
Minos X X
Movie X
Polarization X X
Polimago X X
ShapeFinder X X
TextOut X X

Available Installers

All installation packages are available for download from the CVB User Forum's download page: https://forum.commonvisionblox.com/c/downloads.

Windows Installer

For windows a full and runtime installer is available. The size of the installers and of the installed product differs between installer flavors as well as between system architectures and operating systems. The available installer flavors on Windows are:

Windows Installer
A Common Vision Blox CameraSuite Runtime
B Common Vision Blox CameraSuite
C Common Vision Blox Runtime
D Common Vision Blox
  • Flavors B and D come with developer resources (tutorials, reference documentation, header files) and are generally intended for development systems.
  • Flavors A and C contain files needed during runtime only and are therefore smaller than B and D. They are ideally suited for deployment in a system to be shipped to the factory floor as they do not burden the system they are installed on with things that are only of interest for developers.
  • Flavors A and B are CameraSuite installers, which means they will install the Image Manager plus GenICam (i.e. GigE Vision and USB3 Vision) support. They are intended for those customers who want to merely use Common Vision Blox as a versatile and robust image acquisition SDK. Common Vision Blox CameraSuite may be used free of charge with any GigE Vision or USB3 Vision camera bought from STEMMER IMAGING.
  • Flavors C and D contain the full set of tools available for the respective target platform and are the ones to be used while developing and/or deploying an application that utilizes the powerful algorithms in Common Vision Blox.

Linux Installer

Linux installers are available as Debian packages or as a compressed tarball.

Name Description
cvb-core-<version> Base installer with all the core components
cvb-dev-<version> All the core components plus development headers, facilities and sample programs
cvb-tools-<version> Tools libraries
cvb-ui-<version> All graphical user interface components

List of Changes

In the following changes are listed that were introduced since the last major release. Some of them already were previewed in one of the previous patch releases (14.01.00X).

Installers

  • Linux: Restructure and rename
  • SBOM: several disclaimers adapted to licenses
  • Adopt QT deployment

Wrappers:

CVB++

  • Change shapefinder position parameter in Learn function to integer
  • Add CVGevServer.dll wrapper for version 3 GevServer
  • Add wrapper for GenDCDescriptor
  • Add wrapper for CompressedPFNCBuffer
  • Add CVTelemetry.dll wrapper
  • Add CVCodeReader.dll wrapper
  • Add CVCore2D.dll wrapper (UndistortPointFilter, UndistortImageFilter)
  • Add qt path helpers for plugins and qml configs
  • Remove Qt doc tags from docs
  • Stable disclaimer creation for headers (licenses/copyright)
  • Fix in display for RGBA8
  • Fix double for lock single threaded scenarios when NotifyRefresh image is immediately executed in the same thread
  • Adopt metric API for new functions

CVB.NET

  • Adapt to new documentation
  • Add CVCore2D.dll wrapper (UndistortPointFilter, UndistortImageFilter)
  • Add CVTelemetry.dll wrapper (Stemmer.Cvb.Telemetry)
  • Add CVCodeReader.dll wrapper (Stemmer.Cvb.CodeReader)
  • Add CompressedPfncBuffer class for transporting compressed (e.g. JPEG) payload
  • Update function documentation for PointClouds
  • Transform function returns a SparsePointCloud
  • Fix namespace documentation
  • Remove outdated links
  • Samples and manuals links added in function documentation
  • Throw if outdated properties (Stream, DeviceImage)
  • Improve check "IsAccessToken"
  • Fix LabeledRectOverlay properties for text visualization
  • Fix AccessToken parsing
  • Remove all docs related to Windows Forms
  • Remove auxiliary wrappers (Stemmer.Cvb.Aux)
  • Remove win32 build
  • Use new transformation parameter estimation (rotation, scale, shear) for metric calibration

CVBPy

  • Add CVCore2D.dll wrapper (UndistortPointFilter, UndistortImageFilter)
  • Add CVCodeReader.dll wrapper
  • PointCloud Transform function returns SparsePointCloud
  • Add CompressedPFNCBuffer class
  • Change shapefinder position parameter in Learn function to integer
  • Add Python 3.12 onwards support (_311.pyd) due to a breaking change in stable ABI
  • Rename wheel
  • Add link dll based deployment
  • Introduce PySide6 support for after python 3.11
  • Integrate Metric API changes and wrap shear estimation

Image Manager

CVCDriver.dll

  • Add a serializable GenDC descriptor as a standalone object
  • Add the possibility to get prefetch descriptors from a stream
  • Add the possibility to get final descriptors from a composite
  • Fix special GevTL info requests
  • Fix buffer size calculation in function DOEntryGetInfoW

CVCImg.dll

  • Remove doxygen link to 'CVB' within documentation

CVCore.dll

  • Add interface exports for CompressedPFNCBuffer

Added: CVCore2D.dll

  • Add 2D point undistortion filter
  • Add 2D image undistortion filter

CVCore3d.dll

  • Rename intrinsic affine matrix to affine matrix
  • Add metric shear to calibration

CVGenApi.dll

  • Implement NGetAsRegisterData function
  • Prevent nodemap get node name function recursion

CVPyScript.dll added

  • Add CVPyScript.dll wrapper
  • Add support for Python scripting

CVGevServer.dll

  • Add GEV version 3 support
  • Add chunk nodes and streaming
  • Add GenDC support
  • Add telemetry traces/logs

GenICamBrowser.exe

  • Add telemetry traces/logs
  • Ensure that the splash screen closes before the help screen
  • Improve acquisition bandwidth calculation
  • Fix mac address handling
  • Remove unnecessary detached threads
  • Fix firmware updater dialog on linux systems
  • Remember last used paths in file save dialogs
  • Fix snap behavior leading to crashes
  • Fix image display model
  • Make GenICamBrowser GenDC capable
  • Include new firmware updater utility
  • Add possibility to prevent message box (for rpath filter on linux) in the future

CVTelemetry.dll added

  • OpenTelemetry compliant logging and tracing

CVOtelCol.exe added:

  • Executable for collecting telemetry data
  • Legacy logging redirected
  • File export possible
  • Support for traces export
  • Integration in LogGUI

LogGui.exe

  • Add support for CVOtelCol.exe

EditBindings.exe

  • Fix bug, if validate option is not set

CVPixFmtCnv.dll

  • Add RGBa8 to supported output formats

CVRTPStreaming.dll

  • Remove randomness in timestamp initialization

GenICam

CVFactory.dll

  • Add CVTelemetry logs and traces
  • Add compatibility for pfnc compresed buffers
  • Add function to get buffer size of a GenDC descriptor
  • Extend access to GenDC remaining descriptor properties
  • Fix crash when accessing invalid GenDC descriptor component header
  • Fix module nodemaps lifetime issues if the user releases modules
  • Secure multithreaded access to Interface
  • Improve memory allocation for internal objects
  • Introduce looser check for GenTL versions
  • Introduce a CVB_NO_XML_CACHE variable for fast changing XML files

CVRegistry.dll

  • Introduce a XML cache bypass mechanism

CVDeviceID.dll:

  • Add flexibility on embedded platforms

GenICam.vin

  • Add possibility to reload a device with different AccessToken parameters without unloading vin
  • Add functionality to be able to get a prefetch descriptor from stream and a final descriptor from composite
  • Fix event cookies deregistration
  • Fix VinStack 90-Degree ImageRotation option
  • Introduce CVTelemetry
  • Fix plane order for non-RGB alpha formats
  • Introduce compressed payload handling
  • Remove unnecessary vin unloading behavior preventing persistent settings
  • support invalid GenDC components
  • Fix chunk mode configuration
  • Allow for third party TLs to send GenDC payload without composite allocation
  • Fix snap behavior (one shot acquisition)
  • Implement GenDC Descriptor
  • Fix RDMA/GenDC camera recognition and control
  • Add Mono formats as possible image formats within 3D data (range map)
  • Add support for BiColor- and co-sited YCbCr formats
  • Add support for 2.5 D data
  • Add support for custom Mono64 format
  • Fix sync for concurrent active waits
  • Fix correct disabling of RDMA if device incompatible
  • Fix PFNC format conversion handling
  • Fix IPropertyChanged events not firing
  • Fix TurboDrive on Vin generation stack
  • Improve reporting of number of missing packets
  • Improve thread safety around GenAPI nodemap calls

GevTL.cti

  • Fix version check for GEV3
  • Fix MAC address representation
  • Remove previously introduced RDMA Upstream Configuration Register
  • Add correct buffer layout table read
  • Prevent internally thrown exceptions for info calls on hot path
  • Respect GEV packet size from device
  • Actually set stream enable bit to false when stopping rdma streaming

GevFD only

  • Support GenDC payload
  • Fix situation where active buffer was not revoked correctly
  • Fix situation where buffers were lost due to incorrect requeuing
  • Fix chunk recognition

GevSD only

  • Introduce buffer layout table defined buffer segments for RDMA
  • Fix size filled calculation reset
  • Implement GenDC sending for GevServer
  • Fix corrupt packet handling
  • Remove buffer info query exceptions
  • Modify RDMA local address
  • Fix GenDC single flow offset calculation
  • Introduce resend of a set of packets
  • Fix leader packet being ignored when no buffer present and blockID is newer than expected
  • Introduce passing OS errors to logging for RDMA
  • Respect send/receive buffer size for sockets
  • Fix issue with IsBufferComplete for corrupt buffers
  • Use correct port for RDMA
  • Fix multiple RDMA providers issue
  • Fix race conditions on Broadcom NICs

CVUSBTL.cti

  • Add GenDC support
  • Add Telemetry logging
  • Implement missing functionality from GenTL 1.6
  • Remove unnecessary exceptions on events
  • Improve payload alignment for large payload transfers

CVMockTL.cti

  • Add image file loading (mono, rgb, bayer) with configurable order
  • Improve performance through optimization of buffer initialization and sleep precision
  • Fix snap behavior
  • Introduce GenDC component payload type for JPEG compressed data
  • Fix payload size register value
  • Fix payload size computation for GenDC streaming

FWUpdater.exe

  • Add support for device discovery
  • Add –model and –devices options

Foundation Package and tools

CVMetric.dll

  • Implement shear estimation for calibration

CVPolarization

  • Remove CUDA implementation

Tools

SF.dll

  • Remove CUDA implementation

CVCodeReader.dll added

  • New library for high performance code reading

TeachBench.exe

  • Fix bug with Feature Selection Overlay classifying incorrectly on mouse wheel events

CVB Tutorials

CVB++

  • Add a GevServer speedtest
  • Add a code reader example
  • Cleanup documentation

CVBpy

  • Add code reader example

CVB.Net

  • Add code reader example