Mech-Eye SDK 2.0.2 Release Notes

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

New Features

Mech-Eye Viewer

Added Display of Connected Status

If a camera is already connected by a GenICam client, the status Connected is displayed in the info card of the camera in Camera List.

To connect the camera to Mech-Eye Viewer, please disconnect the camera from the GenICam client first.

Mech-Eye API

Added Method and Sample Program for 2D Image - Depth Map Mapping

New methods for mapping the 2D image to the depth map are added in Mech-Eye API 2.0.2, and a corresponding sample program is provided.

With these methods, you can input a masked 2D image and the corresponding depth map, and obtain the point cloud of the wanted area within the mask.

The corresponding sample program sets a mask for the 2D image using the ROI function of the camera, and generates point clouds of the wanted area from the last image data captured by the camera. You can also input locally saved 2D image (masked) and depth map files to generate point clouds.

New methods:

  • C++:

    • Obtain the untextured point cloud of the wanted area within the mask:

      ErrorStatus MechEyeDevice::getCloudFromTextureMask(DepthMap &, ColorMap &, DeviceIntri &, PointXYZMap &)
      
    • Obtain the textured point cloud of the wanted area within the mask:

      ErrorStatus MechEyeDevice::getCloudFromTextureMask(DepthMap &, ColorMap &, DeviceIntri &, PointXYZBGRMap &)
      
  • C#:

    • Obtain the untextured point cloud of the wanted area within the mask:

      ErrorStatus MechEyeDevice.GetCloudFromTextureMask(mmind.apiSharp.DepthMap, mmind.apiSharp.ColorMap, mmind.apiSharp.DeviceIntri, ref mmind.apiSharp.PointXYZMap)
      
    • Obtain the untextured point cloud of the wanted area within the mask:

      ErrorStatus MechEyeDevice.GetBGRCloudFromTextureMask(mmind.apiSharp.DepthMap, mmind.apiSharp.ColorMap, mmind.apiSharp.DeviceIntri, ref mmind.apiSharp.PointXYZBGRMap)
      
  • Python:

    • Obtain the untextured point cloud of the wanted area within the mask:

      Device.get_cloud_from_texture_mask(self, depth, textureMask, intri)
      
    • Obtain the untextured point cloud of the wanted area within the mask:

      Device.get_bgr_cloud_from_texture_mask(self, depth, textureMask, intri)
      

New sample programs:

Added C++ Sample Program for Saving HALCON-Readable Point Clouds

A new C++ sample program that saves HALCON-readable point clouds is added in Mech-Eye API 2.0.2. Through this sample program, you can obtain point clouds faster than through HALCON, and it is possible to obtain textured point clouds directly. Then you can read the point clouds into HALCON and perform further processing.

Improvements

Improved Capture Speed of Camera

After the firmware of laser cameras is upgraded to 2.0.2, the capture speed of the camera is improved.

Improved Performance of Accurate Coding Mode for Nano (V3) and NANO (V4)

After the camera firmware of Nano (V3) and NANO (V4) is upgraded to 2.0.2, the quality of the point cloud obtained when Fringe Coding Mode is set to Accurate is improved. Fewer outliers are present in the point cloud under complex conditions such as multiple reflections.

Mech-Eye Viewer

Improved Camera IP Address Configuration

The IP address configuration function is improved in Mech-Eye Viewer 2.0.2. The IP address and subnet mask of the IPC network interface card connected with the camera are now automatically displayed. In addition, the Interface menu in the Camera section is renamed to the more accurate IP Address Class.

Added Calibration Board Models

Options of the calibration board models in the CGB series are added to the Check Camera Intrinsic Parameter tool.

Mech-Eye API

All Cameras Connected to Different Network Interface Cards Can Be Found

When the IPC is equipped with multiple network interface cards, Mech-Eye API 2.0.2 can find all the cameras connected to all the network interface cards.

Improved Python Code Structure and Sample Programs

The Python code structure and sample programs are improved in Mech-Eye API 2.0.2. The newest sample programs can be downloaded from GitHub.

GenICam

Added the GevSCPD Parameter

After the camera firmware is upgraded to 2.0.2, the GevSCPD parameter is available in GenICam clients. You can adjust the inter-packet delay through this parameter. Increasing the value of this parameter increases the inter-packet delay, reduces packet loss but also reduces the data transmission speed.

Resolved Issues

The following issues are resolved in Mech-Eye Viewer 2.0.2:

  • When adjusting the size of ROI selection box with the handles on the box, the position of the box also changed.

  • If the 2D camera was switched after ViewOn had been clicked in View 2D Camera and Set Parameters, the displayed image was not automatically fit to the window.

  • Software occasionally crashed when the parameters were adjusted.

  • After selecting Full Pallet Simulator in the More Tools window of the toolbar, Camera Firmware Upgrade and Camera Controller were also displayed in the toolbar.

  • The IP address configuration window could be opened for a virtual camera started by loading the camera raw data, even though the camera IP address cannot be configured.

  • In Depth Analyzer, when the line was drawn along the direction of lower-left to upper-right, the plotted curve reflected the depth fluctuation along the direction of upper-left to lower-right.