Class MechEyeDevice

Class Documentation

class MechEyeDevice

Interface that is used to connect the Mech-Eye Industrial 3D Camera and access basic information of the device.

Public Functions

MechEyeDevice()

Constructor.

~MechEyeDevice()

Destructor.

ErrorStatus connect(const MechEyeDeviceInfo &info, int timeout = 10000)

Connects to the device by the MechEyeDeviceInfo identifying a device.

Parameters
  • info[in] the device information used to connect the device which can be obtained by enumerateMechEyeDeviceList function.

  • timeout[in] the timeout value (ms)

Returns

See ErrorStatus for details.

ErrorStatus connect(const std::string &ipAddress, int port = 5577, int timeout = 10000)

Connects to the device by the ip address and port identifying a device.

Parameters
  • ipAddress[in] the device ip address used to connect the device

  • port[in] the device port used to connect the device

  • timeout[in] the timeout value (ms)

Returns

See ErrorStatus for details.

void disconnect()

Disconnects from the device.

ErrorStatus getDeviceTemperature(DeviceTemperature &temperature) const

Gets the temperature information about the connected device.

Parameters

temperature[out] See DeviceTemperature for details.

Returns

See ErrorStatus for details.

ErrorStatus getDeviceInfo(MechEyeDeviceInfo &info) const

Gets the basic information about the connected device.

Parameters

info[out] See MechEyeDeviceInfo for details.

Returns

See ErrorStatus for details.

ErrorStatus getDeviceIntri(DeviceIntri &intri) const

Gets the intrinsic camera parameter about the connected device.

Parameters

intri[out] See DeviceIntri for details.

Returns

See ErrorStatus for details.

ErrorStatus getDeviceResolution(DeviceResolution &imageResolution) const

Gets the device resolution.

Parameters

imageResolution[out] See DeviceResolution for details.

Returns

See ErrorStatus for details.

ErrorStatus captureColorMap(ColorMap &colorMap) const

Captures a color image.

Parameters

colorMap[out] See Frame for details.

Returns

See ErrorStatus for details.

ErrorStatus captureDepthMap(DepthMap &depthMap) const

Captures a depth image.

Parameters

depthMap[out] See Frame for details.

Returns

See ErrorStatus for details.

ErrorStatus capturePointXYZMap(PointXYZMap &pointXYZMap) const

Captures a point cloud image.

Parameters

pointXYZMap[out] See Frame for details.

Returns

See ErrorStatus for details.

ErrorStatus capturePointXYZBGRMap(PointXYZBGRMap &pointXYZBGRMap) const

Captures a colored point cloud image.

Parameters

pointXYZBGRMap[out] See Frame for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DExposureMode(Scanning2DSettings::Scan2DExposureMode value) const

Sets the camera exposure mode to capture the 2D images.

Parameters

value[in] See Scanning2DSettings::exposureMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DExposureMode(Scanning2DSettings::Scan2DExposureMode &value) const

Gets the camera exposure mode to capture the 2D images.

Parameters

value[out] See Scanning2DSettings::exposureMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DExposureTime(double value) const

Sets the camera exposure time in Scanning2DSettings::Timed exposure mode.

Parameters

value[in] See Scanning2DSettings::exposureTime for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DExposureTime(double &value) const

Gets the camera exposure time in Scanning2DSettings::Timed exposure mode.

Parameters

value[out] See Scanning2DSettings::exposureTime for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DHDRExposureSequence(std::vector<double> &values) const

Sets the camera HDR exposure sequence in Scanning2DSettings::HDR exposure mode.

Parameters

values[in] See Scanning2DSettings::hdrExposureSequence for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DHDRExposureSequence(std::vector<double> &values) const

Gets the camera HDR exposure sequence in Scanning2DSettings::HDR exposure mode.

Parameters

values[out] See Scanning2DSettings::hdrExposureSequence for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DExpectedGrayValue(int value) const

Sets the expected gray value in Scanning2DSettings::Auto exposure mode.

Parameters

value[in] See Scanning2DSettings::expectedGrayValue for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DExpectedGrayValue(int &value) const

Gets the expected gray value in Scanning2DSettings::Auto exposure mode.

Parameters

valus[out] See Scanning2DSettings::expectedGrayValue for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DToneMappingEnable(bool value) const

Sets whether gray level transformation algorithm is used or not.

Parameters

value[in] See Scanning2DSettings::toneMappingEnable for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DToneMappingEnable(bool &value) const

Gets whether gray level transformation algorithm is used or not.

Parameters

value[out] See Scanning2DSettings::toneMappingEnable for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DSharpenFactor(double value) const

Sets the image sharpen factor.

Parameters

value[in] See Scanning2DSettings::sharpenFactor for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DSharpenFactor(double &value) const

Gets the image sharpen factor.

Parameters

value[out] See Scanning2DSettings::sharpenFactor for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan2DROI(const ROI &value) const

Sets ROI to capture the 2D image.

Parameters

value[in] See Scanning2DSettings::scan2DROI for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan2DROI(ROI &value) const

Gets ROI to capture the 2D image.

Parameters

value[out] See Scanning2DSettings::scan2DROI for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan3DExposure(const std::vector<double> &valueSequence) const

Sets the exposure time of the camera to capture the 3D image.

Parameters

valueSequence[in] See Scanning3DSettings::exposureSequence for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan3DExposure(std::vector<double> &valueSequence) const

Gets the exposure time sequence of the camera to capture the 3D image.

Parameters

valueSequence[out] See Scanning3DSettings::exposureSequence for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan3DGain(double value) const

Sets gain to capture the 3d image.

Parameters

value[in] See Scanning3DSettings::gain for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan3DGain(double &value) const

Gets gain to capture the 3d image.

Parameters

value[out] See Scanning3DSettings::gain for details.

Returns

See ErrorStatus for details.

ErrorStatus setScan3DROI(const ROI &value) const

Sets ROI to capture the 3D image.

Parameters

value[in] See Scanning3DSettings::scan3DROI for details.

Returns

See ErrorStatus for details.

ErrorStatus getScan3DROI(ROI &value) const

Gets ROI to capture the 3D image. MechEye UHP serials in capture mode ‘Merge’ does not support this parameter.

Parameters

value[out] See Scanning3DSettings::scan3DROI for details.

Returns

See ErrorStatus for details.

ErrorStatus setDepthRange(const DepthRange &value) const

Sets depth range in 3D image.

Parameters

value[in] See Scanning3DSettings::depthRange for details.

Returns

See ErrorStatus for details.

ErrorStatus getDepthRange(DepthRange &value) const

Gets depth range in 3D image.

Parameters

value[out] See Scanning3DSettings::depthRange for details.

Returns

See ErrorStatus for details.

ErrorStatus setFringeContrastThreshold(int value) const

Sets the signal contrast threshold for effective pixels.

Parameters

value[in] See PointCloudProcessingSettings::fringeContrastThreshold for details.

Returns

See ErrorStatus for details.

ErrorStatus getFringeContrastThreshold(int &value) const

Gets the signal contrast threshold for effective pixels.

Parameters

value[out] See PointCloudProcessingSettings::fringeContrastThreshold for details.

Returns

See ErrorStatus for details.

ErrorStatus setFringeMinThreshold(int value) const

Sets the signal minimum threshold for effective pixels.

Parameters

value[in] See PointCloudProcessingSettings::fringeMinThreshold for details.

Returns

See ErrorStatus for details.

ErrorStatus getFringeMinThreshold(int &value) const

Gets the signal minimum threshold for effective pixels.

Parameters

value[out] See PointCloudProcessingSettings::fringeMinThreshold for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudOutlierFilterMode(PointCloudProcessingSettings::CloudOutlierFilterMode value) const

Sets the point cloud outliers removal algorithm.

Deprecated:

Please use MechEyeDevice::getCloudOutlierRemovalMode() instead.

Parameters

value[in] See PointCloudProcessingSettings::outlierFilterMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudOutlierFilterMode(PointCloudProcessingSettings::CloudOutlierFilterMode &value) const

Gets the point cloud outliers removal algorithm.

Deprecated:

Please use MechEyeDevice::getCloudOutlierRemovalMode() instead.

Parameters

value[out] See PointCloudProcessingSettings::outlierFilterMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudSmoothMode(PointCloudProcessingSettings::CloudSmoothMode value) const

Sets the point cloud smoothing algorithm.

Deprecated:

Please use MechEyeDevice::setCloudSurfaceSmoothingMode() instead.

Parameters

value[in] See PointCloudProcessingSettings::smoothMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudSmoothMode(PointCloudProcessingSettings::CloudSmoothMode &value) const

Gets the point cloud smoothing algorithm.

Deprecated:

Please use MechEyeDevice::getCloudSurfaceSmoothingMode() instead.

Parameters

value[out] See PointCloudProcessingSettings::smoothMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing value) const

Sets the point cloud surface smoothing mode.

Parameters

value[in] See PointCloudProcessingSettings::surfaceSmoothing for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &value) const

Gets the point cloud surface smoothing mode.

Parameters

value[out] See PointCloudProcessingSettings::surfaceSmoothing for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval value) const

Sets the point cloud noise removal mode.

Parameters

value[in] See PointCloudProcessingSettings::noiseRemoval for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &value) const

Gets the point cloud noise removal mode.

Parameters

value[out] See PointCloudProcessingSettings::noiseRemoval for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval value) const

Sets the point cloud outlier removal mode.

Parameters

value[in] See PointCloudProcessingSettings::outlierRemoval for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &value) const

Gets the point cloud outlier removal mode.

Parameters

value[out] See PointCloudProcessingSettings::outlierRemoval for details.

Returns

See ErrorStatus for details.

ErrorStatus setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation value) const

Sets the point cloud edge preservation mode.

Parameters

value[in] See PointCloudProcessingSettings::edgePreservation for details.

Returns

See ErrorStatus for details.

ErrorStatus getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &value) const

Gets the point cloud edge preservation mode.

Parameters

value[out] See PointCloudProcessingSettings::edgePreservation for details.

Returns

See ErrorStatus for details.

ErrorStatus setProjectorFringeCodingMode(ProjectorSettings::FringeCodingMode value) const

Sets projector’s fringe coding mode. Only support with Mech-Eye NANO and PRO series industrial 3D cameras.

Parameters

value[in] See ProjectorSettings::fringeCodingMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getProjectorFringeCodingMode(ProjectorSettings::FringeCodingMode &value) const

Gets projector’s fringe coding mode. Only support with Mech-Eye NANO and PRO series industrial 3D cameras.

Parameters

value[out] See ProjectorSettings::fringeCodingMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setProjectorPowerLevel(ProjectorSettings::PowerLevel value) const

Sets projector’s powerl level. Only support with Mech-Eye NANO, LOG and PRO series industrial 3D cameras.

Parameters

value[in] See ProjectorSettings::powerLevel for details.

Returns

See ErrorStatus for details.

ErrorStatus getProjectorPowerLevel(ProjectorSettings::PowerLevel &value) const

Gets projector’s powerl level. Only support with Mech-Eye NANO, LOG and PRO series industrial 3D cameras.

Parameters

value[out] See ProjectorSettings::powerLevel for details.

Returns

See ErrorStatus for details.

ErrorStatus setProjectorAntiFlickerMode(ProjectorSettings::AntiFlickerMode value) const

Sets projector’s anti-flicker mode. Only support with Mech-Eye NANO and PRO series industrial 3D camera.

Parameters

value[in] See ProjectorSettings::antiFlickerMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getProjectorAntiFlickerMode(ProjectorSettings::AntiFlickerMode &value) const

Gets projector’s anti-flicker mode. Only support with Mech-Eye NANO and PRO series industrial 3D camera.

Parameters

value[out] See ProjectorSettings::antiFlickerMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setLaserSettings(const LaserSettings &value) const

Sets laser device settings. Only support with Mech-Eye Laser series industrial 3D camera.

Parameters

value[in] See LaserSettings for details.

Returns

See ErrorStatus for details.

ErrorStatus getLaserSettings(LaserSettings &value) const

Gets laser device settings. Only support with Mech-Eye Laser series industrial 3D camera.

Parameters

value[out] See LaserSettings for details.

Returns

See ErrorStatus for details.

ErrorStatus setUhpSettings(UhpSettings value) const

Sets UHP device settings. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[in] See UhpSettings for details.

Returns

See ErrorStatus for details.

ErrorStatus getUhpSettings(UhpSettings &value) const

Gets UHP device settings. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[out] See UhpSettings for details.

Returns

See ErrorStatus for details.

ErrorStatus setUhpCaptureMode(UhpSettings::UhpCaptureMode value) const

Sets UHP camera capture mode. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[in] See UhpSettings::captureMode and UhpSettings::UhpCaptureMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getUhpCaptureMode(UhpSettings::UhpCaptureMode &value) const

Gets UHP camera capture mode. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[out] See UhpSettings::captureMode and UhpSettings::UhpCaptureMode for details.

Returns

See ErrorStatus for details.

ErrorStatus setUhpFringeCodingMode(UhpSettings::UhpFringeCodingMode value) const

Sets UHP camera fringe coding mode. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[in] See UhpSettings::fringeCodingMode and UhpSettings::UhpFringeCodingMode for details.

Returns

See ErrorStatus for details.

ErrorStatus getUhpFringeCodingMode(UhpSettings::UhpFringeCodingMode &value) const

Gets UHP camera fringe coding mode. Only support with Mech-Eye UHP series industrial 3D camera.

Parameters

value[out] See UhpSettings::fringeCodingMode and UhpSettings::UhpFringeCodingMode for details.

Returns

See ErrorStatus for details.

ErrorStatus saveAllSettingsToUserSets() const

Saves all parameters to the current user set.

Returns

See ErrorStatus for details.

ErrorStatus setBoardType(HandeyeCalibrationSettings::boardType boardType) const

Set the board type for this calibration.

Parameters

value[in] See boardType.

Returns

See ErrorStatus for details.

ErrorStatus setCalibrateType(HandeyeCalibrationSettings::calibrationType calibrationType) const

Set the calibration type for this calibration.

Parameters

value[in] See calibrationType.

Returns

See ErrorStatus for details.

ErrorStatus addPoseAndDetect(const std::vector<double> &poseData) const

Add current pose of robot, capture the image and calculate necessary parameters prepared for calibration.

Parameters

value[in] See poseData.

Returns

See ErrorStatus for details.

ErrorStatus calculateExtrinsics(std::string &extrinsic) const

Start to calculate the result of handeye calibration.

Parameters

value[out] See extrinsic.

Returns

See ErrorStatus for details.

ErrorStatus captureCalibrationFeatureImage(ColorMap &colorMap) const

Only capture current image with feature recognition result for test.

Parameters

value[in] See colorMap.

Returns

See ErrorStatus for details.

ErrorStatus setCurrentUserSet(const std::string &userSetName) const

Sets the current user set by user set name.

Call saveAllSettingsToUserSets to take effect permanently on the device.

Parameters

userSetName[in]

Returns

See ErrorStatus for details.

ErrorStatus getCurrentUserSet(std::string &userSetName) const

Gets the name of the current user set.

See also

getAllUserSets

Parameters

userSetName[out]

Returns

See ErrorStatus for details.

ErrorStatus getAllUserSets(std::vector<std::string> &userSetNames) const

Gets the names of all user sets.

Parameters

userSetNames[out]

Returns

See ErrorStatus for details.

ErrorStatus deleteUserSet(const std::string &userSetName) const

Deletes the user set by the user set name. If input name is the current user set it will change the current user set to the previous index value in the user set list.

Call saveAllSettingsToUserSets to take effect permanently on the device.

Parameters

userSetName[in]

Returns

See ErrorStatus for details.

ErrorStatus addUserSet(const std::string &userSetName) const

Adds a new user set by the user set name and sets all the current device settings to it. It will also change the current user set to the input value if adds success.

Call saveAllSettingsToUserSets to take effect permanently on the device.

Parameters

userSetName[in]

Returns

See ErrorStatus for details.

Public Static Functions

static std::vector<MechEyeDeviceInfo> enumerateMechEyeDeviceList()

Enumerates Mech-Eye Industrial 3D Camera by the type of MechEyeDeviceInfo identifying the device.

Returns

Information on all detectable Mech-Eye Industrial 3D Camera.

static ErrorStatus getCloudFromTextureMask(const DepthMap &depthMap, const ColorMap &textureMask, const DeviceIntri &intri, PointXYZMap &pointXYZMask)

Gets the point cloud image within the mask specified by the texture map.

Parameters
  • depthMap[in] See Frame for details.

  • textureMask[in] See Frame for details.

  • intri[in] See DeviceIntri for details.

  • pointXYZMask[out] See Frame for details.

Returns

See ErrorStatus for details.

static ErrorStatus getCloudFromTextureMask(const DepthMap &depthMap, const ColorMap &textureMask, const ColorMap &texture, const DeviceIntri &intri, PointXYZBGRMap &pointXYZBGRMask)

Gets the colored point cloud image within the mask specified by the texture map.

Parameters
  • depthMap[in] See Frame for details.

  • textureMask[in] See Frame for details.

  • texture[in] See Frame for details.

  • intri[in] See DeviceIntri for details.

  • pointXYZBGRMask[out] See Frame for details.

Returns

See ErrorStatus for details.