pylon Software Suite 26.09 Release Notes#
Binary Compatibility#
- Data Processing = 5.1.0
Applications built with earlier versions of the Data Processing are incompatible. - pylon C++ SDK = 12.0.0
Applications built with 12.0.x or earlier 12.x.x versions of the pylon C++ SDK are compatible. - pylon C SDK = 10.1.0
Applications built with 10.1.x or earlier 10.x.x versions of the pylon C SDK are compatible. - pylon .NET SDK = 9.0.0
Applications built with earlier versions of the pylon .NET SDK are incompatible.
New Features / Changes#
- GenTL/GigE: [368940] Added the 'Auto Packet Size' and 'Probe Packet Size' features to the data stream node map, matching the pylon GigE transport layer.
- GenTL/GigE: [368940] Added the 'Heartbeat Timeout' feature to the device node map, allowing the control channel heartbeat timeout to be inspected and changed at runtime.
- GenTL/USB: [369125] General security improvements
- pylon .NET SDK: [369125] The pylon .NET assemblies and samples now target .NET Framework 4.7.2 instead of .NET Framework 4.0. Applications using the pylon .NET API must target .NET Framework 4.7.2 or later.
- Camera Emulation: [362356] Added block ID generation to the pylon Camera Emulator stream grabber.
- Camera Emulation: [362356] Added event grabber support to the pylon Camera Emulator transport layer, supporting the ExposureEnd and Test events. Intended for testing and development purposes.
- pylon C++ SDK: [362356] Added an API extension to the CInstantCamera class for more control over camera event grabbing, including the ability to grab events in a separate thread and to receive them via a callback function.
- pylon C++ SDK: [367973] Added new GPU image processing samples based on Sobel filtering: a Vulkan sample available on all platforms and a CUDA sample available on Windows and Linux.
- General: [356845] Added Python pypylon samples and a README with guidance for getting started with pypylon.
- pylon .NET 5+ SDK: [366344] Improved GenDC support in GrabResult so image data access behaves consistently with previous versions.
- pylon .NET 5+ SDK: [369354] Added IDataContainer.GetFirstImageDataComponent() and TryGetFirstImageDataComponent() to retrieve the first matching image data component from a (GenDC) data container.
- pylon .NET 5+ SDK: [369354] Added zero-copy access to pixel data via IDataComponent.AsSpan()/AsReadOnlySpan() and a new DataSize property.
- pylon .NET 5+ SDK: [369354] Updated all grab samples to read image data through IDataContainer/IDataComponent so they work correctly with GenDC-enabled cameras as well as classic grab results.
- vTools: [368419] The Calibration Basic and Calibration Pro vTools now accept HALCON calibration plate description files with .cpd extension when selecting a custom calibration plate.
- vTools: [367744] Added the ReferencePointManual, ReferencePointRow, and ReferencePointColumn parameters to the node maps of the Geometric Pattern Matching Basic, Geometric Pattern Matching Pro, and Template Matching Basic vTools to allow manual definition of the reference point via the node map.
- vTools: [369588] Moved the Painter vTool from Experimental to Supporters in the vTools pane.
- vTools: [361368] In the Image Stitcher vTool, the value range of the Padding Value is now 0 to 255. For 16-bit images, the value specified is adjusted automatically (by a multiplication factor of 257).
- vTools: [362361] Renamed the Image Stitcher vTool to Image Concatenation vTool.
Corrections#
- GenTL/GigE: [368940] Fixed a use-after-free crash and corrected buffer identification to no longer rely on submission order when retrieving completed acquisition buffers.
- GenTL/GigE: [368940] Fixed device discovery so that cameras on a different subnet than the host are found again, matching the behavior of the pylon GigE transport layer.
- GenTL/GigE: [368940] Fixed the 'Type' stream grabber selector node reporting an empty/unmapped value instead of the driver actually used (e.g. GigE Accelerator on macOS).
- GigE: [370746] Improved the reliability of automatic packet size negotiation for GigE cameras. Only packet sizes supported by the camera are tried. If the negotiation fails, the streaming channel and packet size are restored correctly.
- GigE: [368940] Fixed the control channel command timeout being silently limited to 200 ms for the first (and, with LinkCommandRetryCount set to 0, only) attempt, regardless of the configured LinkCommandTimeout.
- pylon C++ SDK: [362356] Fixed the documentation of CCameraEventHandler::OnCameraEvent, which incorrectly stated that it is called outside the camera lock; it has always been called inside the camera lock.
- pylon .NET 5+ SDK: [364409] Fixed a memory leak that occurred when using the PixelDataConverter class.
- pylon .NET 5+ SDK: [369354] Fixed several lifetime and thread-safety issues: use-after-free/double-dispose on native object wrappers, out-of-bounds native memory access in IRawParameter.ReadRaw
/WriteRaw , GrabResult.Clone() sharing instead of copying state, a leaked GCHandle in FileAdapterStream.Write, a defeated duplicate-file-handle guard, AviVideoWriter.Dispose not releasing the native writer, and missing finalizers on Interface/VideoWriter causing a PylonLibrary reference-count leak. - pylon .NET 5+ SDK: [369354] Fixed native array allocation/ownership handling so native C++ arrays returned across the interop boundary are freed correctly, avoiding leaks and double-frees.
- pylon Viewer: [370057] Fixed an issue where the Get help links of camera features did not correctly redirect users to the corresponding feature topics in the Basler Product Documentation.
- pylon Viewer: [368631] Fixed an issue where the Fix Driver Installation link in the USB Configurator unnecessarily reinstalled the pylon USB3 Vision driver. It now rebinds an already installed pylon USB3 Vision driver to Basler USB3 Vision devices by restarting the USB Configurator with elevated privileges and automatically reassociating the correct driver.
- pylon Viewer: [368882] Fixed an issue where the camera selection in the Devices tree changed unexpectedly when enabling the Tile mode.
- vTools: [368685] Relative coordinates output from the Positions_px pin in the Geometric Pattern Matching Basic and Template Matching Basic vTools are now rounded to whole pixels.
- vTools: [289634] Fixed incorrect coordinate handling when using InverseTf input data in all Measurements Basic and Pro vTools. Before, regions weren't transformed properly. Now, they are transformed to the original input image coordinates.
- vTools: [363246] In the Array Element Iterator vTool, the StartIndex and EndIndex parameters are now only available if the IterationMode parameter is set to Range.
- vTools: [289634] Updated the recipes to apply InverseTf correctly, following the corrected coordinate handling in the Measurement Basic and Pro vTools.
Restrictions#
- pylon Viewer: Images grabbed by Stereo ace 2 cameras can't be displayed yet.
- pylon Viewer: On computers with an Intel HD graphics card, it may be necessary to update the graphics driver to the current version.
- pylon Viewer: Under certain circumstances, e.g., a very slow or busy computer, the Color Calibrator may not work if the camera has already been opened in the pylon Viewer. To prevent this, close the camera before using the Color Calibrator.
- pylon Viewer: The Color Calibrator does not support all Basler color cameras. Due to a different camera feature set, Basler dart and boost V cameras are not supported.
- pylon Viewer: A new image throttle has been implemented in the pylon Viewer to improve overall stability and performance. This introduces a new restriction which affects the video recording feature of the pylon Viewer. Allowing only 250 images per second and camera in the imaging pipeline limits the ability to record every frame when exceeding this limit.
- Workbench: The Statistics feature of the Workbench measures the execution times of vTools. The times measured in the Statistics feature may vary depending on the configuration of your system and the overall CPU load. This is so, because CPUs may run with different frequencies depending on the current load (e.g., due to dynamic frequency scaling).
- Workbench: Using multiple pin data views actively displaying data in the Workbench may cause an increase of the CPU load and degradation of the overall performance. Basler recommends using fewer pin data views whenever possible.
- 3D: Using Stereo ace 3D cameras requires the pylon Supplementary Package for Stereo ace to be installed. The pylon Supplementary Package for Stereo ace is available for download on the Basler website.
- 3D: Using Basler blaze 3D cameras requires the pylon Supplementary Package for blaze to be installed. The pylon Supplementary Package for blaze is available for download on the Basler website.
- 3D: Using Stereo mini 3D cameras requires the pylon Supplementary Package for Stereo mini to be installed. The pylon Supplementary Package for Stereo mini is available for download on the Basler website.
- MP4: MP4 video recording requires the pylon Supplementary Package for MPEG-4 to be installed in order to work. The pylon Supplementary Package for MPEG-4 is available for download on the Basler website.
- MP4: Recording of video files with cameras with resolutions of 20 MP or higher may fail, if the Quality parameter is set to 80 % or more. As a workaround, set the Quality parameter to a lower value.
- MP4: The Recording feature doesn't support the Compression Beyond feature in ace 2 Pro cameras. When recording is started and the Compression Beyond feature is enabled, the pylon Viewer first disables the Compression Beyond feature in the camera and then starts recording.
- USB: The Power Management used by the Intel USB host must be turned off since Basler U3V devices may get desynchronized. If this is the case, the Basler U3V devices may be not available after booting the system in some cases. Disable LPM packages on the USB3 bus with the following steps:
- Enable advanced settings by executing the following command:
powercfg -attributes 2a737441-1930-4402-8d77-b2bebba308a3 d4e98f31-5ffe- 4ce1-be31-1b38b384c009 -ATTRIB_HIDE - Change the LPM settings in the power options.
- Open the Power Options in the control panel.
- Click "Change plan settings" for the selected power plan.
- Click "Change advanced power settings".
- In the "Power Options" dialog on the "Advanced settings" tab, select "USB settings".
- Set "USB 3 Link Power Management" to "Off".
- Enable advanced settings by executing the following command:
- GenTL: Limited GenTL support for producers with GenTL version 1.4 and below.
- GigE: For optimum use of Basler's ace 2 5GigE and 1GigE cameras, Basler recommends using dual-channel DDR4-3600 RAM or better. Using slower RAM may cause buffer underruns and image loss. In addition, Basler recommends using the pylon GigE Configurator tool to optimize the complete setup.
- pylon C++ SDK: The InstantCameraArray classes can acquire images from a maximum of 21 cameras.
- GigE: Multiple IP configurations on a single network interface are not fully supported by the IP Configurator tool.
- GigE: In case the error message "Failed to allocate resources." has been reported, Basler recommends using the pylon GigE Configurator tool to optimize the IP configuration of NICs and cameras.
- pylon C++ SDK: Some ace 2 cameras may use a Boolean parameter instead of the usual enumeration for event notifications. The following code snippets can be used to work around this issue. For C++ you can use: CBooleanParameter(camera.GetNodeMap(), "EventNotification").TrySetValue(true); in addition to: camera.EventNotification.TrySetValue(EventNotification_On);
- pylon C++ SDK: Using Visual Studio 2017, you may get the MSB4211 warning. To remove the warning, specify the version of the Windows SDK in the Release and Debug project properties (Configuration Properties -> General -> Windows SDK Version).
- pylon C++ SDK: When building samples using CMake, you may run into a path length limitation of the operating system. You may get build errors stating the paths exceed the maximum path length of 260 characters. This may happen if the absolute path of your CMake build directory exceeds 80 characters. The build directory is the current working directory or the directory specified by the '-B' option when you call cmake. If you experience this error, use a build directory with a shorter path not exceeding 80 characters, i.e., directly in your user profile C:\Users\
\Samples. You can enable long paths on Windows 10, Version 1607, and later. See the Microsoft documentation for more information. - pylon C SDK: The pylon C API doesn't provide convenient functions to use GenDC and the Basler blaze 3D camera yet.
- pylon C SDK: For using the GenTL Consumer (e.g., with CoaXPress), additional functionality was added to pylon C to be able to start and stop streaming explicitly. This functionality has not been documented in the pylon C programmer's guide yet. Please refer to the pylon C++ programmer's guide (see chapter "Migrating from Previous Versions - Changes in the IStreamGrabber API") or the pylonC OverlappedGrab programming sample.
- pylon .NET SDK: Updating to this version of the .NET API requires you to update your .NET project files to reference the new assembly. This is required due to the VB2015 compatibility fix (interface class Basler.Pylon.IParameterListEnum was changed to ref class Basler.Pylon.ParameterListEnum).
- pylon .NET SDK: If native debugging is enabled for your .NET project and if your project is referencing pylon assemblies, the application may crash when running it under the Visual Studio 2012 or Visual Studio 2013 debugger. To avoid this issue, enable the Managed Compatibility mode in the Visual Studio Debugger options.
- vTools: If the recipe contains the Color Classifier vTool and one or more of the Region vTools (Region Morphology, Region Selection, Region Feature Extraction), the Blob Analysis Basic license is listed for purchase as well as the Color Blob Analysis Basic license.
- vTools: If a recipe contains the Measurements Basic vTool as well as one or more of the Measurements Pro vTools, the Measurements Basic license is listed for purchase as well as the Measurements Pro license.
Download#
You can download this version of the pylon Software Suite here.