Skip to content

write_poseWritePoseWritePosewrite_poseT_write_pose🔗

Short description🔗

write_poseWritePoseWritePosewrite_poseT_write_pose — Write a 3D pose to a text file.

Signature🔗

write_pose( pose Pose, filename.write PoseFile )void WritePose( const HTuple& Pose, const HTuple& PoseFile )static void HOperatorSet.WritePose( HTuple pose, HTuple poseFile )def write_pose( pose: Sequence[Union[int, float]], pose_file: str ) -> None

Herror T_write_pose( const Htuple Pose, const Htuple PoseFile )

void HPose::WritePose( const HString& PoseFile ) const

void HPose::WritePose( const char* PoseFile ) const

void HPose::WritePose( const wchar_t* PoseFile ) const (Windows only)

void HPose.WritePose( string poseFile )

Description🔗

write_poseWritePose is used to write a 3D pose Poseposepose into a text file with the name PoseFileposeFilepose_file. The default HALCON file extension for the 3D pose is 'dat'.

A pose describes a rigid 3D transformation, i.e., a transformation consisting of an arbitrary translation and rotation, with 6 parameters, three for the translation, three for the rotation. With a seventh parameter different pose types can be indicated (see create_poseCreatePose).

A file generated by write_poseWritePose looks like the following:

    # 3D POSE PARAMETERS: rotation and translation

    # Used representation type:
    f 0

    # Rotation angles [deg] or Rodriguez vector:
    r -17.8134 1.83816 0.288092

    # Translation vector (x y z [m]):
    t 0.280164 0.150644 1.7554

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

Poseposepose (input_control) pose → (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[int, float]]Htuple (double / Hlong)

3D pose.

Number of elements: 7

PoseFileposeFilepose_file (input_control) filename.write → (string)HTuple (HString)HTuple (string)strHtuple (char*)

File name of the external camera parameters.

Default: 'campose.dat'"campose.dat"
Suggested values: 'campose.dat', 'campose_initial.dat', 'campose_final.dat'"campose.dat", "campose_initial.dat", "campose_final.dat"
File extension: .dat

Example🔗

(HDevelop)

* Perform hand-eye calibration.
calibrate_hand_eye (CalibDataID, Errors)
* Query the camera parameters and the poses.
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)
* Get poses computed by the hand eye calibration.
get_calib_data (CalibDataID, 'camera', 0, 'base_in_cam_pose', BaseInCamPose)
get_calib_data (CalibDataID, 'calib_obj', 0,\
                'obj_in_tool_pose', ObjInToolPose)
* Store the camera parameters to file.
write_cam_par (CamParam, DataNameStart + 'final_campar.dat')
* Save the hand eye calibration results to file.
write_pose (BaseInCamPose, DataNameStart + 'final_pose_cam_base.dat')
write_pose (ObjInToolPose, DataNameStart + 'final_pose_tool_calplate.dat')

Result🔗

write_poseWritePose returns 2 (H_MSG_TRUE) if all parameter values are correct and the file has been written successfully. If necessary an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

camera_calibrationCameraCalibration, get_calib_dataGetCalibData, hom_mat3d_to_poseHomMat3dToPose

See also

create_poseCreatePose, find_marks_and_poseFindMarksAndPose, camera_calibrationCameraCalibration, disp_caltabDispCaltab, sim_caltabSimCaltab, read_poseReadPose, pose_to_hom_mat3dPoseToHomMat3d, hom_mat3d_to_poseHomMat3dToPose

Module🔗

Foundation