Although all minor releases are meant to be backwards compatible there are occasionally necessary bugfixes and improvements which might have some side effects in certain applications. Please read the Upgrade Notes topic before switching to newer versions of uEye driver or EnsensoSDK.

See this page for a list of known issues in the current version of the SDK.



  • 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]


  • 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)


  • 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]



  • 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).


  • 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.



  • 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]


  • 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 the Cameras 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]


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]


  • 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]



  • 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]


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


  • 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]



  • 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


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 the nxListCamsLibDynamic 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].


  • 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].



  • 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]


  • 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



  • 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]


  • 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]


  • 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]


  • 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)


  • 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



  • 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


  • 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)


  • 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]


  • Fix: NxLib: Updated X-series projector application firmware to 28 to provide better handling of packet loss by reducing TCP retransmission timeouts (SDK-1843)


  • 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)


  • 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]



  • Fix: NxLib: Improve the detection of heavily tilted calibration patterns (SDK-2051)

  • Fix: NxLib: Fix some cases where the hand-eye calibration did not converge (SDK-2069)

  • Fix: NxLib: Fix a possible crash when launching the NxLib with multiple GigE Vision cameras in the network (SDK-2034)

  • Fix: NxView: Improve the handling of special characters in file camera paths (SDK-2030)

  • Fix: NxView: Fix the layout of the rendering tab when resizing the parameter window (SDK-2014)


  • 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: 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: NxLib: Updated X-series projector application firmware to 28 to provide better handling of packet loss by reducing TCP retransmission timeouts (SDK-1843)


  • Fix: NxLib: Fix bugs that could lead to a corrupt camera cache (SDK-1648) (SDK-1809) [059355] [060506]

  • Fix: NxView: Fix a bug that could prevent NxView from starting (SDK-1722) [060061]

  • Fix: NxLib/NxView: Fix the error message “Pattern has not enough points to estimate pose” during calibration (SDK-1602) (SDK-1775) [059897]

  • Fix: NxView: Fix a bug where an X-series camera with 5MP GigE Vision sensors was not displayed correctly in the network wizard (SDK-1751)

  • Fix: NxLib: Fix a bug where an open X-series camera could sometimes have Type Projector in the tree when the connection to the sensors was unstable. This could lead to broken file cameras (SDK-1744) [059935]

  • Fix: NxLib: Fix auto exposure for monocular GigE Vision cameras (SDK-1356)

  • Fix: NxLib: Prevent an incorrect warning about low bandwidth when X-series sensors were not directly connected to the projector (SDK-1553) (SDK-1800) [058300] [060460]

  • Fix: NxLib: Fix a bug where a CUDA error could prevent computation on the CPU- some data for CUDA was always prepared even if CUDA was disabled (SDK-1549) [058155]

  • Fix: XR Firmware: Fix a bug in the LED limiter that could cause images captured where the projector did not flash (SDK-1716) (SDK-1836)

  • Add: NxLib/NxView: Improve support for N4x-series cameras; the cameras work in older versions, but this version adds support for the new models in GetModelInfo and updates the camera icons in NxView

  • Add: NxView: The network wizard can assign IP addresses from subnets other than 192.168.x.x when all addresses from this subnet are already in use (SDK-1799) [060438]

  • Add: NxView: The network wizard shows information on why an adapter it not configured correctly (SDK-1651)

  • Add: NxView: Use the system-wide proxy to connect to the update notifier


  • Fix: NxLib: Fix a performance regression in the GigE Vision image acquisition on Windows (introduced in 2.3.978) (SDK-1552) [058296]

  • Fix: NxLib: Prevent unnecessary refreshing of the EEPROM after closing an N-series camera (SDK-1491) (SDK-771) [051000]

  • Fix: NxLib: Fix a segmentation fault in RenderPointMap with a specific combination of parameters (SDK-1487) [057945]

  • Add: NxLib/NxView: Add the triangulation error as a more stable and accurate measurement of calibration quality (replaces the pose error in the calibration wizard) (SDK-1458) (SDK-1170) [055587]

  • Add: NxView: Add high active trigger options to the parameter GUI (SDK-1452)

  • Add: NxLib: Update the firmware for IDS GigE Vision cameras to version 2.2 (SDK-1259)


  • Add: hAcqEnsenso-NxLib: Added file version to Windows dll (SDK-818)

  • Fix: hAcqEnsenso-NxLib: Fixed so name on Linux (SDK-1161) (SDK-1068) [055552]

  • Fix: NxLib: WaitForRecalibrator not working when camera has stored dynamic calibration offsets (SDK-971) [054401]

  • Fix: NxView: Prevent projector disabled flag from written into stored settings files (SDK-1073) (SDK-1227) [054249]

  • Fix: NxLib: Fixed eeprom caching issue causing continuous read-out of camera eeproms (SDK-1152)

  • Fix: NxLib: Updated calibration plate recommendations to online camera selector (SDK-1235)

  • Fix: NxLib: Fixed incorrect reuse of older PointMap when parameters changed (SDK-1236) [056351]

  • Add: NxLib: Updated N-series projector application to 8 with LED temperature read-out on hardware 3 (SDK-1218)

  • Add: NxLib: Added new model configurations (SDK-1224)

  • Add: NxLib: Time synchronization for XR cameras (SDK-759)

  • Add: NxLib: Integrated SGM, Binning, AOI for XR cameras (SDK-1238) (SDK-957) (SDK-1254)


  • Fix: NxLib: Packet loss/reordering could lead to corrupted images or chunk data parsing failure (SDK-658, SDK-1129)


  • Add: Manual: New XR-series operation guide (SDK-1052)

  • Add: NxLib: Support for hand-eye calibration of robots with less than 6 DOF (SDK-1098)

  • Add: NxLib: Support for XR firmware update via NxView (SDK-922)

  • Add: NxLib: C# interface classes updated to match C++ classes (SDK-1046)

  • Fix: NxLib: Hand-eye calibration with incomplete observations of Ensenso calibration patterns generated invalid results (SDK-1045)

  • Fix: NxLib: Incorrect handling of binning in background recalibration (SDK-1077)

  • Fix: NxLibRemote: NxTreeEdit would freeze when loosing connection to NxLib instance (SDK-630)

  • Fix: Halcon: Bug fixes in Halcon interface and example scripts (SDK-1043)


  • Fix: NxLib: Added workaround for uEye persistent memory bug and fallback to file storage (SDK-1027)

  • Fix: NxLib: Calibration eeprom format downgrade not working (SDK-1013)

  • Fix: NxLib: Fixed occasional termination of heartbeat thread for GigE Vision cameras (SDK-964)

  • Fix: NxLib: Fixed N-series projector watchdog thread could terminate (SDK-752)

  • Fix: NxLib: Fixed uEye event thread could terminate (SDK-999)

  • Fix: NxLib: Automatic IP config not working with fixed adapter configuration and DHCP server with different IP range (SDK-992)

  • Fix: NxProfiler: Fixed error in deserialization of log files (SDK-571)


  • Add: Implement background recalibration for XR-series cameras (SDK-846)

  • Fix: NxView: Fix a bug where the calibration wizard was enabling flex view for some cameras (SDK-927)


  • Add: Sequence correlation stereo matcher now correctly handles multi exposure (SDK-897)

  • Add: Sequence correlation can now work with less than 5 images when using windowing (SDK-897)

  • Fix: Fixed projector not flashing in certain multi exposure configurations (SDK-832)

  • Fix: Network wizard now works also when adapters have multiple IPv4 addresses (SDK-748)


  • Add: Included firmware update files for GV-5040 and GV-5280 cameras


  • Add: Initial support for XR-series cameras

  • Add: NxLib: Support for uploading firmwares to GigE Vision cameras



  • Add: hAcqEnsenso-NxLib: Added file version to Windows dll (SDK-818)

  • Fix: hAcqEnsenso-NxLib: Fixed so name on Linux (SDK-1161) (SDK-1068) [055552]

  • Fix: NxLib: WaitForRecalibrator not working when camera has stored dynamic calibration offsets (SDK-971) [054401]

  • Fix: NxView: Prevent projector disabled flag from written into stored settings files (SDK-1073) (SDK-1227) [054249]

  • Add: NxLib: Updated N-series projector application to 8 with LED temperature read-out on hardware 3 (SDK-1218)

  • Add: NxLib: Added new model configurations (SDK-1224)


  • Fix: NxLib: Packet loss/reordering could lead to corrupted images or chunk data parsing failure (SDK-658, SDK-1129)

  • Fix: NxLib: Hand-eye calibration with incomplete observations of Ensenso calibration patterns generated invalid results (SDK-1045)

  • Fix: NxLib: Added workaround for uEye persistent memory bug and fallback to file storage (SDK-1027)

  • Fix: NxLib: Added triggering of network adapter config refresh in uEye driver from NetworkWizard (SDK-1002)


  • Fix: NxLib: Corrected handling of adapter IP address changes (SDK-748),(SDK-908)

  • Fix: NxView: Support for adapters with multiple IPv4 addresses in NetworkWizard (SDK-748)

  • Fix: NxLib: Fixed occasional termination of heartbeat thread for GigE Vision cameras (SDK-964)

  • Fix: NxLib: Fixed N-series projector watchdog thread could terminate (SDK-752)

  • Fix: NxLib: Fixed uEye event thread could terminate (SDK-999)

  • Fix: NxLib: Automatic IP config not working with fixed adapter configuration and DHCP server with different IP range (SDK-992)

  • Fix: NxProfiler: Fixed error in deserialization of log files (SDK-571)


  • Fix: NxLib: Add a new firmware for X-series projectors, which fixes a possible mismatch between the software and hardware LED flash limits. This could lead to images without a visible projector pattern with some extreme exposure settings. (SDK-832)

  • Fix: NxLib: Fix capture timeouts with uEye cameras when using hardware trigger with extremely long timeouts (SDK-808)

  • Add: NxLib: Background recalibration now works with Flex View images when using the multi-exposure factor (SDK-839)


  • Fix: NxLib: Activating sensor AOI on GigE Vision cameras while using binning caused invalid rectified images


  • Add: NxLib: Added support for Ensenso calibration patterns with 100mm/200mm outer size (SDK-648)

  • Fix: NxLib: Computed incorrect pattern count for certain pattern pairs in pattern assembly calibration (SDK-810)


  • Add: NxLib: Fixed pixel format selection for monocular GigE vision color cameras.

  • Fix: NxLib: Fixed security of global mutexes for running multiple instances under different users on Windows.

  • Fix: NxLib: Added support for storing monocular camera calibrations in uEye extended user section on flash memory

  • Fix: NxView: Resolved race condition with background threads when switching widgets in calibration wizard


  • Add: NxView: Network-Setup Wizard (SDK-377)

  • Add: NxView: Warning for small MTU on GV cameras (SDK-536)

  • Add: NxView: Warning for high packet resend rate on GV cameras (SDK-537)

  • Add: NxView: Warnings for slow link speed on UI and GV cameras (SDK-538),(SDK-539)

  • Fix: NxProfiler: Profiler could not open log files with non-monotonic timestamps (SDK-356), (SDK-510)

  • Fix: NxLib: GigE Vision overflow in computation of packet interval from desired bandwidth (SDK-535)

  • Fix: NxView: Open camera with cached settings could disable ethernet adapters for camera listing (SDK-541)

  • Fix: NxLib: Incorrect default capture timeouts on specific camera models (SDK-544)

  • Fix: NxLib: Compatibility to IDS GV firmware >= 1.7.x (SDK-579)

  • Fix: NxLib: Incorrect MeasurementVolume after loading parameter set with scaling < 1 (SDK-335), (SDK-495)

  • Fix: NxLib: Incorrect disparity map timestamps when CUDA enabled (SDK-589)


  • Add: NxView: Show notifications when a new version of the EnsensoSDK is available


  • Fix: NxLib: Fix the detection of CUDA on Nvidia Jetson


  • Chg: NxLib: Capture and Retrieve automatically compute a reasonable default timeout for the current capture settings (SDK-437)

  • Add: NxLib: DiscardPatterns can now discard patterns for specific cameras (SDK-321)

  • Fix: NxView: The recalibration did not save the computed dynamic angle offsets to the camera EEPROM (SDK-373)

  • Fix: NxLib: After very long hardware trigger wait times, N20/N30/N35 cameras could sometimes capture an image without flashing the projector (SDK-422)

  • Fix: NxLib: X-series projectors were not discovered correctly in some network setups with multiple projectors (SDK-403)

  • Fix: NxLib: Misconfigured GigE Vision cameras can now be detected in more cases, when NxView is started as root on Linux. See the network wizard page for more information (SDK-417)

  • Chg: NxLib: Blind IP configuration for GigE Vision cameras now set a permanent IP address that persists a camera reboot (SDK-417)

  • Fix: NxLib: Information about the X-series projector (including the current firmware version and temperature) was in some cases not updated in the tree (SDK-430)

  • Fix: NxLib: ComputeDisparityMap generated an empty disparity map in some cases with unusual image dimensions(SDK-447)

  • Add: NxView: The calibration wizard now shows intrinsic errors after a link calibration (SDK-322)

  • Fix: Various improvements for calibrations with Ensenso calibration patterns

  • Add: Halcon: The Halcon interface can now compute normals in auto_grab_data mode (SDK-440)


  • Fix: NxLib: Reverted duty cycle reduction of 2.2.135 on specific hardware revisions to previous state

  • Fix: NxLib: Added piezo sequence resynchronization for missed trigger signals (SDK-346)

  • Fix: NxView: Improved timeout computation for image capturing

  • Fix: NxView: Fixed long wait times for projector exposure when switching from tracking to depth mode on X-series cameras


  • Fix: NxLib: Filtered spurious return value from Glew initialization which caused OpenGL rendering to fail on Linux

  • Fix: NxLib: Fixed X-series firmware timeout leading to reporting of firmware startup failures


This is an important firmware update for X-series cameras.

  • Chg: NxLib: Duty cycle reduction on X-series cameras to prevent hardware damage in certain operation modes. Please read the corresponding section in the Upgrade Notes.


  • Add: NxLib: Experimental reflection tolerant SGM via CostScale parameter

  • Fix: NxLib: Made OpenGL context compatible with OpenGL 4.0 core profile

  • Fix: NxView: Calibration wizard can now completely be run with EnsensoCalTabs


  • Add: NxView: Parameter Presets (SDK-54)

  • Add: NxProfiler: View multiple files in joined timeline (SDK-215)

  • Fix: NxView: Computation of calibrations from imported patterns not working (SDK-87)

  • Fix: NxLib: Setting FlexView was slow on X-series cameras (SDK-147)

  • Fix: NxLib: Reduced GPU memory usage of Semi-global matching (SDK-38)

  • Add: NxLib: Profiling data can now be written into files with automatic log rotation (SDK-117)

  • Add: hAcqEnsenso-NxLib: Added procedure to read tiff images with NaN values for importing point clouds (SDK-74)

  • Add: hAcqEnsenso-NxLib: Added acquisition interface for Nvidia Jetson platform (SDK-82)

  • Add: NxLib: Allowed arbitrary rotation orders for SplitRotation parameter of ConvertTransformation (SDK-136)

  • Fix: NxLib: Fixed incorrect point cloud coordinates when using Binning and AOI (SDK-148)

  • Add: NxView: Calibration Wizard can now manually check monocular calibrations (SDK-153)

  • Fix: NxLib: Fixed crash when trying to load incorrectly formatted STL files (SDK-166)


  • Fix: NxLib: Implemented camera listing via raw sockets for listing of incorrectly configured GigE Vision cameras

  • Fix: NxLib: Fixed potential watchdog timeout on N-series cameras in conjunction with driver or scheduling delays of several seconds


  • Fix: NxLib: Resolved some issues in IP auto configuration

  • Fix: NxLib: Resolved issue in error handling in decoding of pattern data

  • Fix: NxLib: Resolved some inconsistencies in listing of GigE Vision cameras

  • Fix: NxLib: Improved accuracy of distortion simulation in virtual cameras

  • Fix: NxLib: FitPrimitive returned with an error when it did not find the specified number of primitives and did not return any partial results

  • Add: NxView: Added Scene Wizard

  • Add: NxView: IP auto configuration status outputs




  • Fix: NxView: Fixed display of animations in calibration dialog

  • Fix: NxView: Fixed swapping/mirroring/rotation of images during calibration

  • Fix: NxView: Accelerated projector focus measurement in calibration wizard

  • Fix: NxView: Fixed too restrictive tilt filtering of patterns in calibration wizard when calibrating cameras with long focal lengths

  • Add: Manual: Added section on camera calibration checking

  • Fix: NxView: Fixed some bugs in dialog for creating virtual cameras

  • Fix: NxLib: Fixed potential log buffer corruption when emptying small buffers

  • Fix: NxLib: Fixed access violation in Cuda median filter implementation

  • Fix: NxLib: Fixed memory leak in 3rd party library


  • Add: NxView: New multi camera calibration mode in NxView calibration wizard

  • Add: NxView: Calibration quality estimate for stereo and multi camera calibration

  • Add: hAcqEnsenso: Added parameter ‘do_export_debug_buffer’ for set_framegrabber_param and ‘debug_messages’ for get_framegrabber_param to write out debug information of read text debug messages from within Halcon.

  • Add: NxLib: Added support for sensor tilt calibration coefficients.

  • Chg: NxLib: Changed output format of distortion coefficients.

  • Chg: NxLib: Parameter GenerateEmptyCalibration for LoadCalibration now generates a valid identity transformation showing the raw images

  • Add: NxLib: New Recalibrate command to estimate extrinsic calibration changes. This was part of EstimatePatternPose in earlier releases and was moved for better naming consistency. The parameters of EstimatePatternPose are still functional but deprecated and subject to removal in future releases.

  • Add: NxLib: Added support for Sony IMX264

  • Add: NxLib: Support for FillXYCoordinates and ZBufferOnly when using RenderPointMap with CPU based rendering.

  • Fix: NxLib: Fixed bug causing wrong textures in RenderPointMap and RenderView due to failed OpenGL mipmap generation when using newer OpenGL versions.

  • Fix: NxLib: Fixed potential access violation due to incorrect handling of GPU buffers

  • Add: NxLib: Added filtering of camera listing by network interfaces

  • Chg: NxLib: Dependency on CodeMeter runtime removed for Linux builds

  • Add: Jetson: First build available for Nvidia Jetson platform.

  • Fix: NxLib: Improved topology detection for AMD Ryzen and Threadripper CPUs.


  • Chg: NxLib: Changed pose estimation algorithm of EstimatePatternPose to improve consistency of pose estimates with triangulated point clouds

  • Chg: NxLib: Changed optimization cost function for CalibrateHandEye to achieve lower translation errors

  • Chg: NxLib: Replaced ReprojectionError output of CalibrateHandEye with Residual

  • Fix: NxLib: Fixed incorrect transformation chain for computation of PoseError output in CalibrateHandEye

  • Add: NxLib: Added robot recalibration via joint angle offsets when giving robot model and joint angles as input instead of Carthesian poses (see Links parameter).



  • Chg: All GUI tools now depend on CRT and Qt4 libs

  • Chg: NxLib: New high performance logging and profiling mechanism

  • Chg: NxLib: MatchingVolume node separated into MeasurementVolume and ScaledMeasurementVolume

  • Chg: NxLib: nxLibSetJson now returns NxLibItemTypeIncompatible when specified json structure contains no single matching and modifyable node in destination structure.

  • Chg: Renamed ‘cache’ folder in installation directory to ‘settings’ and restructed to provide separate subdirectories for different tools.

  • Fix: NxLib: Fixed bug in X-series projector discovery mechanism under Linux in combination with new projector firmware.

  • Fix: NxLib: Fixed potential access violation when using PointMap data from multiple cameras as input for FitPrimitive

  • Add: New NxProfiler tool for graphical time line visualization of log messages and profiling data

  • Add: NxLib: Support for FileCameras

  • Add: NxLib: Support for CUDA based GPU processing in selected commands

  • Add: NxLib: Support for adjusting exposure on monocular cameras via AdjustExposureAndGain

  • Add: NxLib; AdjustExposureAndGain can now compute nesw values without applying the to the hardware using the Apply parameter.

  • Add: NxLib: GetModelInfo can now return information on geometrical properties of calibrated X-series cameras.

  • Add: NxLib: Added PixelSize and GlobalShutter nodes.

  • Add: NxLib: Support for reading and writing image data sets from and to zip files

  • Add: NxLib: Support for tiff file format with float and short data types in LoadImage and SaveImage (e.g. for reading/writing DisparityMap or PointMap data)

  • Add: NxTreeEdit: Support for searching node names and values

  • Add: NxTreeEdit: New read-only ‘Debug Access’ mode to read out current NxLib tree state of a suspended process, e.g. when halted in debugger(needs root priviledges on Linux systems).



  • Fix: NxLib: Fixed potential watchdog timeout on N-series cameras in conjunction with driver or scheduling delays of several seconds


  • Fix: NxLib: nxLibSetJson now returns an error code when the structures did not have at least one matching node

  • Add: NxLib: cmdOpen now performs a wiring test on X-series cameras

  • Fix: NxLib: RenderView and RenderPointMap could use wrong texture camera image with certain drivers with newer OpenGL versions

  • Fix: NxLib: Initialization of Transformation items failed to interpret identity transformations

  • Fix: NxLib: Fixed internal renormalization of rotation axis in Transformation items

  • Add: NxLib: Support for interpretation of newer eeprom formats



  • Fix: NxLib: Fix an error when opening N10 cameras

  • Fix: NxLib: Normals computed with ComputeNormals were sometimes pointing in the wrong direction

  • Fix: hAcqEnsenso-NxLib: Fix a bug when initializing the NxLib in Halcon


  • Chg: MedianFilterRadius can now be chosen up to 10px

  • Add: ProjectPattern now takes a specification of the pattern size with the GridSize and GridSpacing parameters

  • Fix: NxLib: The dynamic recalibration is more robust on untextured images

  • Fix: NxLib: Fixed the implementation of the UniquenessRatio for the correlation matcher. In some cases, this might lead to areas in the DisparityMap which could previously be matched, but are now invalid. In that case, you might have to decrease the uniqueness ratio to an appropriate value

  • Fix: NxLib: CollectPattern now returns the Stereo result node when the UseModel parameter is set in the filter

  • Fix: NxLib: The PixelClock now gets clipped when the old value is no longer valid due to a change of the Binning

  • Fix: NxView: Fixed an error message when trying to rotate the 3D view

  • Fix: Updated the build script and compilation instructions for the NxView source code

  • Fix: hAcqEnsenso-NxLib: Fixed some situations where the path of a handle was changed unintentionally


  • Add: NxLib: IO output mode “PWM” added

  • Add: NxLib: IO output parameters Frequency and DutyCycle added

  • Chg: NxLib: Improved MedianFilter performance for radius > 2px


  • Fix: NxLibCLI: Added missing constants

  • Fix: hAcqEnsenso-NxLib: set_framgrabber_params now correctly handles halcon boolean types as parameter


  • Fix: NxLib: Opening an X-series stereo camera could sometimes fail shortly after an ip configuration

  • Fix: NxView: The calibration wizard crashed when used without an X-series stereo camera

  • Chg: NxView: Some general improvements on the calibration wizard

  • Fix: NxView: Fixed potential crash when using a stereo + mono camera setup and render view active

  • Chg: Updated examples


  • Fix: NxLib: Fixed potential crash on switching debug mode to file output

  • Fix: hAcqEnsenso-NxLib: Fixed invalid revision string

  • Fix: Fixed some cases where the Windows installer could fail to install the EnsensoSDK

  • Fix: Added missing nxLibCommonNodeNames.h to the Linux package


  • Add: Finalized support for X-series cameras

  • Add: NxView: New camera calibration wizard

  • Fix: Implicit reinitialization of nxLib is now forbidden after calling nxLibFinalize; reinitialization is now only possibly by calling nxLibInitialize again.

  • Add: NxLib: Sequence correlation matching method added

  • Chg: NxTreeEdit: Show local manual files instead of online manual in help box

  • Chg: NxView: New rotation navigation in rendered 3d view

  • Add: NxView: New, reworked camera selection dialog

  • Add: NxLib: Implemented support for full distortion model for monocular cameras

  • Fix: NxLib: Fixed bug in cmdCollectPattern causing pattern search to fail in certain point constellations




  • Add: New C++ example: nxImageBuffer

  • Add: NxLib: ImageBuffer for queuing images before processing

  • Add: NxLib: Continuous trigger mode is now supported by stereo cameras

  • Fix: NxLib: cmdSynchronize ignored Cameras and Nodes parameters

  • Chg: NxLib: Changed default Blacklevel for uEye drivers above 4.80.7.

  • Chg: NxLib: Changed merge method for FlexView sequences to better support multi exposure sequences. This also improves effective spatial resolution while yielding marginally higher z noise in subpixel interpolation.

  • Add: NxView: Added warning messages when background processing causes packet loss on network adapter (see also new topic on Network Performance).



  • Add: NxLib: New TriggerMode “continuous” for monocular cameras.

  • Add: NxLib: New parameter TriggerDelay for monocular cameras.

  • Add: NxLib: New header file nxLibSymbols.h


  • Fix: NxLib: Fixed bug which prevented changing TriggerMode after a successful Capture.

  • Fix: NxLib: Auto exposure and auto gain could cease to function under certain conditions.

  • Fix: NxView: Stored workspace calibration did not contain DynamicOffsets.


  • Chg: NxLib: Hardware trigger modes now internally use uEye API continuous trigger mode

  • Add: NxLib: Output of missed capture events.

  • Add: NxLib: Completed support for FileMonoCamera and FileStereoCamera classes to open folders with image sets as cameras.

  • Add: NxLib: Initial basic support for X-series cameras and FlexView2

  • Add: NxLib: EstimatePatternPose will now do single perspective pose estimation for collected stereo-stereo and stereo-mono patterns

  • Add: NxView: Visualization of pattern sets in RenderView

  • Add: NxView: Visualization of working volume and view field of stereo and monocular cameras in RenderView

  • Fix: NxLib: Some command sequences can lead to incorrect rectification map updates after writing the Calibration sub tree of a camera

  • Fix: NxLib: More robust calibration and rectification parameter selection for wide angle lenses

  • Fix: NxLib: Fixed bug in communication protocol with NxLibRemote introduced by another bug fix in 1.9.70

  • Fix: NxLib: FitPrimitive did not use point clouds from specified cameras

  • Fix: NxLib: Restored old, documented behavior to copy timestamps from source binary to target binary in RectifyImages <cmdrectifyimages.htm> ComputeDisparityMap, ComputePointMap, ComputeNormals


  • Fix: NxLib: Correct pipelining of Binning, Scaling, AOI and disparity settings (see parameter usage diagram in Binary Nodes and Commands)

  • Chg: NxLib: Event based interface to uEye API to reduce run time jitter of Capture command

  • Chg: NxLib: StoreCalibration now requires separate flags which parts of the calibration record to overwrite and which should be kept (Calibration, DynamicOffsets, Link).

  • Add: NxLib: Added ComputeNormals for fast normal computation on the PointMap


  • Fix: NxLib: When capturing in FlexView mode, the same image pair was returned multiple times.

  • Fix: NxLib: RenderPointMap could cause an unhandled exception when UseOpenGL was disabled.


  • Add: NxLib: restructured Execute node to allow parallel command execution.

  • Add: NxLib: Synchronize command for explicit hardware parameter synchronization




  • Fix: NxLib: Fixed default value of Subset parameter in command Trigger.

  • Fix: NxView: Mirror/Rotate did not correctly swap left and right image under certain conditions.



  • Fix: NxLib: Faster camera listing when using multiple NxLib instances with GigE cameras

  • Fix: NxLib: Resolved bug in recovery from failed projector firmware updates

  • Fix: NxLib: cmdCapture did not respect Timeout when encountering capture failures

  • Fix: NxLib: nxLibSetBinary could fail silently on items below camera Images node

  • Fix: NxLib: Shared state variable could cause erroneous estimates in automatic exposure and gain adjustment function

  • Fix: Incorrect toolchain parameters caused 32bit binary incompatibility on WindowsXP

  • Fix: Halcon: Fixed incorrect memory handling of string results in image acquisition interface

  • Chg: Halcon: New halcon interface revisions 5.3 / 6.3

  • Chg: NxLib: Switched to newer GPIO API of uEye driver due to incompatible changes in driver release 4.72

  • Add: NxLib: Separate Trigger and Retrieve commands

  • Add: NxLib: Added state flags to capture command result to provide accurate feedback of the performed operations

  • Add: NxLib: Output of Triggered state flag

  • Add: Included HowTo documents with example code in manual

  • Add: Included new Binder cabling for N30/N35 GPIO


  • Fix: NxView: Added missing png files to NxView source code

  • Add: NxLibRemoteCLI: Added CLI wrapper for NxLibRemote

  • Add: NxLibRemote: Added implementation of WaitFor… and SetBinary… functions.

  • Fix: NxLib/NxLibRemote: Communication between NxLib and NxLibRemote could fail continuously after communication timeout.

  • Add: NxTreeEdit: Inline display of node documentation


  • Fix: NxView: Fixed wrong parametrization of Calibrate command when calibrating two stereo cameras

  • Fix: NxLib: Image arrays did not resize when lowering FlexView setting on N35 cameras

  • Fix: NxLib: CollectPatern did not work when GridSize was set to 0 due to a failed pattern decoding attempt

  • Fix: NxLib: Fixed TCP server bug causing dropped message parts leading to protocol errors with NxLibRemote


  • Fix: NxLib: Calibration of two stereo cameras might cause an access violation

  • Fix: NxLib: cmdLoadImage can now also load paletted grayscale images

  • Fix: NxView: Cleaned up GUI in timing panel and reduced minimum window size

  • Fix: NxView: Improved error handling in primitive fitting dialog

  • Fix: Examples: C# disparity map viewer could not handle scaling

  • Add: NxLib: Added gray scale conversion in cmdLoadImage via ForceGrayscale parameter


  • Fix: NxLib: Fixed warnings in headers when compiling with gcc

  • Fix: NxLib: EstimateDisparitySettings did not use correct stereo model

  • Fix: NxView: Incorrect parametrization of monocular camera calibration

  • Fix: NxView: Fixed timing issue causing unexpeded application exits

  • Add: NxLib: Added support for decoding calibration plates with X/Y offset

  • Add: NxCalTab: Added support for generating multiple calibration patterns with X/Y offsets


  • Fix: NxLib: Improved runtime of ReducePatterns command

  • Add: NxLib: Added Recalibrate funtion to EstimatePatternPose

  • Add: NxLib: New Dynamic calibration node in camera calibration

  • Add: NxLib: New calibration eeprom format to keep dynamic values of Recalibrate option.

  • Add: NxView: Added recalibration option during Set Origin

  • Add: Added pkg-config files for Linux builds

  • Add: Added FindEnsenso cmake script to Linux builds


  • Add: NxLib: Added command GenerateCalibrationPattern to generate PDF files with calibration patterns via the NxLib interface

  • Add: NxLib: Added command EstimateDisparitySettings to guess a reasonable disparity range on the current

  • Add: NxLib: Added command ProjectPattern to virtually project a pattern in a known pose into the camera (can be used to determine if the pattern would be visible in a certain position)

  • Add: NxLib: Added command AdjustExposureAndGain to manually run NxLib’s internal adjustment function (e.g. with manually measured brightness in a certain region)

  • Add: NxLib: Added command FitPrimitive to search for planes, cylinders and spheres in all camera PointMap data

  • Add: NxLib: RenderView can now visualize primitives

  • Add: NxLib: Completely restructured stereo matcher. Memory demand has been reduced by up to 80%. Optimization for AVX2 instruction set on 4th Gen Intel i7 processors reduces computation times by up to 50%.

  • Add: NxLib: Added alignment function for linear axes in CalibrateWorkspace

  • Add: NxLib: CollectPattern now supports collecting multiple different patterns simultaneously

  • Add: NxLib: Added Operation parameter to Capture command for simple adding of multiple images

  • Add: NxLib: Added options to EstimatePatternPose to estimate only a single pattern pose, or the pose of all patterns in the buffer independently

  • Add: NxLib: Added switch UseOpenGL to render telecentric height image on CPU (without OpenGL)

  • Add: NxLib: Support for regions in ComputeImageContrast

  • Add: NxLib: Support for FlexView camera models (N35)

  • Add: NxLib: MeasurementVolume node z-coordinates are now writable to easily specify working volume independent of camera calibration

  • Add: NxLib: Overlay colors can be specified and texts can be flipped

  • Add: NxLib: Support for HDR images extended to GigE cameras using E2V sensor log mode

  • Add: NxView: Support for linear axis calibration with CalibrateWorkspace

  • Add: NxView: Primitive fitting dialog added

  • Add: NxView: New record dialog with support for different capture timings for each camera

  • Add: NxView: Added more global parameters in the parameter dialog

  • Add: NxView: Global parameters and primitive fitting settings are now loaded from a local cache if cameras are being opened with cached settings

  • Fix: NxLib: Fixed rounding issue causing too small MeasurementVolume with active Scaling

  • Fix: NxLib: Initialization in CalibrateHandEye used inverted robot poses in initialization, causing slow or wrong convergence in some moving camera setups

  • Fix: NxLib: Writes into /Execute node will now generate warning return codes when a command is currently running

  • Fix: NxLib: Made temporary NxLibItem class instances constant to prevent accidental assignment of item path instead of value

  • Fix: NxLib: Faster camera listing with less eeprom re-reading, especially when running multiple NxLib instances with GigE cameras in a common

  • Fix: NxLib: Capture would sometimes try to retrieve an image if none was captured

  • Chg: NxLib: Changed accuracy estimates for standard models to 0.25 disparities and 0.125 disparities for FlexView models to reflect approximate 1-sigma plane fitting noise.



  • Fix: NxLib: Fixed potential bug when modifying monocular camera calibration tree

  • Fix: NxLib: Fixed incorrect waiting times when starting NxLib without NxLibInitialize or with NxLibInitialize(false)

  • Fix: NxLib: Capture command mistakenly expected to retrieve images from untriggered cameras in some cases

  • Fix: NxView: Loading and saving of files with dots in file name did not work correctly

  • Add: NxLibCLI: Added static functions with fixed element types in addition to generics for GetBinaryData and SetBinaryData. (See the CLI NxLibItem)

  • Add: NxLib: Timestamps of Raw image nodes are now taken from the camera hardware where available


  • Chg: NxLib: Loading of uEyeAPI is now done dynamically on startup.

  • Fix: NxLib: cmdConvertTransformation returned incorrect results when converting specific rotation matrices into euler angles.

  • Fix: NxLib: cmdStoreCalibration did not always store values from tree into eeprom

  • Fix: NxLib: cmdRenderPointMap used incorrect depth buffer polarity

  • Fix: NxView: Fixed font problem on Ubuntu 10

  • Fix: NxView: Fixed missing color scale update

  • Fix: NxView: Fixed missing reprocessing after image loading

  • Fix: Halcon: info_boards now correctly returns all cameras instead of only available devices

  • Fix: Halcon: grab_image and grab_data now works correctly on monocular cameras

  • Add: Halcon: Support for Halcon 12

  • Add: Halcon: Added possibility to load images directly into binary nodes

  • Add: Halcon: Added methods to query node types and paths

  • Add: Windows installer and binaries are now signed


  • Fix: NxLib: Improved size and tilt stability for focus measurement in CollectPattern with MarkOnly flag

  • Fix: NxLib: Loading of stereo/monocular patterns did not work with SetPatternBuffers.

  • Fix: NxView: Could not close NxView when camera was disconnected

  • Fix: NxLib: Could not use Inverse flag in Links node

  • Fix: NxLib: Bug in camera serial number caching caused long camera listing times when using NxLibInitialize(false) with multiple connected N20 cameras

  • Fix: NxLib: NxLibInitialize(false) did not always wait for all cameras to be added into the tree

  • Fix: NxLib: Removed write protection on Calibration node of monocular cameras

  • Fix: NxLib: Added waiting for GigE cameras reboot on Close.

  • Add: NxLibCLI: The interface is now provided in both versions, .NET framework 2.0 and .NET framework 4.0


  • Add: NxLib: Added output of uEye driver version.

  • Add: NxLib: Added possibility of firmware upload to GigE cameras via AllowFirmwareUpload parameter.

  • Add: NxView: AutoConfig button now runs ethernet configuration and firmware upload for selected cameras

  • Add: NxView: Warning when N20 cameras connected but driver version too old.


  • Fix: NxLib: Selection of rectification region from raw images was suboptimal for certain camera configurations with high vergence angles

  • Fix: NxLib: Wrong initialization of auto exposure algorithm caused suboptimal brightness regulation in first two frames on N10 cameras

  • Fix: NxLib: Skew estimation was not working correctly in Linux version

  • Fix: NxLib: Initial size of raw image nodes was incorrect before the first execution of the Capture command

  • Fix: NxLib: Fixed rounding errors when repeatedly calling StoreCalibration

  • Fix: NxLib: Missing model identifiers for N20-16xx-16-xx

  • Fix: NxLib: Update of SurfaceConnectivity had no effect in some situations

  • Fix: NxLib: Could not set StructureLocked nodes via NxLibSetJson

  • Fix: NxLib: Could set incorrect AreaOfInterest values

  • Fix: NxLibCLI: Changed .NET framework version from 4 down to 2 for wider compatibility

  • Fix: NxView: Source code cleaned up for simpler asynchronous command processing

  • Fix: NxView: Newly generated calibration data is lost without notice when closing calibration dialog

  • Add: NxLib: Added output of camera connection type and bandwidth

  • Add: NxLib: Added support for N20-Kit-xx cameras

  • Add: NxLib: Added commit Hash node to uniquely identify a version

  • Add: NxLib: Added EthernetConfiguration command

  • Add: NxView: Added dialog to set AOI manually

  • Add: hAcqEnsenso-NxLib: Added nxLibGetRectifiedCameraModel procedure

  • Add: hAcqEnsenso-NxLib: Now returns error code ‘device_busy’ when camera is not available on open_framegrabber

  • Chg: NxTreeEdit: Increased message buffer backlog

  • Chg: NxTreeEdit: Halted message outputs while saving to file

  • Chg: NxLib: Model data in camera selector and GetModelInfo updated to reflect new rectification method. This yields slight changes in focus, near and far distances for some models.


  • Fix: NxLib: Fixed transformation angle sign error when updating transformation nodes.

  • Fix: NxLib: Fixed camera listing failure when disconnecting closed cameras.

  • Fix: NxLib: Fixed invalid values in MeasurementVolume node when camera was opened without loading calibration. Node is now only present when calibration is loaded.


  • Fix: NxLib: Fixed renormalization of transformation axes in Links node.


  • Fix: NxLib: Some capture errors were not reported correctly anymore.

  • Fix: NxLib: User transformations in Links node not always reflected in internal transformation tree

  • Fix: NxLib: Workaround for uEye API bug with USB3 cameras causing camera disconnect failures. Opened cameras missing in the uEye API device list will now only be reported as disconnected if their uEye API handles actually stopped working. If the uEye API still accepts queries on the handle open cameras will remain functional.

  • Fix: NxLib: Export to STL format produced incorrect binary STL file in NxLib64.

  • Fix: NxView: Snap button did not acquire a fresh image after live mode.

  • Fix: Wrong constant names in nxCalibrateHandEye. Added some more comments to simplify code modification for other robots.


  • Fix: NxLib: Wrong channel order when loading of color images for monocular cameras

  • Fix: NxLib: Added missing N20-16xx models in GetModelInfo command

  • Fix: NxLib: Fixed binning on N20 cameras

  • Fix: NxView: Loading images on monocular cameras now also loads calibration

  • Fix: NxView: Changing of color scale no longer requires reprocessing

  • Add: NxView: Support for importing raw calibration data in calibration dialog


  • Fix: NxLib: Faster pattern collection for N20.

  • Chg: hAcqEnsenso-NxLib: Renamed Halcon interface to match MVTec naming conventions.

  • Add: NxLib: Support for line-wise sensor AOI via useDisparityMapAreaOfInterest on N20 models.


  • Add: NxLib: Windows only: OpenGL functions are now loaded as needed instead of the complete set up to OpenGL3.0 to be more compatible with incomplete OpenGL driver implementations.

  • Add: NxView: Added image counter and error list. Transfer errors and capture timeout don’t interrupt live mode anymore and simply go to the error list.

  • Add: NxView: Simple recording function to capture stereo pairs for offline 3D processing.

  • Add: NxView: New heuristics for fast loading and saving of image pairs and calibration with suffixes _left, _right and _calib.

  • Add: NxLib: Initial support for uEye XS cameras

  • Fix: NxLib: Restoring Exposure and PixelClock via a complete rewrite of the Parameters node did not restore the exact exposure.

  • Chg: NxLib: Versioning scheme changed to increment build number also for non-public installation packages.


  • Chg: NxLib: Signature of NxLibGetJsonMeta changed to include level limiting.

  • Chg: NxLib: Signature of NxLibItem::asJson() changed. Now with separate NxLibItem::asJsonMeta() function

  • Add: NxLib: Initial support for N20 models.

  • Add: NxLib: New cmdGetModelInfo command.

  • Add: NxLib: New Links node to add user defined coordinate systems

  • Add: NxView: Completely reworked calibration dialog with display of recommended pattern size and focus distances

  • Add: NxView: Reworked stereo viewer dialog with timing diagram and support for AOIs

  • Add: NxView: Menu bar added.

  • Add: NxLib: Implemented scaling of rectified images for dynamic adjustment of performance vs. quality

  • Add: NxLib: Added support for binning on monocular and stereo cameras

  • Add: NxLib: Added caching for faster camera listing

  • Add: NxLib: C# / CLI interface

  • Add: NxView: Added local caching of camera parameters

  • Fix: hAcqNxLib: Interface is now compatible with HDevelop’s image acquisition assistant

  • Fix: hAcqNxLib: Procedure NxLibSetPose did not set axis correctly

  • Add: hAcqNxLib: Auto completion now suggests node names and values

  • Add: NxLib: Support for stereo matching AOI for stereo cameras

  • Add: NxLib: Support for sensor AOI on N10 cameras

  • Add: NxLib: Faster auto exposure algorithm

  • Add: NxLib: TargetBrightness node for monocular and stereo camera auto exposure/gain

  • Chg: NxLib: DisparityMap invalid values changed from MinimumDisparity -1 to 0x8000 (now defined as constant NxLibInvalidDisparityScaled)

  • Chg: All Windows GUI tools now statically linked against Qt

  • Chg: Linux GUI tools also statically linked against Qt to provide the same GUI interface also on older Debian systems.

  • Chg: NxLib: Windows and Linux version now statically linked against CRT

  • Add: NxLib: Added support for robot hand-eye calibration via cmdCalibrateHandEye

  • Add: New icons for GUI tools

  • Add: C# Examples NxSimple, nxDisparityMapViewer and NxCalibrateHandEye added

  • Add: NxView: Support for calibration factory restore and calibration revision downgrades

  • Chg: Rotation axes of transformations are not automatically normalized anymore to prevent renormalization while writing axis components one-by-one.

  • Chg: Renamed software package to EnsensoSDK

  • Chg: Changed permissions on example folder to allow direct opening of example projects

  • Chg: NxLib: Tree nodes of unsupported features are now hidden (e.g. GainBoost, HardwareGamma)

  • Chg: NxLib: Renamed cmdRenderDepthMap to cmdRenderPointMap

  • Chg: NxLib: Renamed RenderDepthMap node to RenderPointMap

  • Add: NxLib: Added RenderPointMapTexture node for telecentric texture output

  • Fix: Fixed errors in GPIO cable documentation

  • Fix: Corrected conversion example for binary node timestamps in documentation

  • Add: Added documentation for vibration tests

  • Chg: NxLib: Improved multi threading and scheduling latencies



  • Fix: NxLib: Writing an entire camera subnode did not correctly update settings under the Parameters/DisparityMap node.

  • Fix: NxLib: Linux version exported functions of statically linked libraries, causing errors when linking programs with NxLib against other versions of any of these libraries.

  • Fix: NxLib: Added missing error symbol errImageTransferFailed in headers and documentation for cmdCapture.

  • Fix: NxLib: Calling nxLibFinalize when OpenGL rendering was initialized caused access violation.

  • Fix: NxLib: Setting render parameters before initializing OpenGL rendering with a render command caused previous settings to be lost and being replaced by defaults.

  • Fix: NxLib/Remote: DLL version information was incorrect

  • Fix: NxView: Removed repeated error message when setting a direct workspace link on multiple cameras simultaneously

  • Fix: NxView: Changing AutoExposure caused Exposure to change

  • Fix: NxLib: Improved compatibility with some uEye monocular cameras. uEye XS models are not yet supported.

  • Fix: NxLib: OpenGL rendering no longer fails after having opened a mono and stereo camera together.

  • Chg: NxView: Loading a camera calibration from a file now also load the camera’s workspace link from the file for better visualizing of stored camera setups in NxView.

  • Chg: NxLib: Finally dropped dependency on libpng12, libjpeg62, libjasper and libtiff4 on Linux.

  • Add: NxLib: nxLibSetBinary function added.

  • Add: NxView: Buttons for changing depth map color scale


  • Fix: NxLib: Fixed memory leak in cmdEstimatePatternPose

  • Fix: NxLib: nxLibInitialize with waitForInitialCameraRefresh did not always update the Cameras node before returning

  • Fix: NxLib: Resolved a bug in shader code causing some superfluous triangle edges to draw in cmdRenderView and cmdRenderDepthMap.

  • Fix: NxView: Improved message boxes asking for hardware synchronization and link storage before calibration

  • Chg: NxLib: Removed static image libraries on linux. Linux version now depends on libpng12, libjpeg62, libjasper and libtiff4.


  • Fix: NxLib: Wrong association of monocular and stereo cameras for texturing the RenderView meshes even if properly linked

  • Fix: All GUI programs: Window icons not showing in Windows version when Qt was not installed


  • Fix: NxView: Mouse dragging in render view not working in certain multi-monitor configurations

  • Fix: NxLib: Fixed missing reset of color mode in LoadUEyeParameterSet command

  • Fix: NxLib: Could open uncalibrated monocular cameras (now causes error and thus forces to calibrate the camera first)

  • Fix: NxLib: Delayed cleanup of camera tree nodes after cmdClose

  • Fix: NxLib: Less agressive eeprom rereading to prevent constant camera refreshing when running multiple NxLib instances

  • Fix: NxLib: nxLibSetJson with onlyWriteableNodes now correctly follows links to preserve downward compatibility of json configuration files

  • Fix: NxLib: nxLibGetJson now omits compatibility link nodes

  • Add: NxLib: Calibration speedup for long focal lengths

  • Add: hAcqNxLib: More detailed error messages

  • Add: Temperature deviation coefficients added to manual


  • Fix: NxLib: CPU detection not working with non-sequential apic ids

  • Fix: NxLib: Handle empty serial numbers on GigE cameras

  • Fix: Other minor bugfixes


  • Add: Full support for 32 and 64 bit Linux

  • Add: NxLib: Rendering of meshes from monocular camera perspective using RenderDepthMap

  • Add: NxLib: ConvertTransformation added to simplify conversion to other transformation formats

  • Add: NxLib: Support for direct modification of calibration data and link nodes

  • Add: NxLib: Support for loading uEye parameter ini files via LoadUEyeParameterSet command

  • Add: NxLib: Calibration dialog allows to import and export raw pattern data via GetPatternBuffers and SetPatternBuffers commands

  • Add: NxLib: New nxLibGetJsonMeta function to support full markup in TreeEdit

  • Add: NxLib: Support for log output to local files

  • Add: NxLibRemote: Binary item access and debug message output implemented

  • Add: NxView: Loading and saving of calibration data

  • Add: NxView: More flexible workspace calibration by specifying complete pattern or camera pose

  • Add: NxView: Support for Euler angle rotation format as input and output

  • Add: NxTreeEdit: Complete item type and protection markup

  • Add: NxTreeEdit: Binary item previews

  • Chg: NxLib: Moved calibration node from parameters to camera root node

  • Chg: NxLib: New eeprom format including a new distortion parameter for better calibration accuracy on wide angle lenses (see EepromFormat for formats)

  • Chg: NxLib: Meshes in RenderView with no texture information are now color coded according to their z-coordinate by default

  • Chg: NxView: Saving parameters now stores entire camera subtree instead of only parameter subtree

  • Fix: NxLib: Wrong capture order when explicitly specifying cameras in Capture command

  • Fix: NxLib: Improved CPU core count detection

  • Fix: NxLib: Improved multicore utilization in stereo matching (yields 5-20% performance gain)

  • Fix: NxLib: Added missing #ifdef __cplusplus in nxLib.h

  • Fix: NxLib: Improved stereo matching subpixel accuracy (view skew correction)

  • Fix: NxLib: Unloading NxLib without NxLibFinalize could cause crash after using render functions

  • Fix: NxLib: ClearOverlay caused access violation

  • Fix: NxLib: Way too long calibration time for long focal lengths

  • Fix: NxLib: Holey meshes in RenderView on NVidia graphics cards

  • Fix: NxLib: Unnormalized axis vectors caused incorrectly generated transformations

  • Fix: NxLibRemote: Resolved problem with access from concurrent threads

  • Fix: NxView: Load and save dialogs now remember last directory



  • Fix: hAcqNxLib: Could not read nodes with certain node name length’s (returned empty string)

  • Fix: NxLib: Wrong cost computation resulting in empty disparity map when using SSE2 to SSSE3


  • Add: NxCalTab can now save patterns as PDF directly

  • Fix: NxLib: Fixed bug in stereo matcher causing wrong computation of cost arrays. Related to change of default value of CostScale node.

  • Fix: C/C++ Examples fixed

  • Add: hAcqNxLib: Generation of regions implemented

  • Add: hAcqNxLib: Switchable NaN value replacement


  • Switched versioning from release date to version number. Release date is still present under the Version node

  • Add: C and C++ examples for API usage

  • Add: hAcqNxLib: Examples for NxLib Render View and Halcon based Surface Matching

  • Add: hAcqNxLib: Procedures for easy reading and writing of Halcon poses to Transformation nodes

  • Add: NxLib: Output of reprojection matrix

  • Add: Tool tips in NxView, NxTreeEdit and NxCalTab

  • Fix: Rearranged tab order of GUI elements in NxView, NxTreeEdit and NxCalTab

  • Add: NxLib: Switchable debug output

  • Chg: Final revision of C/C++ Interface unifying return values over all functions

  • Chg: Renamed MinimumDisparity node to match other nodes naming conventions

  • Fix: Resolved bug in OpenGL interaction causing RenderView/ViewPose and RenderDepthMap/ViewPose being 180deg rotated

  • Fix: Improved reliability of pattern data decoding

  • Add: hAcqNxLib: sets timestamps for image

  • Fix: hAcqNxLib: returns multichannel images correctly in Halcon, instead of splitting them into multiple single channel images.

  • Fix: NxLib: Headers were not C compatible

  • Fix: NxLib: Setting thread names for attached debuggers caused C# debugger to crash when loading NxLib from a C# wrapper DLL

  • Fix: NxLib: Resolved non-zero CPU usage when idle.

  • Fix: NxLib: Wait function failed on copied items

  • Fix: NxLib: RectifyImages command did not handle monocular cameras

  • Add: NxView: GUI now asks for hardware synchronized monocular to stereo camera calibration

  • Add: NxView: Reset buttons for stereo matching parameters

  • Add: NxTreeEdit: Display of debug output from NxLib

  • Add: NxTreeEdit: Copying of values and item paths to clipboard