measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLight (Operator)

Name

measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLight — 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)

Description

The operator measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLight processes the ProfileImageProfileImageProfileImageProfileImageprofileImage and stores the resulting disparity values to the sheet-of-light model. Please note that ProfileImageProfileImageProfileImageProfileImageprofileImage will only be processed in the region defined by ProfileRegionProfileRegionProfileRegionProfileRegionprofileRegion as set with the operator create_sheet_of_light_modelcreate_sheet_of_light_modelCreateSheetOfLightModelCreateSheetOfLightModelCreateSheetOfLightModel. Since ProfileImageProfileImageProfileImageProfileImageprofileImage 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" has been set to 'intensity'"intensity""intensity""intensity""intensity" or '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_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParam for details on the possible values of 'score_type'"score_type""score_type""score_type""score_type".

If the model parameter 'calibration'"calibration""calibration""calibration""calibration" has been set to 'xz'"xz""xz""xz""xz", 'xyz'"xyz""xyz""xyz""xyz", or '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_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParam for details on setting the calibration parameters to the sheet-of-light model.

Setting MovementPose

MovementPoseMovementPoseMovementPoseMovementPosemovementPose 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" has been set to 'none'"none""none""none""none" or 'xz'"xz""xz""xz""xz" (see set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParam) the movement of the object is not taken into consideration by the calibration transformation. Therefore, MovementPoseMovementPoseMovementPoseMovementPosemovementPose is ignored, and it can be set to an empty tuple.

If the model parameter 'calibration'"calibration""calibration""calibration""calibration" has been set to '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 MovementPoseMovementPoseMovementPoseMovementPosemovementPose or with the parameter 'movement_pose''movement_pose''movement_pose''movement_pose''movementPose' in the operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParam.

If the model parameter 'calibration'"calibration""calibration""calibration""calibration" has been set to '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 MovementPoseMovementPoseMovementPoseMovementPosemovementPose here to an empty tuple, and to set the constant pose via the parameter 'movement_pose''movement_pose''movement_pose''movement_pose''movementPose' in the operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParam. 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 MovementPoseMovementPoseMovementPoseMovementPosemovementPose here for each call of measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLight.

MovementPoseMovementPoseMovementPoseMovementPosemovementPose 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:

The value of this parameter may not be shared across multiple threads without external synchronization.

Parameters

ProfileImageProfileImageProfileImageProfileImageprofileImage (input_object)  singlechannelimage objectHImageHImageHobject (byte / uint2)

Input image.

SheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDsheetOfLightModelID (input_control, state is modified)  sheet_of_light_model HSheetOfLightModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the sheet-of-light model.

MovementPoseMovementPoseMovementPoseMovementPosemovementPose (input_control)  number-array HTupleHTupleHtuple (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_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLight 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_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResult

See also

query_sheet_of_light_paramsquery_sheet_of_light_paramsQuerySheetOfLightParamsQuerySheetOfLightParamsQuerySheetOfLightParams, get_sheet_of_light_paramget_sheet_of_light_paramGetSheetOfLightParamGetSheetOfLightParamGetSheetOfLightParam, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResult, apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration

Module

3D Metrology