pylon Software Suite 26.03 Release Notes#
Binary Compatibility#
- Data Processing = 4.1.2
Applications built with 4.1.x or earlier 4.x.x versions of the Data Processing are compatible. - pylon C++ SDK = 11.4.0
Applications built with 11.4.x or earlier 11.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#
- pylon Viewer: [349641] Added the block-based flat-field correction feature for supported cameras.
- pylon C++ SDK: [242242] Removed deprecated Basler Performance Driver.
- pylon C++ SDK: [344267] Improved the layout of the sample GUI used in the GUI_QtMultiCam sample.
- pylon C++ SDK: [333934] Added RGBA8 output format to image format converter.
- GigE: [356880] Improved GigE device discovery on systems with multiple network interfaces. Cameras available on multiple NICs are now enumerated correctly by pylon.
- GigE: [353458] Added the Intel(R) Network Connections Software, Release 30.5
- vTools: [338476] AI vTools can run multiple inference jobs in parallel to increase throughput. This feature is for advanced users; behavior and performance depend on your hardware and model architecture.
- CXP12-IC-1C: [none] Firmware files to upgrade IC1C to Static 1.2 P0
- vTools: [356573] Added the Complete Input Set synchronization mode to the Data Synchronizer vTool. This allows you, for example, to synchronize the output of cameras that are triggered simultaneously. You can also specify a timeout to cover cases where inputs are missing. On top of that, the commands Trigger and Discard Input Data have been added. The former allows you to trigger synchronization any time while the latter allows you to discard all currently held input data.
- vTools: [355384] The MiniScript vTool now stores the 'Filename' when saving a recipe. If a relative path is used, it is resolved based on the location of the recipe file.
- vTools: [351356] Added the Region Inverter vTool. This vTool inverts the input region, meaning that the output region includes all pixels that are not part of the input region.
Corrections#
- pylon Viewer: [354832] Fixed an issue where the Save Image feature stayed disabled after taking a single shot.
- pylon Viewer: [352230] Fixed an issue where the Recording feature did not work when using lines can cameras.
- Workbench: [354844] Fixed an issue where connections appeared unattached from input and output pins after loading a recipe.
- Workbench: [353962] Improved messages for camera assignment in the Terminal Pin Information area.
- GenTL/CXP: [347266] Fixed restore of LC_ALL locale environment variable within platform library.
- GenTL/CXP: [353004] Fixed an issue where invalid GenApi node names caused the generated GenTL Interface XML to be unloadable by GenApi. The generated XML now loads in GenApi even when applet filenames contain spaces or non-alphanumeric characters.
- GenTL/CXP: [352489] Fixed the link configuration view in microDisplayX and CXP camera properties-changed events are now properly sent to microDisplayX.
- GenTL/CXP: [351348] CXP discovery has been made more robust, especially for multi-link cameras. Fixed a timing issue where one or more slave links could be discovered slightly later than the master link in some system configurations.
- GenTL/CXP: [350617] Fixed CXP discovery in HAP files with gaps in port index resources, so that files with unassigned intermediate port indexes are now handled correctly.
- pylon C++ SDK: [353965] Fixed the calculation of the mean pixel value in the flat-field correction sample.
- GigE: [352234] Changed FrameRetention default value to 500 milliseconds to support cameras with maximum frame rates of 2 fps.
- GenTL/GigE: [267556] Fixed an issue where the return code of DsGetBufferChunkData was not GEV_ERR_NO_DATA when there was no chunck data available.
- Data Processing: [355946] Fixed an issue where using large images as teach parameters resulted in reduced performance.
- vTools: [356573] The Data Synchronizer vTool handles data with errors correctly now. Before, input data with an error status had been ignored.
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.
- pylon C++ SDK: If you download a file from a GigE camera using the GenICam File Access feature and if the file size is not divisible by 4, a file with 0 bytes is currently downloaded. This may cause issues, especially with calibration and configuration files containing user data (e.g., vignetting correction data, shading correction data, 3D data).
- 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.
- 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. - GenTL/GigE: The GenTL producer for GigE Vision does not support action commands.
- 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.
- CXP12-IC-1C: For linescan applets, ranges of line period and line exposure are not handled properly. The maximum values might be less than expected
- GenTL/CXP: The compilation is done now with Visual Studio 2022, which makes the installation of the Visual Studio 2022 redistributables necessary in order to load the libraries.
- GenTL/CXP: The actual buffer size limit is 2 Gbit, which consequently imposes a restriction on the permissible values for Width and Height in the producer and result in that the maximum size of image is 2GB.
- GenTL/CXP: The fps limit is from 50.000 fps to 90.000 depending on the number of buffers and image size. For more detailed approximate values, 10 buffers and a minimal image size of 48x1 give a limit of approximately 50,000 FPS, 50 buffers and a minimal image size of 48x1, a limit of about 90,000 FPS and 50 buffers and an image size of 8192x1 a limit of approximately 50,000 FPS.
- GenTL/CXP: When camera parameters are changed during image acquisition, the change isn't reflected in the frame grabber. This is because the GenTL Producer retrieves the relevant parameters (width, height, image format, etc.) before starting the acquisition and synchronizes these with the frame grabber.
- GenTL/CXP: According to the GenTL standard, the device ID should remain constant between two sessions. However, the GenTL device ID changes when the applet is changed. Therefore, the device ID can only be reused if the applet has the same name as the applet with which the device ID was generated.
- GenTL/CXP: If pylon and the Framegrabber SDK are both installed on your computer, Basler recommends to de-select the CXP option in the pylon installation. To avoid issues resulting from competing CXP-producers, either pylon or Framegrabber SDK should be responsible to operate the Basler frame grabbers and/or interface cards.
- GenTL/CXP: Using secure boot (UEFI mode) with Linux requires a driver that is signed with a trusted certificate. Since the driver is provided as source code, there is no way to sign it with a trusted Basler certificate. To work with the driver, secure boot can be disabled. Alternatively, the driver can be self-signed as described in this Ubuntu blog entry: https://ubuntu.com/blog/how-to-sign-things-for-secure-boot
- GenTL/CXP: When allocating buffers used for grabbing, the buffer address must be aligned to 8-byte increments. This is automatically the case, if you use heap memory.
- GenTL/CXP: Grabbing with very high frame rates above 50000 fps using the Basler CXP-12 Interface Card 1C is not supported.
- GenTL/CXP: In rare cases, the camera is not found after booting the computer. Power-cycle the camera to resolve this.
- GenTL/CXP: When the DeviceUserID of a camera is changed, a restart of the GenTL Producer is required for the change to be reflected via the GenTL API. When using a GUI to interact with the camera via GenTL (i.e., the pylon Viewer), a restart of that application is required for the change to become visible.
- GenTL/CXP: During an applet change, the cameras attached to an interface card are still displayed in the devices list even though they are not accessible anymore. An attempt to open a camera in this state leads to an error message.
- GenTL/CXP: The GenTL BUFFER_INFO_FRAME_ID, which can be queried via DSGetBufferInfo, doesn't contain the source tag from the CXP image header. Instead, it contains a counter for all frames that have been delivered to the computer.
- GenTL/CXP: If images are lost on the interface card due to a buffer overflow, e.g., when the user application doesn't (re)queue buffers fast enough to deliver the images, the images lost are indicated by the next delivered buffer. The lost images are marked as INCOMPLETE, their file size will be 0, and the custom error code BUFFER_INFO_BASLER_XAPI_ERROR_CODE is set to 42. Additionally, one lost frame is added to the stream info. Note that exactly one lost frame is added regardless of how many frames were lost due to the overflow.
- GenTL/CXP: The Basler CXP-12 Interface Card 1C/2C/4C and imaWorx CXP-12 Quad acquisition cards require a host interface with PCIe Gen 3 x8 (Direct Memory Access) or better. Using slower host interfaces may reduce the camera's acquisition frame rate and cause image loss.
- CXP12-IC-1C: When the CXP link speed is frequently changed on one port, it can happen that the speed change doesn't work anymore. In that case, the error messages "Failed to set bitrate of uplink transceivers" and "Failed to set bitrate of downlink transceivers" are logged. Since the camera discovery probes the unconnected ports and therefore changes their link speed, this issue can occur when an application frequently tries to discover new cameras on unconnected ports.
Download#
You can download this version of the pylon Software Suite here.