Changelog¶
The Ensenso SDK follows semantic versioning. Breaking changes are listed in the upgrade notes. Minor releases are usually backwards compatible, but you should still review the upgrade notes for e.g. deprecation announcements.
See this page for a list of known issues in the current version of the SDK.
Note
Subscribe to the announcements category of the Ensenso community forum to get notified about new versions.
4.2.x¶
4.2.1821¶
NxLib: Fix a memory leak while
/Debug/Level
was set to"Off"
. [#5990]NxLib: Stereo cameras with color sensors now have separate white balance parameters for texture images. The existing white balance parameters only apply to the projector images.
NxLib: PartFinder: Fix a possible occurrence of
cudaErrorIllegalAddress
in theFind
function when CUDA was enabled. [#5996]NxLib: PartFinder: Fix a bug where model creation could fail with the message “Mismatch between masks and templates” when using
CropRegions
. [#5991]NxLib: ComputeDisparityMap/RectifyImages: Fix a bug where the command could use more threads than allowed. [#6013]
NxLib: ComputeDisparityMap: Fix a possible out of bounds access when using a very small AOI with SGM or correlation matcher. [#5970]
NxLib: SimulatePhysics: Fix a bug where the object pose was sometimes not updated correctly. [#5981]
Halcon: Fix an undefined symbol error when loading the Halcon interface library with newer Halcon versions on Jetson. [#5998]
The GUI tools now start correctly when there is an incompatible version of Qt in
$LD_LIBRARY_PATH
on Linux. [#5964]Various bugfixes for Engage.
4.2.1765¶
Highlights
This release ships a first version of Ensenso Engage - our new GUI for setting up and viewing Ensenso cameras. We will add more features in the next releases, but please try out the existing functionality and send us feedback.
PartFinder is now much easier to use and set up. See the details below.
The new ensenso-cli tool can configure IP addresses and update the firmware of cameras from the command line.
The Ensenso SDK can now be used from a self-contained archive file without any further installation.
Camera Parameters
An updated firmware for GigE Vision based N-series, S-series and X-series sensors improves the performance of setting parameters, especially when using multi exposure. [#5819]
The maximum exposure and gain allowed for automatic adjustment can now be limited. [#3240]
The maximum flash time for B- and C-series cameras was increased to 120ms. The previous limit of 10ms still applies to auto exposure by default to avoid issues with insufficient power supplies. See the illumination specification for more information. [#5532]
PartFinder
Substantial improvements to the PartFinder algorithm make it much easier to use and set up:
Simpler clustering: Collision boxes for clustering and overlap removal have been removed and reduced to a simple overlap percentage.
Less parameters for template generation: The parameters for in-plane template rotations and distance scaling of templates have been removed and will be generated automatically.
No need to choose refinement methods: The refinement method “Combined 2D/3D” has been optimized to give precise results without selecting between different methods.
Presets have been revised to reflect these simplifications and provide improved results in a wide variety of situations and part geometries.
Check out the revised first steps guide.
Detailed list of changes:
The clustering algorithm uses a new proximity measure based on the overlap fraction of 2D projections, see the new Cluster/Overlap parameter for the
Find
function. The old clustering based on the collision of scaled bounding boxes is deprecated but still supported. [#5623]The version of PartFinder model dumps is updated to
2.0.0
. This breaks compatibility with all previous model dumps. [#5623]A new non-parametric duplicate removal algorithm is used. The old duplicate removal based on collision of scaled bounding boxes is deprecated but still supported. [#5623]
Combined refinement uses multiple ICP iterations at each step. Standalone 3D refinement is now disabled by default. [#4533]
Add support for a CAD model crop regions, see CropRegions parameter.
Enhance approximate symmetry resolution, see ScoreRegions parameter. [#5722]
Increase the default hypothesis count limit from 20000 to 40000.
Decrease the default hypothesis score threshold from 0.7 to 0.5.
Removed DistanceRatio und InPlaneRotation parameters. The respective values will be generated automatically.
Other New Features
NxLib: With the new PointMap parameter, ComputeNormals can now compute normals for a point cloud transformed by
RenderPointMap
. See the guide on texturing point clouds for an example. [#4983]NxLib: A new unified tree structure for information about discovered, but not yet opened devices makes it easier to work with different camera models. This replaces some nodes, which are now deprecated. Please check the upgrade notes for details.
NxLib: Add new BoundingBox, Normals and PointCloud parameters to SaveModel [#5872, #5951]
NxLib: Improved automatic mode for rendering billboards in
RenderView
. Larger automatic size and size-limited scaling behaviour for close distances. [#5838]NxLib: Resolve two fold Euler rotation ambiguity by choosing the representation with the smallest sum of absolute values. [#5774]
.NET: Enable deterministic closing of Ensenso::NxLibDebugBlock via the dispose pattern.
NxProfiler: Save the entire file or only the selected portion to a new file. [#3845][#4941]
NxProfiler: Open files totaling 2GiB in size or larger.
Bugfixes
NxLib: File cameras from color sensors with hardware gamma now correctly save and restore their color information. Images loaded from file cameras which were saved with older versions can show incorrect colors. [#5848]
NxLib: Guarantee that the
ByEepromId
tree is up to date immediately after initializing the NxLib or changing an EEPROM ID. It could previously be necessary to wait for a short time before it was updated. [#5817]NxLib: Fix the user-defined initialization of camera and pattern pose in hand-eye calibration. [#5860]
.NET: Fix spurious bugs where string parameters to NxLib functions were garbage collected while still being used in the NxLib function. [#5770]
4.1.x¶
4.1.1033¶
NxLib: Add support for the new 96mm grid spacing calibration pattern. [#5668]
NxLib: Report an error from LoadCalibration when the offline calibration data on a device is corrupted. [#5739]
NxView: Fall back to downloading from the internet when offline calibration data is unavailable for a device. [#5739]
NxView: Fix a crash when opening a monocular camera after viewing a stereo camera. [#5696]
.NET: Add a missing finalizer method to clean up temporary command slots. [#5748]
Allow unsupervised installation of the Windows installer. [#5692]
4.1.1023¶
NxLib: Fix a bug where connecting to an X-series projector could fail when trying to open it immediately after the NxLib was initialized. [#5632]
NxLib: Fix a crash on CPUs which don’t support AVX2. [#5618]
NxLib: Fix PatchMatch2 stereo matching when MultiExposureFactor is enabled, but FlexView is disabled. [#5635]
NxLib: Fix a potential crash when the connection to a GigE Vision based camera is cut off. [#5664]
NxView: Fix a bug where calibrating the link of a C-series color camera could deteriorate its intrinsic calibration. [#5616]
4.1.976¶
Highlights
The new PatchMatch2 stereo matching method improves subpixel accuracy, spatial resolution and filtering of invalid pixels.
A new image enhancement pipeline improves the quality of texture images. It is available for monocular cameras and stereo camera texture images.
New Features
C-series: Add support for sensor AOI (requires firmware version 1.4).
NxLib: The new command SaveCameraModel exports a 3D model of the camera and its field of view for use in CAD construction. The export is also available in NxView. [#5162]
NxLib: PartFinder: The reference perspective can now be a monocular camera. This allows to use edges which are better visible in a color camera. [#5288]
NxLib: PartFinder: Add a new parameter ComplementViewpoints to the GenerateModel function, that allows to distribute model viewpoints over a band-like area. [#5409]
NxLib: ComputeTexture: When texture mode is enabled, the
ComputeTexture
command now rectifies raw texture images instead of computing a texture image from rectified images. This allows to use the command regardless of whether texture mode is enabled or not. [#5527]NxLib: RenderView: The size of points can now be computed automatically to achieve an opaque rendering at any depth. [#5429]
NxLib: RenderView: The new point cloud RenderingMode
Circles
reduces rendering artifacts on colored point clouds. [#5429]NxView: PartFinder: Draw coordinate system axes at the position of the origin of the CAD model. [#3229]
The Windows SDK is now available as a zip file. [#2483]
Bugfixes
NxLib: Fix unstable auto exposure for B-series and C-series cameras (requires firmware version 1.4).
NxLib: Fix handling of large file camera zip files. [#5495]
NxLib: Fix a bug where the binary format of a node could not be changed after a call to
nxLibSetBinaryDataFormatted
. [#5545]NxLib: PartFinder: Fix a bug where PartFinder models saved from a real camera could not be loaded with the corresponding file camera. [#5588]
Examples: Fix the NxView example so that it can be built again without errors. [#5493]
4.0.x¶
4.0.1526¶
NxLib: Add support for the new 96mm grid spacing calibration pattern. [#5668]
NxLib: Fix a bug where connecting to an X-series projector could fail when trying to open it immediately after the NxLib was initialized. [#5632]
NxLib: Fix a crash on CPUs which don’t support AVX2. [#5618]
NxLib: PartFinder: Fix a bug where PartFinder models saved from a real camera could not be loaded with the corresponding file camera. [#5588]
NxLib: Report an error from LoadCalibration when the offline calibration data on a device is corrupted. [#5739]
NxView: Fall back to downloading from the internet when offline calibration data is unavailable for a device. [#5739]
.NET: Add a missing finalizer method to clean up temporary command slots. [#5748]
4.0.1516¶
NxLib: Fix auto exposure for S-series cameras. [#5398] (00206137)
NxLib: Fix a bug that prevented loading of a settings file for a virtual camera when MultiExposureFactor was enabled. [#5399] (00206100)
NxLib: Fix an issue where opening a very large file camera from a zip file could delete the image data. [#5495]
NxLib: Fix file cameras with a single digit Flex View index in the image file names. [#5542]
NxLib: Correct the calibration tree for XR-series cameras. [#5382]
Python: Fix dimension order and handle color images in the set_binary_data_from_cv method. [#5477][#5511]
XR Firmware: Fix recalibration for cameras with large epipolar correction. [#5375]
NxView: Show the firmware version of C-series color sensors in the “Software Version Information” window. [#5415]
NxView: Show texture images of file cameras. [#5465]
NxCalTab: Fix a bug that prevented the assembly calibration window from opening. [#5317]
4.0.1502¶
NxLib: Fix a bug where NumberOfDisparities was clipped to a maximum of 256 even when the current matching method supports an infinite range. [#5356] (00205837)
NxLib: Fix the error message
Image capture canceled
instead of a normal capture timeout when retrieving an image after acquisition was canceled by execution of another command. This could occur in NxView when switching to the Tracking or Workspace Calibration tabs. [#5352] (00205819)NxLib: Fix a bug that could cause capture timeouts on some GigE Vision based cameras when the frame ID overflowed after capturing 65536 frames. [#5207] (00204900)
NxLib: Update X-series projector firmware to version 37 to fix incorrect FlexView sequence when using automatic texture capturing. [#5336]
NxLib: PartFinder: Fix incorrect false positives with high texture score when using combined refinement. [#5306]
NxLib: PartFinder: Fix incorrect random filtering of hypotheses when CUDA was enabled. [#5293]
NxLib: PartFinder: Fix a possible occurrence of
cudaErrorIllegalAddress
when CUDA was enabled. [#5304]NxLib: Fix a bug where the status of a newly opened camera was not updated in the tree when an XR-series device without sensors was present in the network.
NxLib: Fix issues when trying to use file cameras from S-series devices.
NxView: Fix a potential crash in the focus step of the calibration wizard.
NxCalTab: Add additional reference points to Ensenso patterns.
4.0.1486¶
Note
This is a major release and contains incompatible changes. Please review the upgrade notes for changes that might require updates to your usage of the API.
Highlights
Add support for B-series cameras.
Add functions for automatic capturing of texture images. See this guide for more information. Texture images can be used for visualization and can improve the PartFinder results.
Support for (WhiteBalance) on color cameras. [#4988]
New command SaveFileCamera to save the current camera state as a file camera. This command can also save multiple cameras to a single file.
New Features
Manual: Improved structure with a new main topic Getting Started to help new users to quickly find the most relevant information and an updated layout for better responsiveness on different devices.
NxView: Improved rendering performance while navigating in the 3D view.
NxView: Introduced new file extensions for different types of saved files instead of the generic .zip and .json files used before. Existing files are still compatible and can still be selected from NxView.
NxView: File cameras in .enscam files (the new default file extension when saving) can be opened directly from the file explorer.
NxLib: Image buffering is now supported with FlexView enabled. [#5118] (00204276)
NxLib: New command DistributeBandwidth to set up the bandwidth limit of cameras automatically. The bandwidth limit is also set up automatically by default when you open all cameras in a single Open command.
NxLib: The command EthernetConfiguration now enables DHCP for the
Auto
method when it is supported. [#3107]NxLib: The command ProjectPoints supports input points of any coordinate system via the (Pose) parameter.
NxLib: The command ConvertTransformation can now convert transformation to the format required by various robot manufacturers via the
SplitRotation
parameter. [#5085]NxLib: New function
"ReserveLicense"
for the PartFinder command.NxLib: Improved selection of calibration pattern obervations for calibration leads to more accurate calibration results.
NxLib: The original configuration of file cameras is now published in the tree. This can be used to load the original file camera parameters.
NxLib: File cameras preserve the position from which the data was originally captured now. See this topic for details.
NxLib: New C-API functions to wait for changes to NxLib items asynchronously.
NxLib: The intrinsic calibration applicable to the current raw images is published in the tree now under Monocular.
NxLibRemote: The function nxLibWriteDebugMessage can now be called from NxLibRemote.
Python: The operator
<<
of theNxLibItem
class now supports a variety of built-in types.Python: Add functions for easier handling of command execution errors. See the error handling guide for an example.
Bugfixes
NxLib: Fix X-series projector timeouts under Linux. Updating the firmware and opening the camera sometimes failed with packet timeouts. [#5023]
NxLib: Fix binning being applied twice when using RenderPointMap with a mono camera. [#4942] (00203081)
NxLib: UpdateFirmware now returns an error when the camera does not support firmware updates or no compatible firmware was specified. [#4893]
.NET: Fix the encoding of strings returned from the
AsJson
function. [#5168]
3.6.x¶
3.6.1631¶
NxLib: Add support for Ensenso patterns on 4mm glass.
NxLib: Fix X-series projector timeouts under Linux. Updating the firmware and opening the camera sometimes failed with packet timeouts. [#5023]
NxLib: Fix a bug that could cause capture timeouts on some GigE Vision based cameras when the frame ID overflowed after capturing 65536 frames. [#5207] (00204900)
NxLib: PartFinder: Fix incorrect false positives with high texture score when using combined refinement. [#5306]
NxLib: PartFinder: Fix incorrect random filtering of hypotheses when CUDA was enabled. [#5293]
NxLib: PartFinder: Fix a possible occurrence of
cudaErrorIllegalAddress
when CUDA was enabled. [#5304]NxView: Fix a potential crash in the focus step of the calibration wizard.
XR-Firmware: Fix recalibration for cameras with large epipolar correction. [#5375]
3.6.1621¶
C-series: Fix a bug where sometimes not all sensors could be detected after booting the device. Requires firmware 1.2.31. [#5029]
NxLib: Improve stability of pattern detection when (Refinement) is enabled. [#5038]
NxLib: Rendering commands return the error message when creating an OpenGL context failed. [#5091]
3.6.1617¶
PartFinder: Fix an out-of-bounds access when using CUDA. [#5017]
PartFinder: Improve matching of parts which cover a large portion of the camera’s field of view in at least one dimension.
NxLib: Fix a memory leak of ~5MB / hour on Windows. [#4995] (00203473)
NxLib: Reduce matching artifacts from the CUDA implementation of Patch Match. These could show as diagonal stripes in the disparity and point map. [#4842] (00202556)
NxLib: Fix a bug where RenderPointMap rendered the wrong resolution when rendering into a color camera with binning enabled. [#4942] (00203081)
3.6.1606¶
PartFinder: Improve estimation of final texture score [#4839].
PartFinder: Improve combining texture and coverage scores for the combined refinement [#4839].
TreeEdit: Fix display of RGBA images.
GUI Tools: Fix a bug which caused URL not to open in external browser [#4881].
NxLib: Fix a bug which caused the texture in RenderPointMap to be misaligned [#4925].
XR-series cameras now support the InternalPwm command.
XR-series cameras now support RisingEdge and FallingEdge trigger modes. [#4906]
3.6.1590¶
Highlights
The Ensenso SDK now includes a native .NET interface for the NxLib. It replaces the CLI interface, which is still shipped in this version. See the upgrade notes for details.
NxLib: Transformations can now be specified using Euler angles or the format of some common robot manufacturers.
C-series: Add support for binning and multi-exposure. Requires firmware 1.2.
PartFinder: Hypothesis search can now be computed on the GPU using CUDA. See the CUDA guide for more details.
New Features
NxLib: New methods for the C++ class NxLibCommand
NxLibCommand::executeAsync
NxLibCommand::wait
NxLibCommand::rememberParameters
NxLib: New methods for the C++ class NxLibException:
NxLibException::isCommandExecutionFailure
NxLibException::getCommandErrorSymbol
NxLibException::getCommandErrorText
NxLib: New command GetPresets for managing parameter presets. NxView uses this command for its stereo matching and PartFinder presets. You can use those presets in your own application as well as specify custom presets.
NxLib: The ProjectPattern command can now compute whether the projected pattern would be visible in the camera.
NxLib: CreateCamera gained the ability to create virtual monocular cameras [#3355].
NxLib: JSON parsing can now handle trailing commas.
PartFinder: Improved suppression of false positive hypotheses by separate handling of shadowed and shadowing areas in coverage score [#4614].
PartFinder: Improved convergence and accuracy of 3D refinement with look ahead to pass short local minima [#3581].
PartFinder: Better handling of large refinement motions by switching to closest template if necessary.
PartFinder: Improved precision of 2D position estimate in combined refinement by using closeness measure instead of hit/miss score for 2D features and smoothing over multiple nearby hypotheses [#3421].
PartFinder: Applied multithreading in data preparation for quicker Z-range estimation and application of ROI clipping.
NxView: Update the Qt libraries to version 5.
NxView: The camera selection window now has a search function.
NxView: Improve the distribution of parameters between advanced and non-advanced mode.
NxView: Update colors and styling of the 3D view.
NxView: Add a free navigation mode for the 3D view, which does not keep the alignment of the camera’s up direction with the world z axis. This mode is activated by default, but you can switch back to the aligned mode in the rendering settings.
Manual: Document the necessary firewall configuration for different types of cameras [#4799] (00202282).
Bugfixes
NxLib: Fix a potential leak of handles on Windows [#4745] (00202022).
NxLib: Disconnects of GigE Vision cameras and X-series projectors are detected much faster now. They could previously cause the NxLib to hang for a long time.
NxLib: Update model files for virtual cameras and PartFinder if the file changes outside of the NxLib [#4767] (00202092).
NxLib: PartFinder: Fix a crash when specifying non-inverted links for confirmation [#4582].
NxLib: PartFinder: Fix some problems when PartFinder returned too many results [#3209].
NxLib: Fix the bandwidth for disconnected network adapters on Windows [#3536].
NxLib: Correct the average distance between laser points for S-series camera in the GetModelInfo command [#4677] (00201241).
Python: Fix
StereoCamera.get_texture()
returning a non-existent node [#4551][#4803].NxView: Fix visualization of the fitted plane during plane calibration [#2877][#4769] (00202184).
NxView: Show the firmware version of C-series cameras in the version dialog.
NxView: Use the file extension from the selected filter when no file extension was specified while saving a file.
3.5.x¶
3.5.1419¶
NxLib: Fix multiple performance and thread synchronization issues hindering GigE Vision image data transfer [#3597][#4672][#4711][#4715][#4716] (00201245)
NxLib: Fix a crash when enabling the debug logging [#4618] (00201024)
NxLib: Fix PartFinder throwing exception on empty ROI [#4624]
C Firmware: Fix some issues causing sporadic or continuously missed software triggers [#4627][#4659]
Windows Installer: Upgrade supplied MSVC redistributables to current version [#4522]
3.5.1394¶
NxLib: Update the X-series projector firmware to version 36
Better handling of bus error conditions
Fix brightness fluctuations when using InternalPwm (SDK-3438)
NxLib: Update the S-series projector firmware to version 16
NxLib: Fix various issues that could occur while updating the projector firmware of N-series and S-series cameras
NxLib: Add the maximum transmission unit node for N31/N36/N41/N46 cameras
NxLib: Fix an issue where S-series devices were flagged as uncalibrated after closing them (SDK-3563) [00199582]
NxLib: Fix an issue where S-series devices were not starting to pre-heat the laser projector before getting opened
NxLib: Fix a potential crash that could occur when launching the NxLib in a debugger or a .NET application on Windows (SDK-3607) [00199852] [00200045]
NxLib: Add back support for the PGM file format in the LoadImage command, which was accidentally removed in version 3.5.1375 (SDK-3566) [00199585]
NxLib: Fix an issue when trying to save Part Finder models with some specific parameter values (SDK-3571) [00199627]
NxLib: Fix the text position when generating overlay images for contrast measurement; this fixes some display issues and a potential crash in the NxView calibration wizard
NxLib: Fix a bug where the RenderPointMap command failed when the
Camera
parameter was set to a serial number that was not present in theCameras
parameter (SDK-3639) [00199970]Windows Installer: Fix an issue where the Windows installer did not update the MSVC redistributables while updating the SDK installation (SDK-4522) [00200590]
XR Firmware: Fix some regressions that slowed down acquisition of the first frame for XR-series cameras
Manual: Document that the NxLib requires a CPU with SSE4.1 and the POPCNT instruction; this was the case since SDK version 3.0, but was not documented correctly (SDK-3539) [00199012]
3.5.1375¶
New Features
Add support for C-series cameras
NxLib: Rendering on Linux now works on headless machines and no longer needs a running X server. See the OpenGL guide for more information
NxLib: Improve number formatting of the nxLibGetJson function. See the upgrade notes for details
NxLib: PartFinder: Add support for discrete part symmetries
Add index numbers to assembly patterns (SDK-3473) [00198626]
Bugfixes
NxLib: Improve reliability of GigE Vision image acquisition with packet loss
NxLib: Restore the GPIO state of GigE Vision based cameras when reconnecting after a momentary connection or power loss (SDK-3370) [00197525]
NxLib: Fix XR-series cameras being shown as a projector instead of a stereo camera when connection to the device failed for a short time (SDK-3281) [00196062]
NxView: Fix a bug where NxView could accidentally limit the depth range for S-series cameras (SDK-3232) [00195313]
3.4.x¶
3.4.743¶
Update X-series projector application firmware to 33 with 2.5G interface compatibility changes
Update S-series projector application firmware to 15 for compatiblity with newer hardware revisions
Update N-series projector application firmware to 11 with reduced front light duty cycle on Rev.2 and GigE Vision based devices
Update GigE Vision firmware for IDS cameras to version 2.10.14871 or 3.1.18328 (depending on the model) for compatibility with newer hardware revisions
NxLib: Fix a bug where GigE Vision devices in the network which are not supported by the NxLib were opened repeatedly in the background (SDK-3344) [00197124]
Python: Fix a bug where
NxLibCommand
objects did not destroy their temporary slot in the NxLib when going out of scope (SDK-3327) [00196868]
3.4.715¶
New Features
Add support for N31/N36/N41/N46 cameras
Add support for link-local IP addresses for X-series, S-series and N31/N36/N41/N46
NxLib: Support control of all available GPIO lines for mono cameras through the NxLib tree
NxLib: Show device MAC addresses in the tree
NxLib: New commands ProjectPoints/ReprojectPoints
Bugfixes
Improve handling of disconnects for uEye-based cameras (SDK-3086) [00192899]
NxLib: Fix errors when the device IP configuration changes during GigE Vision firmware updates
NxView: Fix possible error messages when manually entering the grid spacing for recalibration (SDK-3100) [00193366]
3.3.x¶
3.3.1417¶
Fix: NxLib: Fix a memory leak when using CUDA on Linux
Fix: NxLib: Fix a possible segmentation fault when executing cmdRectifyImages with CUDA (SDK-3152)
Fix: XR Firmware: Fix caching of rectification maps
3.3.1385¶
New Features
Python: The NxLib Python interface is now included in the installation of the Ensenso SDK. See this page for instructions on how to install and use it. Compared to the last version on GitHub the interface also contains some new examples and context manager based API functions.
NxLib: PartFinder: Add support for S-series cameras.
NxLib: PartFinder: Add support for combined 2d/3d pose refinement to better use image texture.
NxLib: PartFinder: Add hypothesis clustering to speed up refinement.
NxLib: Ship
nxLibDynamic.h
with functions for loading the NxLib or NxLibRemote dynamically. See thenxListCamsLibDynamic
example for a starting point.NxLib: Implement RenderPointMap with software rendering for S-series cameras (SDK-2938) [00191343].
NxLib: Add new firmware version 30 for X-series projectors in preparation for upcoming hardware revisions.
Halcon: Add a Halcon XL version of the Halcon interface (SDK-2756) [00189135].
NxView: The calibration wizard now discards observations while the pattern moves too fast in stereo and mono calibrations. This can result in better calibrations when using long exposures.
NxView: Add downloading of S-series factory calibrations from the calibration wizard.
NxTreeEdit: Various improvements for displaying images in NxTreeEdit.
Examples: Update examples with support for S-series cameras and various other improvements (SDK-2759) [00189190].
Bugfixes
NxLib: Fix high CPU usage on Windows while the NxLib is idle (SDK-2800) [00189770].
NxLib: Fix a possible capture timeout when triggering a GigE Vision based device immediately after opening it on Windows (SDK-2773) [00189139].
NxLib: Fix a possible infinite loop during initialization of the NxLib when there are unknown GigE Vision devices in the network (SDK-2732) [00188715].
NxLib: Fix the behavior of multiple executions of Retrieve after a single trigger with FlexView on X-series cameras. Previously the second Retrieve would immediately return successfully. It now waits for the next trigger.
NxLib: Make the CUDA versions of SGM and correlation matcher deterministic (SDK-2864) [00190636].
NxLib: Fix a bug where data computed by CUDA was sometimes not refreshed after the process called
fork()
on Linux.NxLib: Remove an erroneous warning about low bandwidth for X-series projectors with an old bootloader version (SDK-2656) [00187598].
NxLib: Fix enabling of DHCP on GigE Vision devices via broadcast when the device does not have a valid IP configuration yet.
NxLib: PartFinder: Fix matching with AOI on XR-series devices.
NxLib: Fix a possible underexposure of the last images in a flex view capture if the sum of exposures exceeds the maximum projector flash time by up to 50% (SDK-2927) [00191250].
NxLib: Fix an error when initializing the NxLib without the
ENSENSO_INSTALL
environment variable being set (SDK-2938) [00191343].NxView: Fix some cases where Ensenso patterns were not detected during projector focus.
NxView: Show complete image of RGB cameras in the rendered projection view instead of only the parts for which there is 3D data (SDK-2577) [00186774].
3.2.x¶
3.2.489¶
Add: NxLib: Add experimental support for uEye driver 4.95 (SDK-2563)
Fix: NxLib: Fix a bug where the NxLib tried to set an invalid AOI on uEye based cameras (SDK-2593)
Fix: NxLib: Fix swapped x and z channels in exported PCD files (SDK-2646) [00187414]
3.2.360¶
Add: NxLib: Add support for S-series cameras. See the S-series operation guide for more information on the API of these devices
Add: NxLib: Add support for Patch Match on XR-series cameras, see the XR-series operation guide for limitations
Add: NxView: The calibration wizard can now discard observation while the calibration pattern moves. This can result in more precise link calibrations without hardware trigger (SDK-1806)
Fix: NxLib: Various performance improvements and small bugfixes for the PartFinder command
3.1.x¶
3.1.996¶
Fix: NxLib: Fix a possible crash when closing X-series cameras with GigE Vision sensors (SDK-2597) [00187091]
Fix: NxLib: Fix a bug where valid disparity values inside of the AOI could erroneously be discarded when padding was enabled (SDK-2608) [00186215]
3.1.985¶
Fix: NxLib: Fix loading/saving of 4-channel images (SDK-2405)
Fix: NxLib: Fix bug for XR cameras where small ShadowingThreshold changes are not correctly updated (SDK-2469)
Fix: NxLib: Fix error occurring when all pixels are invalid during disparity map computation (SDK-2477) [00185670]
Fix: NxLib: Fix process not terminating when loosing connection to GV cameras (SDK-2520) [00185673]
Fix: NxLib: Fix a possible crash when capturing with UEye cameras (SDK-2433) [00185035]
3.1.979¶
Fix: NxLib: Add support for GV-5240 cameras (SDK-2460) (SDK-2519) [00185425]
Fix: NxLib: Fix invalid allocation when using median filter with radius > 2 on a disparity map that is completely empty (SDK-2477) [00185670]
3.1.803¶
Fix: NxLib: Enlarged packet buffer in X-series firmware 29 to reduce packet loss of multiple synchronous broadcast packets (SDK-2354) (SDK-2308) [00183759]
Fix: NxLib: RenderPointMap used inconsistent shadowing behaviour projection between CPU und OpenGL implementation (SDK-2351)
3.1.702¶
Add: NxLib: Added the PartFinder command to search for CAD models, see this guide to get started with PartFinder
Add: NxLib: Add support for 5MP sensors on XR-series cameras
Add: NxLib: Added support for Wi-Fi on XR-series cameras (region restrictions apply)
Add: NxLib: Implement support for PWM output on GigE Vision based X-series cameras (SDK-429) [047567]
Add: NxLib: Add the CorrespondenceThreshold parameter to allow better filtering of depth data in some situations (SDK-2206) [063241]
Add: NxLib: Add the ClipToAreaOfInterest parameter to clip depth data to the specified AOI (SDK-1971) [061704]
Add: NxLib: Add the EnforceDisparityRange parameter for limiting the matched depth range with PatchMatch (SDK-1971) [061704]
Add: NxLib/NxView: Add the (BandwidthLimit) parameter for the Open command, which automatically adjusts the bandwidth limit of the opened devices (SDK-2194) [061570]
Fix: NxLib: Fix bugs that could crash the NxLib, e.g. when opening multiple cameras in parallel (SDK-2170) (SDK-2223) [063436]
Fix: NxLib: Fix some cases where PatchMatch parameters were not loaded correctly from JSON files when automatic was disabled (SDK-2134)
Fix: NxLib: Fix the used value of the PatchMatch window radius parameter with automatic disabled and CUDA enabled (SDK-2016)
Fix: NxLib: Improve handling of multi-exposure images in the correlation matcher, which can improve data coverage for extreme lighting conditions (SDK-2139) [062688]
Fix: NxLib: Fix a bug where the point refinement could make detected pattern positions less accurate for very small pattern observations (SDK-1945)
Fix: NxLib: Fix computation of the pixel size shown in the tree for some corner cases where the matchable image area is restricted (SDK-2171) [063221]
Fix: NxView: Various usability improvements and small bugfixes in NxView
Improved guide on measuring calibration accuracy and recalibrations
3.0.x¶
3.0.311¶
Fix: NxLib: Improve the detection of heavily tilted calibration patterns (SDK-2051) [061997]
Fix: NxLib: Fix some cases where the hand-eye calibration did not converge (SDK-2069)
Fix/Chg: NxView: Adapt the color scaling for Patch Match (SDK-1832) - Color scales now adapt to the range of the current depth view and no longer depend on the selected disparity range - Color scaling for disparity and depth values can now be changed independently of each other - Changed the default color scaling for depth values
3.0.294¶
Fix: NxLib: Fix a possible crash when launching the NxLib with multiple GigE Vision cameras in the network (SDK-2034)
Fix: NxLib: Fix the computation of the matching volume with area of interest (SDK-1994) (SDK-2013) [061848]
Fix: NxLib: Fix the computation of the maximum matchable disparity range for PatchMatch with very narrow area of interest (SDK-1994) (SDK-2013) [061848]
Fix: NxView: Show a warning when trying to save images which were not computed yet (SDK-1990) [061828]
Fix: NxView: Disable functions for estimating the disparity range when using Patch Match (SDK-2007)
Fix: NxView: Fix the layout of the rendering tab when resizing the parameter window (SDK-2014)
Fix: NxView: Hide the preset buttons for mono cameras (SDK-2022)
3.0.288¶
Fix: NxLib: Fix slow API response times when using FlexView and multi exposure at the same time (SDK-1899) [061280]
Fix: NxLib: Improve the computation of the default capture timeout when using a multi exposure factor; the timeout was prevously estimated too short for some combinations of parameters, which led to capture timeouts (SDK-1897) [061272]
Fix: NxLib: Fix the CUDA median filter with Patch Match and radius > 2px (SDK-1885) [061213]
Fix: NxLib: Fix rectification with UseDisparityMapAreaOfInterest on CUDA (SDK-1958) [061593]
Fix: NxLib: Fix CUDA out of memory errors when switching to PatchMatch from another matching algorithm (SDK-1888) [061216]
Fix: NxLib: Update the uEye EthernetConfigMode flag in the tree when it gets changed from outside (SDK-1904) [061174]
Fix: NxLib/NxView: Fix a crash when entering invalid user defined render objects (SDK-1893) [061239]
Fix: NxView: Improve the blacklevel settings in the calibration wizard; the settings could previously differ depending on which dialogs of the calibration wizard were active before
Fix: NxView: Improve the “Stereo Matching Volume” reset button when using PatchMatch (SDK-1886) [061214]
Fix: NxView: Fix links to the manual (SDK-1898) [061273]
3.0.224¶
Fix: NxLib: Updated X-series projector application firmware to 28 to provide better handling of packet loss by reducing TCP retransmission timeouts (SDK-1843)
3.0.83¶
Fix: NxLib: Filter points beyond infinity when using PatchMatch (SDK-1693)
Fix: NxLib: Fix memory handling issue in Lanczos interpolation and PatchMatch (SDK-1692)
Fix: NxLib: Fix auto exposure for GigEVision mono cameras (SDK-1356)
Fix: NxLib: Updated N3x/N4x firmware to v10 for improved temperature throttling on rev. 2 hardware (HWC-141)
Fix: NxLib: Fixed issue where getBinaryData(int* returnCode, …) could throw exceptions (SDK-1575)
Fix: NxLib: Fix slow tree access with large command parameters or results (SDK-1576)
Fix: NxView: Fix unhandled exception when closing NxView (SDK-1705)
Fix: NxTreeEdit: Repaired Sphinx manual integration into TreeEdit (SDK-1615)
Fix: Manual: Check for the collection of a stereo pattern in the hand-eye calibration how-to (SDK-1669)
Fix: NxLib: Functionality of Near and Far parameter fixed in cmdRenderPointMap with OpenGL enabled (SDK-1534)
Chg: NxView: Always handle IP auto configuration through NetworkWizard (SDK-1681)
Add: NxView: Direct XR firmware download (SDK-1103)
Add: NxView: Show list of potential IP configuration issues (SDK-960)
Add: NxLib: Add new firmware flags IsSuppliedFirmwareVersion and FirmwareSupportsModel for GigEVision cameras to indicate supported models (SDK-1601)
Add: NxLib: Improved multi exposure support in PatchMatch (SDK-1659)
3.0.0¶
Add: NxLib: New PatchMatch stereo matcher with infinite matching range and improved runtime and subpixel performance
Add: NxView: New options for rendering depth data as points, spheres, pixel dots or triangulated mesh.
Add: NxView: Add texture/depth data overlay in NxView
Add: NxLib: New command ComputeTexture to generate gray value textures from FlexView sequences
Chg: NxLib: Improved subpixel interpolation when using binning (SDK-1078) (SDK-953) [001-00-054249]
The changelog for earlier versions can be found in older versions of the manual.