|
Mech-Eye API 2.6.0
API reference documentation for Mech-Eye 3D Laser Profiler
|
Public Types | |
| enum class | CloudStitchOption { RefineStitchParameters = 1 , OverlapRegionUniformSampling } |
| Cloud stitching options. This enum defines the options available for stitching point clouds. More... | |
| enum class | StitchParamRefineOption { RefineT = 1 } |
| Stitching parameter refinement options. This enum defines the options available for stitching parameter refinement. More... | |
| using | CorrectedResult = TransformedImageInfo |
Public Member Functions | |
| bool | setCalibCameraModel (const std::string &cameraModel) |
| Sets the model of the laser profilers used in the calibration, in the form of a string such as "Mech-Eye LNX-8030". | |
| void | setMajorDeviceInfo (const DeviceInfo &deviceInfo) |
| Initializes the configuration for the primary laser profiler. | |
| void | setMinorDeviceInfos (const std::vector< DeviceInfo > &deviceInfos) |
| Initializes the configuration for the secondary laser profiler(s). | |
| void | setCalibTargetSize (const TargetSize &targetSize) |
| Sets the dimensions of the frustums of the calibration target. | |
| void | setCalibTargetPoses (const std::vector< TargetPose > &targetPoses) |
| Defines the relative position of the frustums of the calibration target. | |
| MultiProfilerErrorStatus | calculateCalibration (const cv::Mat &majorDepth, const std::vector< cv::Mat > &minorDepths, std::vector< CalibResult > &calibResults, bool unifiedMoveDirection=true, const std::optional< cv::Point3f > &majorCameraMoveDirVec=std::nullopt) |
| Calculates the calibration results based on the depth maps acquired by the primary and secondary laser profilers. | |
| MultiProfilerErrorStatus | calibrateSingleProfilerMoveDirection (const cv::Mat &firstDepth, const cv::Mat &secondDepth, ProfilerMovementAxis moveAxis, MoveDirCalibResult &calibResult, const std::optional< cv::Point3f > &knownYAxisMoveDir=std::nullopt) |
| Calibrates the scanning movement direction of a single profiler based two depth maps acquired along a defined axis. | |
| MultiProfilerErrorStatus | calibrateSingleProfilerWidthExpansion (const cv::Mat &firstDepth, const cv::Mat &secondDepth, const std::vector< RefPositionBias > &refPositionBiases, std::vector< StitchParams > &results, const std::optional< cv::Point3f > &knownYAxisMoveDir=std::nullopt) |
| Performs width-expansion calibration for a single profiler based on two depth maps captured at different lateral reference positions. | |
| ProfilerHandEyeErrorStatus | calibrateTrussRobot (const std::vector< TrussRobotCalibMatchedPoint > &matchedPoints, const TrussRobotCalibConfig &config, TrussRobotCalibResult &calibResult) |
| Calculates the calibration results based on the depth maps acquired by the primary and secondary laser profilers. | |
| ProfilerHandEyeErrorStatus | transformPointFromProfilerCoord2TrussRobotCoord (const cv::Point3f &profilerPoint, const cv::Point3f &profilerCapturePosition, const TrussRobotCalibResult &calibResult, cv::Point3f &dstPoint, const std::optional< cv::Point3f > &tcpOffSet=std::nullopt) |
| Obtain the calibration result function. | |
| MultiProfilerErrorStatus | correctProfilerMoveDir (const cv::Point3f &moveDirVec, const ProfilerImage &srcImage, CorrectedResult &result, const MoveDirCorrectionOptions &options={}) |
| Correct the profiler output based on its movement direction. | |
| MultiProfilerErrorStatus | stitchProfilerWidthExpansion (const ImageInfo &majorImageInfo, const std::vector< ImageInfo > &minorImageInfos, const WidthExpansionType &type, FusionResult &results, const std::vector< StitchParams > &multiParams, bool fusionFlag) |
| Perform width-expansion stitching for a single profiler (S/Z-type scanning). | |
| MultiProfilerErrorStatus | stitchProfilerWidthExpansion (const ImageInfo &majorImageInfo, const std::vector< ImageInfo > &minorImageInfos, const WidthExpansionType &type, FusionResult &results, const std::vector< StitchParams > &multiParams, bool fusionFlag, const std::vector< bool > &moveConsistentFlags) |
| Perform width-expansion stitching for a single profiler (S/Z-type scanning). | |
| bool | saveCalibFiles (bool needSaveAll=true, const std::string &saveFolderName="") const |
| Saves the calibration data to files in the specified path. | |
| MultiProfilerErrorStatus | stitchImages (const ProfilerImage &majorImage, const std::vector< ProfilerImage > &minorImages, const std::vector< CalibResult > &calibResults, MultiStitchResult &stitchResults, const std::optional< MultiStitchParams > &stitchParams=std::nullopt) |
| Calculates the stitching results when the laser profilers are arranged in the Angle mode (i.e., in the opposite direction or around a circle). | |
| MultiProfilerErrorStatus | stitchImagesForZParallel (const ProfilerImage &majorImage, const std::vector< ProfilerImage > &minorImages, const std::vector< CalibResult > &calibResults, MultiStitchResultZParallel &stitchResults, const std::optional< MultiStitchParams > &stitchParams=std::nullopt) |
| Calculates the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction). | |
| MultiProfilerErrorStatus | 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) |
| Calculates the stitching results for point clouds. | |
| MultiProfilerErrorStatus | getStitchedPointCloud (ProfileBatch::UntexturedPointCloud &pointCloud) const |
| Retrieves the stitched point cloud based on the stitching results. | |
| MultiProfilerErrorStatus | getStitchedPointCloud (ProfileBatch::TexturedPointCloud &texturedPointCloud) const |
| Retrieves the stitched point cloud based on the stitching results, including texture information. | |
| MultiProfilerErrorStatus | imageFusionForZParallel (FusionResult &fusionResult, const std::vector< bool > &fusionFlag={}) |
| Performs fusion based on the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction). | |
| MultiProfilerErrorStatus | imageFusionForZParallel (const MultiStitchResultZParallel &stitchResult, const cv::Point2i &majorBias, FusionResult &fusionResult, const std::vector< bool > &fusionFlag={}) |
| Performs fusion based on the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction). | |
| bool | saveStitchFiles (const std::string &saveFolderName="") const |
| Saves the stitching results to files in the specified path. | |
| bool | saveStitchFilesForZParallel (const std::string &saveFolderName="") const |
| Saves the stitching results to files in the specified path when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction). | |
| MultiProfilerErrorStatus | loadCalibProperties (const std::string &loadFolderName="", bool needLoadAll=false) |
| Loads the calibration data from the files in the specified path, typically used before stitching starts. | |
| std::vector< CalibResult > | getCurrentCalibResults () const |
| Gets the current calibration results, which can be used for stitching. | |
| DeviceInfo | getMajorDeviceInfo () const |
| Gets the major device information. This function retrieves the information of the primary device used in the calibration or processing pipeline. | |
| TargetSize | getTargetSize () const |
| Gets the target size. This function retrieves the size of the calibration target. | |
| std::string | getCameraModel () const |
| Gets the camera model identifier. This function retrieves the model name of the profiler. | |
| std::vector< DeviceInfo > | getMinorDeviceInfos () const |
| Gets the minor devices' information. This function retrieves a list of information for all minor devices in the system. | |
| std::vector< TargetPose > | getTargetPoses () const |
| Gets the calibration target poses. This function retrieves the spatial positions and orientations of the calibration target captured during the calibration process. | |
| ProfilerCalibrationInterfaces (const std::string &cameraModel, const DeviceInfo &majorDeviceInfo, const std::vector< DeviceInfo > &minorDeviceInfos, const TargetSize &targetSize, const std::vector< TargetPose > &targetPoses) | |
| Constructs a new ProfilerCalibrationInterfaces object with specified parameters. This constructor initializes the calibration interface with the provided camera model, device information, target size, and target poses. | |
| ProfilerCalibrationInterfaces (const std::string &cameraModel, const DeviceInfo &profilerDeviceInfo, const TargetSize &targetSize, const std::vector< TargetPose > &targetPoses) | |
| Constructs a new ProfilerCalibrationInterfaces object with specified parameters. This constructor initializes the calibration interface with the provided camera model, device information, target size, and target poses. | |
Friends | |
| class | InternalInterfaces |
Definition at line 49 of file ProfilerCalibrationInterfaces.h.
| using mmind::eye::ProfilerCalibrationInterfaces::CorrectedResult = TransformedImageInfo |
Definition at line 70 of file ProfilerCalibrationInterfaces.h.
|
strong |
Cloud stitching options. This enum defines the options available for stitching point clouds.
| Enumerator | |
|---|---|
| RefineStitchParameters | Refine the stitching parameters during cloud stitching. |
| OverlapRegionUniformSampling | Apply uniform sampling to the overlap region during stitching. |
Definition at line 56 of file ProfilerCalibrationInterfaces.h.
|
strong |
Stitching parameter refinement options. This enum defines the options available for stitching parameter refinement.
| Enumerator | |
|---|---|
| RefineT | Refine the translation parameters. |
Definition at line 66 of file ProfilerCalibrationInterfaces.h.
| mmind::eye::ProfilerCalibrationInterfaces::ProfilerCalibrationInterfaces | ( | const std::string & | cameraModel, |
| const DeviceInfo & | majorDeviceInfo, | ||
| const std::vector< DeviceInfo > & | minorDeviceInfos, | ||
| const TargetSize & | targetSize, | ||
| const std::vector< TargetPose > & | targetPoses ) |
Constructs a new ProfilerCalibrationInterfaces object with specified parameters. This constructor initializes the calibration interface with the provided camera model, device information, target size, and target poses.
| [in] | cameraModel | A string representing the camera model (e.g., "Mech-Eye LNX-8030"). |
| [in] | majorDeviceInfo | A structure containing the configuration parameters of the major device. |
| [in] | minorDeviceInfos | A vector of DeviceInfo structures containing configuration data for each minor device. |
| [in] | targetSize | A structure defining the size of the calibration target. |
| [in] | targetPoses | A vector of TargetPose structures describing the positions and orientations of the calibration targets. |
| mmind::eye::ProfilerCalibrationInterfaces::ProfilerCalibrationInterfaces | ( | const std::string & | cameraModel, |
| const DeviceInfo & | profilerDeviceInfo, | ||
| const TargetSize & | targetSize, | ||
| const std::vector< TargetPose > & | targetPoses ) |
Constructs a new ProfilerCalibrationInterfaces object with specified parameters. This constructor initializes the calibration interface with the provided camera model, device information, target size, and target poses.
| [in] | cameraModel | A string representing the camera model (e.g., "Mech-Eye LNX-8030"). |
| [in] | profilerDeviceInfo | A structure containing the configuration parameters of the major device. |
| [in] | targetSize | A structure defining the size of the calibration target. |
| [in] | targetPoses | A vector of TargetPose structures describing the positions and orientations of the calibration targets. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::calculateCalibration | ( | const cv::Mat & | majorDepth, |
| const std::vector< cv::Mat > & | minorDepths, | ||
| std::vector< CalibResult > & | calibResults, | ||
| bool | unifiedMoveDirection = true, | ||
| const std::optional< cv::Point3f > & | majorCameraMoveDirVec = std::nullopt ) |
Calculates the calibration results based on the depth maps acquired by the primary and secondary laser profilers.
| [in] | majorDepth | Depth map acquired by the primary laser profiler. |
| [in] | minorDepths | Depth map(s) acquired by secondary laser profiler(s). |
| [in] | unifiedMoveDirection | Whether to use a unified motion direction vector for both the primary and secondary profilers. |
| [in] | majorCameraMoveDirVec | Optional predefined motion direction vector of the primary profiler. If not provided, the direction will be estimated from the data. |
| [out] | calibResults | The calibration results and errors. See CalibResult for details. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::calibrateSingleProfilerMoveDirection | ( | const cv::Mat & | firstDepth, |
| const cv::Mat & | secondDepth, | ||
| ProfilerMovementAxis | moveAxis, | ||
| MoveDirCalibResult & | calibResult, | ||
| const std::optional< cv::Point3f > & | knownYAxisMoveDir = std::nullopt ) |
Calibrates the scanning movement direction of a single profiler based two depth maps acquired along a defined axis.
| [in] | firstDepth | Depth map from the first scan. |
| [in] | secondDepth | Depth map from the second scan along the same motion axis. |
| [in] | moveAxis | Axis along which movement calibration is to be performed. See ProfilerMovementAxis. |
| [in] | knownYAxisMoveDir | Optional pre-calibrated Y-axis movement vector. If provided, the algorithm will use it as prior information. |
| [out] | calibResults | The resulting movement-direction calibration output. See MoveDirCalibResult for details. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::calibrateSingleProfilerWidthExpansion | ( | const cv::Mat & | firstDepth, |
| const cv::Mat & | secondDepth, | ||
| const std::vector< RefPositionBias > & | refPositionBiases, | ||
| std::vector< StitchParams > & | results, | ||
| const std::optional< cv::Point3f > & | knownYAxisMoveDir = std::nullopt ) |
Performs width-expansion calibration for a single profiler based on two depth maps captured at different lateral reference positions.
| [in] | firstDepth | Depth map from the initial scan. |
| [in] | secondDepth | Depth map from the secondary scan with lateral offset. |
| [in] | refPositionBiases | Offsets between the reference positions of the first and second scans. See RefPositionBias for details. |
| [in] | knownYAxisMoveDir | Optional pre-calibrated Y-axis movement direction vector. |
| [out] | results | Estimated stitching parameters and error metrics. See StitchParams. |
| ProfilerHandEyeErrorStatus mmind::eye::ProfilerCalibrationInterfaces::calibrateTrussRobot | ( | const std::vector< TrussRobotCalibMatchedPoint > & | matchedPoints, |
| const TrussRobotCalibConfig & | config, | ||
| TrussRobotCalibResult & | calibResult ) |
Calculates the calibration results based on the depth maps acquired by the primary and secondary laser profilers.
| [in] | matchedPoints | The number of matching point groups must be greater than or equal to 3, and they should not be collinear. |
| [in] | profilerCalibPosition | When collecting calibration data, the machine coordinate of the camera's initial position. |
| [in] | TrussRobotCalibConfig | Configuration parameters for truss robot calibration. See TrussRobotCalibConfig for details. |
| [out] | calibResult | The calibration results . See CalibResult for details. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::correctProfilerMoveDir | ( | const cv::Point3f & | moveDirVec, |
| const ProfilerImage & | srcImage, | ||
| CorrectedResult & | result, | ||
| const MoveDirCorrectionOptions & | options = {} ) |
Correct the profiler output based on its movement direction.
| [in] | moveDirVec | Unit movement direction vector in the camera coordinate system. |
| [in] | srcImage | Original profiler image (depth and intensity). |
| [out] | result | Corrected output, including depth map, intensity map, and pixel bias. |
| [in] | options | Optional custom output size and resolution settings. |
| std::string mmind::eye::ProfilerCalibrationInterfaces::getCameraModel | ( | ) | const |
Gets the camera model identifier. This function retrieves the model name of the profiler.
| std::vector< CalibResult > mmind::eye::ProfilerCalibrationInterfaces::getCurrentCalibResults | ( | ) | const |
Gets the current calibration results, which can be used for stitching.
| DeviceInfo mmind::eye::ProfilerCalibrationInterfaces::getMajorDeviceInfo | ( | ) | const |
Gets the major device information. This function retrieves the information of the primary device used in the calibration or processing pipeline.
| std::vector< DeviceInfo > mmind::eye::ProfilerCalibrationInterfaces::getMinorDeviceInfos | ( | ) | const |
Gets the minor devices' information. This function retrieves a list of information for all minor devices in the system.
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::getStitchedPointCloud | ( | ProfileBatch::TexturedPointCloud & | texturedPointCloud | ) | const |
Retrieves the stitched point cloud based on the stitching results, including texture information.
| texturedPointCloud | [out] The textured point cloud. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::getStitchedPointCloud | ( | ProfileBatch::UntexturedPointCloud & | pointCloud | ) | const |
Retrieves the stitched point cloud based on the stitching results.
| pointCloud | [out] The untextured point cloud. |
| std::vector< TargetPose > mmind::eye::ProfilerCalibrationInterfaces::getTargetPoses | ( | ) | const |
Gets the calibration target poses. This function retrieves the spatial positions and orientations of the calibration target captured during the calibration process.
| TargetSize mmind::eye::ProfilerCalibrationInterfaces::getTargetSize | ( | ) | const |
Gets the target size. This function retrieves the size of the calibration target.
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::imageFusionForZParallel | ( | const MultiStitchResultZParallel & | stitchResult, |
| const cv::Point2i & | majorBias, | ||
| FusionResult & | fusionResult, | ||
| const std::vector< bool > & | fusionFlag = {} ) |
Performs fusion based on the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction).
| [in] | stitchResult | The stitching results used for fusion under Z-parallel configuration. It contains:
|
| [in] | majorBias | The pixel-wise bias of the (virtual) major profiler relative to the real primary profiler used as the reference in fusion. This parameter is typically:
|
| [out] | fusionResult | The fused intensity image and depth map, and the coordinates of the upper-left pixels of the fused intensity image and depth map in the real primary profiler’s camera coordinate system. |
| [in] | fusionFlag | Optional. Specifies whether to perform fusion for each minor profiler. If left empty, fusion will be performed for all minor profilers. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::imageFusionForZParallel | ( | FusionResult & | fusionResult, |
| const std::vector< bool > & | fusionFlag = {} ) |
Performs fusion based on the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction).
| [out] | fusionResult | The fused intensity image and depth map, and the coordinates of the upper-left pixels of the intensity image and depth map acquired by the primary laser profiler. |
| [in] | fusionFlag | Optional. Specifies whether to perform fusion. If left empty, fusion will be performed. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::loadCalibProperties | ( | const std::string & | loadFolderName = "", |
| bool | needLoadAll = false ) |
Loads the calibration data from the files in the specified path, typically used before stitching starts.
| [in] | loadFolderName | The path of the files storing the calibration data to be loaded. |
| [in] | needLoadAll | Specifies whether all data related to the calibration should be loaded. When set to "false", only the calibration configurations, results, and errors will be loaded. When set to "true" (the default value), the intensity images and depth maps acquired by the laser profilers will also be loaded. |
| bool mmind::eye::ProfilerCalibrationInterfaces::saveCalibFiles | ( | bool | needSaveAll = true, |
| const std::string & | saveFolderName = "" ) const |
Saves the calibration data to files in the specified path.
| [in] | needSaveAll | Specifies whether all data related to the calibration should be saved. When set to "false", only the calibration configurations, results, and errors will be saved. When set to "true" (the default value), the intensity images and depth maps acquired by the laser profilers will also be saved. |
| [in] | saveFolderName | The path where the files should be saved. If left empty, the default path will be used. |
| bool mmind::eye::ProfilerCalibrationInterfaces::saveStitchFiles | ( | const std::string & | saveFolderName = "" | ) | const |
Saves the stitching results to files in the specified path.
| [in] | saveFolderName | The path where the files should be saved. If left empty, the default path will be used. |
| bool mmind::eye::ProfilerCalibrationInterfaces::saveStitchFilesForZParallel | ( | const std::string & | saveFolderName = "" | ) | const |
Saves the stitching results to files in the specified path when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction).
| [in] | saveFolderName | The path where the files should be saved. If left empty, the default path will be used. |
| bool mmind::eye::ProfilerCalibrationInterfaces::setCalibCameraModel | ( | const std::string & | cameraModel | ) |
Sets the model of the laser profilers used in the calibration, in the form of a string such as "Mech-Eye LNX-8030".
| [in] | cameraModel | The laser profiler model. |
| void mmind::eye::ProfilerCalibrationInterfaces::setCalibTargetPoses | ( | const std::vector< TargetPose > & | targetPoses | ) |
Defines the relative position of the frustums of the calibration target.
| [in] | targetPoses | The position and orientation of the frustums of the calibration target. See TargetPose for details. |
| void mmind::eye::ProfilerCalibrationInterfaces::setCalibTargetSize | ( | const TargetSize & | targetSize | ) |
Sets the dimensions of the frustums of the calibration target.
| [in] | targetSize | The dimensions of the frustums, including the upper base length, lower base length, and height. See TargetSize for details. |
| void mmind::eye::ProfilerCalibrationInterfaces::setMajorDeviceInfo | ( | const DeviceInfo & | deviceInfo | ) |
Initializes the configuration for the primary laser profiler.
| [in] | deviceInfo | The configuration for the primary laser profiler. See DeviceInfo for details. |
| void mmind::eye::ProfilerCalibrationInterfaces::setMinorDeviceInfos | ( | const std::vector< DeviceInfo > & | deviceInfos | ) |
Initializes the configuration for the secondary laser profiler(s).
| [in] | deviceInfos | The configuration for each secondary laser profiler. See DeviceInfo for details. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::stitchImages | ( | const ProfilerImage & | majorImage, |
| const std::vector< ProfilerImage > & | minorImages, | ||
| const std::vector< CalibResult > & | calibResults, | ||
| MultiStitchResult & | stitchResults, | ||
| const std::optional< MultiStitchParams > & | stitchParams = std::nullopt ) |
Calculates the stitching results when the laser profilers are arranged in the Angle mode (i.e., in the opposite direction or around a circle).
| [in] | majorImage | Intensity image and depth map from the primary laser profiler. |
| [in] | minorImages | Intensity image(s) and depth map(s) from the secondary laser profiler(s). |
| [in] | calibResults | The calibration results and errors used for stitching, which can be either calculated or loaded from files. See CalibResult for details. |
| [out] | stitchResults | The stitched intensity image and depth map, and transformation result file. |
| [in] | stitchParams | Optional. If left empty, default or previously set calibration parameters will be used for stitching. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::stitchImagesForZParallel | ( | const ProfilerImage & | majorImage, |
| const std::vector< ProfilerImage > & | minorImages, | ||
| const std::vector< CalibResult > & | calibResults, | ||
| MultiStitchResultZParallel & | stitchResults, | ||
| const std::optional< MultiStitchParams > & | stitchParams = std::nullopt ) |
Calculates the stitching results when the laser profilers are arranged in the Wide mode (i.e., side-by-side or in the reversed direction).
| [in] | majorImage | Intensity image and depth map from the primary laser profiler. |
| [in] | minorImages | Intensity image(s) and depth map(s) from the secondary laser profiler(s). |
| [in] | calibResults | The calibration results and errors used for stitching, which can be either calculated or loaded from files. See CalibResult for details. |
| [out] | stitchResults | The stitched intensity image and depth map and transformation result file. |
| [in] | stitchParams | Optional. If left empty, default or previously set calibration parameters will be used for stitching. |
| MultiProfilerErrorStatus mmind::eye::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 ) |
Calculates the stitching results for point clouds.
| [in] | majorImage | Intensity image and depth map from the primary laser profiler. |
| [in] | minorImages | Intensity image(s) and depth map(s) from the secondary laser profiler(s). |
| [in] | cloudStitchOption | Options for cloud stitching. |
| [in] | paramRefineOption | Options for parameter refinement. |
| [in] | calibResults | The calibration results and errors used for stitching, which can be either calculated or loaded from files. See CalibResult for details. |
| [in] | correctRingError | When enabled, the system applies loop closure correction on top of the initial registration, mitigating accumulated errors caused by topological loops to enhance overall fusion quality. |
| [in] | normalEstimationKnn | Number of nearest neighbors used for normal estimation. -1 means using the default number of neighbors suitable for most point clouds. |
| [in] | stitchParams | Optional. If left empty, default or previously set calibration parameters will be used for stitching. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::stitchProfilerWidthExpansion | ( | const ImageInfo & | majorImageInfo, |
| const std::vector< ImageInfo > & | minorImageInfos, | ||
| const WidthExpansionType & | type, | ||
| FusionResult & | results, | ||
| const std::vector< StitchParams > & | multiParams, | ||
| bool | fusionFlag ) |
Perform width-expansion stitching for a single profiler (S/Z-type scanning).
| [in] | majorImageInfo | Image data from the primary scan. |
| [in] | minorImageInfos | Image data from secondary scan segments. |
| [in] | type | Width-expansion scanning mode. |
| [out] | results | Output fused image and stitching metadata. |
| [in] | multiParams | Calibration parameters and error metrics. See StitchParams. |
| [in] | fusionFlag | Whether to merge the overlapping regions between scans. |
| MultiProfilerErrorStatus mmind::eye::ProfilerCalibrationInterfaces::stitchProfilerWidthExpansion | ( | const ImageInfo & | majorImageInfo, |
| const std::vector< ImageInfo > & | minorImageInfos, | ||
| const WidthExpansionType & | type, | ||
| FusionResult & | results, | ||
| const std::vector< StitchParams > & | multiParams, | ||
| bool | fusionFlag, | ||
| const std::vector< bool > & | moveConsistentFlags ) |
Perform width-expansion stitching for a single profiler (S/Z-type scanning).
| [in] | majorImageInfo | Image data from the primary scan. |
| [in] | minorImageInfos | Image data from secondary scan segments. |
| [in] | type | Width-expansion scanning mode. |
| [out] | results | Output fused image and stitching metadata. |
| [in] | multiParams | Calibration parameters and error metrics. See StitchParams. |
| [in] | fusionFlag | Whether to merge overlapping regions between scans. |
| [in] | moveConsistentFlags | Flags indicating whether each secondary scan shares the same movement direction as the primary scan. |
| ProfilerHandEyeErrorStatus mmind::eye::ProfilerCalibrationInterfaces::transformPointFromProfilerCoord2TrussRobotCoord | ( | const cv::Point3f & | profilerPoint, |
| const cv::Point3f & | profilerCapturePosition, | ||
| const TrussRobotCalibResult & | calibResult, | ||
| cv::Point3f & | dstPoint, | ||
| const std::optional< cv::Point3f > & | tcpOffSet = std::nullopt ) |
Obtain the calibration result function.
| [in] | profilerPoint | The camera coordinates of the feature points to be transformed. |
| [in] | profilerCurrentPosition | The machine coordinate of the camera's initial position during measurement. |
| [in] | calibResult | The calibration result obtained by the function "getResult()". |
| [out] | dstPoint | Profiler Point to TrussRobot Point. |
| [in] | tcpOffSet | Optional. Set the offset between the current TCP and the TCP used during calibration. |
|
friend |
Definition at line 490 of file ProfilerCalibrationInterfaces.h.