Mech-Eye SDK 2.4.0 Release Notes

This topic introduces the new features, improvements, and resolved issues of Mech-Eye SDK 2.4.0.

Mech-Eye Viewer

Enhanced Performance of Processing Signals Input from External Devices

After the firmware of the laser profiler is upgraded to 2.4.0, the performance of processing signals input from external devices has been greatly enhanced. The requirements on the durations of logic signals and intervals between signals are reduced considerably, effectively enhancing the cycle time.

The specific changes in the requirements are listed below. For more instructions on controlling data acquisition with external devices, refer to Control Data Acquisition with External Device.

Control method

Logic signal / Interval between signals

Duration requirements

Before 2.4.0

2.4.0

Control data acquisition with MEASURE_START and Scan Line Count

HIGH level of the MEASURE_START terminal

240 io measure start parameter

100 ms

1 ms

Control data acquisition with MEASURE_START only

HIGH level of the MEASURE_START terminal

240 io measure start 1

300 ms

1 ms

LOW level of the MEASURE_START terminal

240 io measure start 2

600 ms

100 ms

Control data acquisition with MEASURE_START and MEASURE_STOP

HIGH level of the MEASURE_START terminal

240 io measure start stop 1

100 ms

1 ms

HIGH level of the MEASURE_STOP terminal

240 io measure start stop 2

100 ms

1 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_START terminal

240 io measure start stop 3

300 ms

100 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_STOP terminal

240 io measure start stop 4

600 ms

100 ms

View Signals Input from Encoder and External Devices

Mech-Eye Viewer 2.4.0 now provides Encoder and Input Signal Viewer, allowing you to view the signals input to the laser profiler from the encoder and other external devices, check if the signals are input correctly, and verify the input timing and duration of logic signals, etc.

New Parameters: Blind Spot Filtering and Noise Removal

A new Filters category has been added to the scan mode, providing the Blind Spot Filtering and Noise Removal parameters. Blind Spot Filtering identifies and removes false data caused by blind spots, thereby avoiding influence on further data processing. Noise Removal reduces noise in the depth map and point cloud. Adjusting these parameters can improve the quality of the depth data.

New Parameters: Profile Alignment

A new Profile Alignment category has been added to the scan mode, providing the Z-Axis Profile Alignment and X-Axis Profile Alignment parameters. These parameters correct vibrations in the profiles along the Z-axis and X-axis.

Upgraded ROI Function

The previous Z-Direction ROI in the profile mode is now upgraded to ROI, adjustable on both the X-axis and Z-axis, improving usability.

Adjustable X-Axis Resolution

The X-Axis Resolution parameter has been changed from read-only to adjustable. If you need the Y-axis resolution of the scan data to match the X-axis resolution, and adjusting the Y-axis resolution is challenging, you can adjust this parameter.

Better Log and Troubleshooting Guidance

Mech-Eye SDK 2.4.0 has improved the log interface and added the software log for Mech-Eye Viewer, preserving a more comprehensive operation record. Additionally, troubleshooting guidance is now available for errors, making it easier to identify causes and resolve issues.

Brand New Custom Reference Frame Tool

The brand new custom reference frame tool allows you to set a custom reference frame more flexibly, suitable for a variety of scenarios. You can also save the point cloud data in the custom reference frame, reducing the subsequent data processing workload.

New Parameter: Trigger Delay

The previous Exposure Delay parameter (in the Scan Settings category in the scan mode) has been changed to Trigger Delay. When using multiple laser profilers to scan the same target object, adjust this parameter to avoid interference among them.

  • Do not adjust this parameter when only one laser profiler is used.

  • The previous Exposure Delay parameter was used to adjust the delay time between laser emission and the start of exposure. Testing has shown that a delay time of 10 μs ensures stable brightness of the laser lines in the raw image. After the firmware of the laser profiler is upgraded to 2.4.0, this delay time is uniformly set to 10 μs. If the previous Exposure Delay was set to a value smaller than 10 μs, the max scan rate may be reduced.

Save Data Immediately Usable by Mech-MSR with One Click

The Save Data tool now provides a Save data in the format immediately usable by Mech-MSR option. Data saved with this option selected can be immediately used by the 3D Laser Profiler Step in Mech-MSR.

View Grayscale Values of Pixels in Raw Image

The raw image display area now provides an Exposure information toggle switch. When it is turned on, the pixels with grayscale values of 255 and grayscale values smaller than the value of the Min Grayscale Value parameter are displayed in different colors. The exposure information assists in adjusting parameters in the Brightness Settings category and the Min Grayscale Value parameter, helping acquire better quality profiles.

View Profile Intensity and Sharpness

The raw image display area now includes an Intensity and sharpness curves toggle switch. When it is turned on, the intensity and sharpness curves of the profile are displayed below the raw image. Using these curves, you can check the intensity and sharpness values at different positions in the profile. This feature assists in adjusting the parameters in the Brightness Settings category and the Min Sharpness parameter, helping acquire better-quality profiles.

View Spot Coordinates

In the profile display area, you can now view the (x,z) coordinates of the spot in the pixel column where the cursor is located, making it easier to check the depth data of each spot.

Improve Display of Reference Frame Grid in Profile

In the profile display area, the reference frame grid is now only displayed within the range of the FOV, so that you can quickly check if the profile is zoomed.

Improve Point Cloud Display Area

The point cloud display area now provides various assistive icons for adjusting the display of the point cloud and reference frame.

Measurement Tool, Tilt Correction, and Height Correction: Improve Adjustment of Detection Area Size

In the Measurement Tool, Tilt Correction, and Height Correction tools, you can now adjust the widths of detection areas by dragging their left or right sides, improving usability.

Resolved Issues

The following issues have been resolved in Mech-Eye SDK 2.4.0:

  • Occasional: Already connected laser profilers could still be connected in other clients.

  • When the laser profiler disconnected during data acquisition due to network issues, Mech-Eye Viewer froze and remained irresponsive after the pop-up window was closed.

  • When the IP address of the laser profiler was modified to match that of the computer Ethernet port connected to it, Mech-Eye Viewer did not prompt for an IP address conflict and prevent the modification.

  • When a computer network interface card had multiple IP addresses in different subnets, the Computer IP Configuration section in the IP Configuration window in Mech-Eye Viewer displayed the first IP address of this network interface card, while the last IP address was used to connect to a laser profiler.

Mech-Eye API

Enhanced Performance of Processing Signals Input from External Devices

After the firmware of the laser profiler is upgraded to 2.4.0, the performance of processing signals input from external devices has been greatly enhanced. The requirements on the durations of logic signals and intervals between signals are reduced considerably, effectively enhancing the cycle time.

The specific changes in the requirements are listed below. For more instructions on controlling data acquisition with external devices, refer to Control Data Acquisition with External Device.

Control method

Logic signal / Interval between signals

Duration requirements

Before 2.4.0

2.4.0

Control data acquisition with MEASURE_START and Scan Line Count

HIGH level of the MEASURE_START terminal

240 io measure start parameter

100 ms

1 ms

Control data acquisition with MEASURE_START only

HIGH level of the MEASURE_START terminal

240 io measure start 1

300 ms

1 ms

LOW level of the MEASURE_START terminal

240 io measure start 2

600 ms

100 ms

Control data acquisition with MEASURE_START and MEASURE_STOP

HIGH level of the MEASURE_START terminal

240 io measure start stop 1

100 ms

1 ms

HIGH level of the MEASURE_STOP terminal

240 io measure start stop 2

100 ms

1 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_START terminal

240 io measure start stop 3

300 ms

100 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_STOP terminal

240 io measure start stop 4

600 ms

100 ms

New Parameter: Noise Removal

Mech-Eye SDK 2.4.0 provides a Noise Removal parameter, used to remove the noise in the depth map and point cloud. In Mech-Eye API, you can enable the noise removal function with the EnableNoiseRemoval parameter, and then adjust the intensity of noise removal with the NoiseRemovalIntensity parameter.

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 Parameters: Blind Spot Filtering and Profile Alignment

Mech-Eye SDK 2.4.0 provides Blind Spot Filtering, Z-Axis Profile Alignment, and X-Axis Profile Alignment parameters. Blind Spot Filtering identifies and removes false data caused by blind spots, thereby avoiding influence on further data processing. Z-Axis Profile Alignment and X-Axis Profile Alignment are used to correct the Z-axis and X-axis vibrations in the profiles.

After adjusting the relevant settings in Mech-Eye Viewer, you can enable the above functions in Mech-Eye API with the following parameters:

  • EnableBlindSpotFiltering: Enable blind spot filtering.

  • EnableZAxisAlignment: Enable Z-axis profile alignment.

  • EnableXAxisAlignment: Enable X-axis profile alignment.

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.

Upgraded ROI Function

The previous ZDirectionRoi parameter (Z-Direction ROI) is now upgraded to ROI, adjustable on both the X-axis and Z-axis, improving usability.

Adjustable X-Axis Resolution

The XAxisResolution (X-Axis Resolution) parameter has been changed from read-only to adjustable. If you need the Y-axis resolution of the scan data to match the X-axis resolution, and adjusting the Y-axis resolution is challenging, you can adjust this parameter.

New Parameter: Trigger Delay

The previous ExposureDelay parameter has been changed to TriggerDelay (Trigger Delay). When using multiple laser profilers to scan the same target object, adjust this parameter to avoid interference among them.

  • Do not adjust this parameter when only one laser profiler is used.

  • The previous ExposureDelay parameter was used to adjust the delay time between laser emission and the start of exposure. Testing has shown that a delay time of 10 μs ensures stable brightness of the laser lines in the raw image. After the firmware of the laser profiler is upgraded to 2.4.0, this delay time is uniformly set to 10 μs. If the previous ExposureDelay was set to a value smaller than 10 μs, the max scan rate may be reduced.

Check ProfileBatch Status

You can now check the status of the profile data by calling the following methods and obtaining the flag value of the ProfileBatch object. Currently, you can check if some data are lost in a retrieved batch of profile data with these methods.

  • Obtain all flag values:

    • C++

    • C#

    • Python

    int mmind::eye::ProfileBatch::getFlag() const;
    int ProfileBatch.GetFlag() const;
    get_flag(self: ProfileBatch) -> int
  • Check the value of one flag:

    • C++

    • C#

    • Python

    bool mmind::eye::ProfileBatch::checkFlag(mmind::eye::ProfileBatch::BatchFlag) const;
    bool ProfileBatch.CheckFlag(ProfileBatch.BatchFlag);
    check_flag(self: ProfileBatch, flag: int) -> bool

Resolved Issues

The following issues have been resolved in Mech-Eye SDK 2.4.0:

  • Occasional: Already connected laser profilers could still be connected in other clients.

  • The number of profiles set by Scan Line Count had been acquired, and the movement of the target object relative to the laser profiler had stopped, but some of the acquire data was lost. Mech-Eye API would still wait to receive the set number of profiles, resulting in a timeout.

  • When the discoverProfilers() had been called but no connectable laser profilers were discovered, the program continuously reported the Receive Data error and would not terminate automatically.

  • The Y-axis resolution of the point cloud saved by the TriggerWithSoftwareAndEncoder sample was incorrect.

GenICam Interface

Enhanced Performance of Processing Signals Input from External Devices

After the firmware of the laser profiler is upgraded to 2.4.0, the performance of processing signals input from external devices has been greatly enhanced. The requirements on the durations of logic signals and intervals between signals are reduced considerably, effectively enhancing the cycle time.

The specific changes in the requirements are listed below. For more instructions on controlling data acquisition with external devices, refer to Control Data Acquisition with External Device.

Control method

Logic signal / Interval between signals

Duration requirements

Before 2.4.0

2.4.0

Control data acquisition with MEASURE_START and Scan Line Count

HIGH level of the MEASURE_START terminal

240 io measure start parameter

100 ms

1 ms

Control data acquisition with MEASURE_START only

HIGH level of the MEASURE_START terminal

240 io measure start 1

300 ms

1 ms

LOW level of the MEASURE_START terminal

240 io measure start 2

600 ms

100 ms

Control data acquisition with MEASURE_START and MEASURE_STOP

HIGH level of the MEASURE_START terminal

240 io measure start stop 1

100 ms

1 ms

HIGH level of the MEASURE_STOP terminal

240 io measure start stop 2

100 ms

1 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_START terminal

240 io measure start stop 3

300 ms

100 ms

Interval between the rising edge of the MEASURE_START terminal and the previous rising edge of the MEASURE_STOP terminal

240 io measure start stop 4

600 ms

100 ms

Upgraded ROI Function

The previous Z-Direction ROI (ZDirectionRoi parameter) is now upgraded to ROI, adjustable on both the X-axis and Z-axis, improving usability. You can adjust the position and size of the ROI through the following parameters:

  • XAxisWidth: Sets the X-axis width of the ROI.

  • XAxisCenterPosition: Sets the center position of the ROI on the X-axis.

  • ZAxisHeight: Sets the Z-axis height of the ROI.

Adjustable X-Axis Resolution

The XAxisResolution (X-Axis Resolution) parameter has been changed from read-only to adjustable. If you need the Y-axis resolution of the scan data to match the X-axis resolution, and adjusting the Y-axis resolution is challenging, you can adjust this parameter.

New Parameter: Trigger Delay

The previous ExposureDelay parameter has been changed to TriggerDelay (Trigger Delay). When using multiple laser profilers to scan the same target object, adjust this parameter to avoid interference among them.

  • Do not adjust this parameter when only one laser profiler is used.

  • The previous ExposureDelay parameter was used to adjust the delay time between laser emission and the start of exposure. Testing has shown that a delay time of 10 μs ensures stable brightness of the laser lines in the raw image. After the firmware of the laser profiler is upgraded to 2.4.0, this delay time is uniformly set to 10 μs. If the previous ExposureDelay was set to a value smaller than 10 μs, the max scan rate may be reduced.

Resolved Issues

The following issues have been resolved in Mech-Eye SDK 2.4.0:

  • Occasional: Already connected laser profilers could still be connected in other clients.

  • During data acquisition, if the IP address of another laser profiler in the same local network was modified by another GenICam client, the data acquisition of the currently connected laser profiler would terminate due to an error.

  • When the previous round of data acquisition had been stopped due to a timeout, the data obtained in the next round of data acquisition was abnormal.

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.