measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light (Operator)

Name

measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light — Process the profile image provided as input and store the resulting disparity to the sheet-of-light model.

Signature

measure_profile_sheet_of_light(ProfileImage : : SheetOfLightModelID, MovementPose : )

Herror T_measure_profile_sheet_of_light(const Hobject ProfileImage, const Htuple SheetOfLightModelID, const Htuple MovementPose)

void MeasureProfileSheetOfLight(const HObject& ProfileImage, const HTuple& SheetOfLightModelID, const HTuple& MovementPose)

void HImage::MeasureProfileSheetOfLight(const HSheetOfLightModel& SheetOfLightModelID, const HTuple& MovementPose) const

void HSheetOfLightModel::MeasureProfileSheetOfLight(const HImage& ProfileImage, const HTuple& MovementPose) const

static void HOperatorSet.MeasureProfileSheetOfLight(HObject profileImage, HTuple sheetOfLightModelID, HTuple movementPose)

void HImage.MeasureProfileSheetOfLight(HSheetOfLightModel sheetOfLightModelID, HTuple movementPose)

void HSheetOfLightModel.MeasureProfileSheetOfLight(HImage profileImage, HTuple movementPose)

def measure_profile_sheet_of_light(profile_image: HObject, sheet_of_light_model_id: HHandle, movement_pose: Sequence[Union[int, float]]) -> None

Description

The operator measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light processes the ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image and stores the resulting disparity values to the sheet-of-light model. Please note that ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image will only be processed in the region defined by ProfileRegionProfileRegionProfileRegionProfileRegionprofileRegionprofile_region as set with the operator create_sheet_of_light_modelcreate_sheet_of_light_modelCreateSheetOfLightModelCreateSheetOfLightModelCreateSheetOfLightModelcreate_sheet_of_light_model. Since ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image is processed column by column, the profile must be oriented roughly horizontal.

Influence of different model parameters

If the model parameter 'score_type'"score_type""score_type""score_type""score_type""score_type" has been set to 'intensity'"intensity""intensity""intensity""intensity""intensity" or 'width'"width""width""width""width""width", score values are also computed and stored into the model. Refer to set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param for details on the possible values of 'score_type'"score_type""score_type""score_type""score_type""score_type".

If the model parameter 'calibration'"calibration""calibration""calibration""calibration""calibration" has been set to 'xz'"xz""xz""xz""xz""xz", 'xyz'"xyz""xyz""xyz""xyz""xyz", or 'offset_scale'"offset_scale""offset_scale""offset_scale""offset_scale""offset_scale" and all parameters required to determine the calibration transformation have been set to the sheet-of-light model, the calibration transformations will be automatically applied to the disparity values after the measurement. Refer to set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param for details on setting the calibration parameters to the sheet-of-light model.

Setting MovementPose

MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose describes the movement of the object between the acquisition of the previous profile and the acquisition of the current profile.

If the model parameter 'calibration'"calibration""calibration""calibration""calibration""calibration" has been set to 'none'"none""none""none""none""none" or 'xz'"xz""xz""xz""xz""xz" (see set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param) the movement of the object is not taken into consideration by the calibration transformation. Therefore, MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose is ignored, and it can be set to an empty tuple.

If the model parameter 'calibration'"calibration""calibration""calibration""calibration""calibration" has been set to 'xyz'"xyz""xyz""xyz""xyz""xyz", the pose describing the movement of the object must be specified to the sheet-of-light model. This can be done here with MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose or with the parameter 'movement_pose'"movement_pose""movement_pose""movement_pose""movement_pose""movement_pose" in the operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param.

If the model parameter 'calibration'"calibration""calibration""calibration""calibration""calibration" has been set to 'offset_scale'"offset_scale""offset_scale""offset_scale""offset_scale""offset_scale", a movement can be specified, but it should be considered, that the space to which this transformation is applied is most probably not metrically.

If the movement of the object between the recording of two successive profiles is constant, we recommend to set MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose here to an empty tuple, and to set the constant pose via the parameter 'movement_pose'"movement_pose""movement_pose""movement_pose""movement_pose""movement_pose" in the operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param. This configuration is often encountered, for example when the object under measurement is moved by a conveyor belt and measured by a fixed measurement system.

If the movement of the object between the recording of two successive profiles is not constant, for example because the measurement system is moved over the object by a robot, you must set MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose here for each call of measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light.

MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose must be expressed in the world coordinate system that is implicitly defined during the calibration of the measurement system.

Execution Information

This operator modifies the state of the following input parameter:

During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.

Parameters

ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2)

Input image.

SheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDsheetOfLightModelIDsheet_of_light_model_id (input_control, state is modified)  sheet_of_light_model HSheetOfLightModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the sheet-of-light model.

MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose (input_control)  number-array HTupleSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Pose describing the movement of the scene under measurement between the previously processed profile image and the current profile image.

Result

The operator measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light returns the value 2 (H_MSG_TRUE) if the given parameters are correct. Otherwise, an exception will be raised.

Possible Successors

apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibration, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResultget_sheet_of_light_result

See also

query_sheet_of_light_paramsquery_sheet_of_light_paramsQuerySheetOfLightParamsQuerySheetOfLightParamsQuerySheetOfLightParamsquery_sheet_of_light_params, get_sheet_of_light_paramget_sheet_of_light_paramGetSheetOfLightParamGetSheetOfLightParamGetSheetOfLightParamget_sheet_of_light_param, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResultget_sheet_of_light_result, apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibration

Module

3D Metrology