Mech-Eye SDK 2.5.2 Release Notes
This topic introduces the new features, improvements, and resolved issues of Mech-Eye SDK 2.5.2.
Mech-Eye Viewer
Provide Warm-Up Tool
The warm-up tool is now provided. You can warm up the device with this tool before data acquisition to ensure data accuracy.
New Parameter: Extraction Sensitivity Mode
A new parameter Extraction Sensitivity Mode has been added. You can use this parameter to set the sensitivity to fine variations in the laser lines when extracting profiles.
Support for Continuous Data Saving
The data saving feature has been optimized. After a data acquisition, you can select Manual save to save the acquired data to local. When saving data continuously, you can select Auto save, and the software automatically saves the data.
Support for Point Cloud ROI Settings
Click the icon in the point cloud display area to go to the point cloud ROI interface. You can adjust the point cloud ROI to view the point cloud in a specific region.
Support for Profile Mode in Virtual Device
You can now view parameters in the profile mode of a virtual device.
Improve Point Z-Value Repeatability
The device automatically compensates for point Z-value repeatability errors, improving depth data accuracy and the flatness of object surfaces in the point cloud.
Optimize HDR Exposure Settings
The Auto reorder button has been added to the HDR Exposure Settings window. You can click this button to sort the three exposure times in descending order: Exposure Time 1 > Exposure Time 2 > Exposure Time 3.
Improve Synchronization of Parameter Group States between Clients
When other clients modify parameter settings or switch parameter groups, the client in use automatically synchronizes these changes without the need for manual synchronization, ensuring consistent operations across all clients.
Bug Fixes
The following issues have been resolved in Mech-Eye SDK 2.5.2:
-
After connecting the device, when switching to a custom reference frame before data acquisition, no point cloud was generated.
-
When processing profiles in the profile mode for transparent objects, if the Spot Selection parameter is set to Nearest or Farthest, and the Edge Selection parameter is set to Top edge or Bottom edge, the generated profiles did not align with the parameter settings.
-
The value of the Signal collection period parameter in the Encoder and Input Signal Viewer tool changed when the system language was changed.
-
When the Data Acquisition Method is set to Frame-Based and the Scan Line Count parameter is set to 1, after acquiring data once, if the target object was replaced and data was acquired again, the acquired data did not change.
-
In the data display area, after zooming or panning an image, switching to the display of other data types and then returning to the image display will not retain the modified zoom level or position.
-
When acquiring data in the profile mode with LNX-8080-GL or LNX-8300-GL, abnormal stripes appeared across the entire image.
-
When the IPC is offline, the virtual device cannot connect.
-
Occasional: When dragging to rotate the point cloud with the left mouse button, the rotation center is not at the center of the point cloud.
Mech-Eye API
Provide Warm-Up Samples
The following samples are provided to warm up the device.
C, C++, and C# |
WarmUp |
---|---|
Python |
warm_up |
The relevant samples can be obtained from the installation path or GitHub. For the sample usage guide of different languages, please refer to Sample Usage Guide. |
New Parameter: Extraction Sensitivity Mode
A new parameter ExtractionSensitivityMode has been added. You can use this parameter to set the sensitivity to fine variations in the laser lines when extracting profiles.
Improve Point Z-Value Repeatability
The device automatically compensates for point Z-value repeatability errors, improving depth data accuracy and the flatness of object surfaces in the point cloud.
Flip Depth Maps and Intensity Images
You can call the following new methods to flip the depth map and intensity image around the X-axis or Y-axis.
-
C++
-
C#
-
Python
void mmind::eye::ProfileBatch::flip(bool flipX, bool flipY);
void MMind.Eye.ProfileBatch.Flip(bool flipX, bool flipY);
mecheye.profiler.ProfileBatch.flip(self, flipX: bool, flipY: bool) -> None
Handle NaN and Negative Values
The following samples are added to automatically detect and handle NaN and negative values in depth data.
C, C++, and C# |
HandleNanAndNegativeInDepth |
---|---|
Python |
handle_nan_and_negative_in_depth |
The relevant samples can be obtained from the installation path or GitHub. For the sample usage guide of different languages, please refer to Sample Usage Guide. |
Point Cloud Output Supported in Multiple Laser Profiler Calibration
You can call the following new methods to stitch point clouds.
-
C++
-
C#
MultiProfilerStatus ProfilerCalibrationInterfaces::stitchPointCloud(const ProfilerImage& majorImage, const std::vector<ProfilerImage>& minorImages, int cloudStitchOption, int paramRefineOption, const std::vector<CalibResult>& calibResults, bool correctRingError = true, int normalEstimationKnn = -1, const std::optional<MultiStitchParams>& stitchParams = std::nullopt);
MultiProfilerStatus ProfilerCalibrationInterfaces.StitchPointCloud(in ProfilerImage majorImage, in List<ProfilerImage> minorImages, int cloudStitchOption, int paramRefineOption, in List<CalibResult> calibResults, in MultiStitchParams stitchParams, bool correctRingError = true, int normalEstimationKnn = -1);
MultiProfilerErrorStatus ProfilerCalibrationInterfaces.StitchPointCloud(in ProfilerImage majorImage, in List<ProfilerImage> minorImages, in int cloudStitchOption, in int paramRefineOption, in List<CalibResult> calibResults, bool correctRingError = true, int normalEstimationKnn = -1);
You can call the following new methods to obtain stitched point clouds. Textured or untextured point clouds are available.
-
C++
-
C#
MultiProfilerStatus ProfilerCalibrationInterfaces::getStitchedPointCloud(ProfileBatch::UntexturedPointCloud& pointCloud) const;
MultiProfilerStatus ProfilerCalibrationInterfaces::getStitchedPointCloud(ProfileBatch::TexturedPointCloud& pointCloud) const;
MultiProfilerErrorStatus GetStitchedPointCloud(out ProfileUntexturedPointCloud pointCloud);
MultiProfilerErrorStatus GetStitchedPointCloud(out ProfileTexturedPointCloud pointCloud);
The following new enumeration types are added for setting point cloud stitching.
|
Set the method for point cloud stitching. |
|
Set whether stitching parameters are optimized. |
C# Sample Added: Calibration for Multiple Laser Profilers Scanning the Same Object
A new C# sample MultipleProfilersCalibration has been added. This sample supports calibration of multiple laser profilers simultaneously scanning the same object, providing output for calibration results, errors, stitching results, and the stitched depth map and point cloud. A custom calibration target is required based on the specific scene. Refer to the Calibration Target Design and Machining Guide for more information.
The relevant samples can be obtained from the installation path or GitHub. For the sample usage guide of different languages, please refer to Sample Usage Guide. |
GenICam Interface
Provide Sample for Continuous Data Acquisition
A new GenICam sample trigger_with_software_and_fixed_rate_nonstop has been added. You can use this sample to continuously scan the target object. After data acquisition is triggered, the laser profiler continuously scans the target object and returns fixed-length data segments.
Please refer to Usage Guide for HALCON Samples to obtain the samples and check the prerequisites for using the samples. |
New Parameter: Extraction Sensitivity Mode
A new parameter ExtractionSensitivityMode has been added. You can use this parameter to set the sensitivity to fine variations in the laser lines when extracting profiles.