HALCON Reference Manual 10.0.2
Table of Contents / Calibration / Multi-View ClassesClassesClasses | | | Operators

get_calib_dataget_calib_dataget_calib_dataGetCalibDataGetCalibData (Operator)

Name

get_calib_dataget_calib_dataget_calib_dataGetCalibDataGetCalibData — Query data stored or computed in a calibration data model.

Signature

get_calib_data( : : CalibDataID, ItemType, ItemIdx, DataName : DataValue)

Herror get_calib_data(const Hlong CalibDataID, const char* ItemType, const Hlong ItemIdx, const char* DataName, double* DataValue)

Herror T_get_calib_data(const Htuple CalibDataID, const Htuple ItemType, const Htuple ItemIdx, const Htuple DataName, Htuple* DataValue)

Herror get_calib_data(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx, const HTuple& DataName, double* DataValue)

double HCalibData::GetCalibData(const HTuple& ItemType, const HTuple& ItemIdx, const HTuple& DataName) const

void HOperatorSetX.GetCalibData(
[in] VARIANT CalibDataID, [in] VARIANT ItemType, [in] VARIANT ItemIdx, [in] VARIANT DataName, [out] VARIANT* DataValue)

VARIANT HCalibDataX.GetCalibData(
[in] BSTR ItemType, [in] VARIANT ItemIdx, [in] BSTR DataName)

static void HOperatorSet.GetCalibData(HTuple calibDataID, HTuple itemType, HTuple itemIdx, HTuple dataName, out HTuple dataValue)

HTuple HCalibData.GetCalibData(string itemType, HTuple itemIdx, string dataName)

HTuple HCalibData.GetCalibData(string itemType, int itemIdx, string dataName)

Description

With the operator get_calib_dataget_calib_dataget_calib_dataGetCalibDataGetCalibData, you can query data of the calibration data model CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID. Note that in the following, all 'pose'-related data are given in relation to the coordinate system of the model's reference camera. It can be set or queried by set_calib_dataset_calib_dataset_calib_dataSetCalibDataSetCalibData or get_calib_dataget_calib_dataget_calib_dataGetCalibDataGetCalibData, respectively.

Model-related data

For ItemTypeItemTypeItemTypeItemTypeitemType='model'"model""model""model""model", you must pass the value 'general'"general""general""general""general" in ItemIdxItemIdxItemIdxItemIdxitemIdx. Depending on the selection in DataNameDataNameDataNameDataNamedataName, the following model-related data is then returned in DataValueDataValueDataValueDataValuedataValue:

'type'"type""type""type""type":

Type of the calibration data model. Currently, only models of type 'calibration_object'"calibration_object""calibration_object""calibration_object""calibration_object" are supported.

'reference_camera'"reference_camera""reference_camera""reference_camera""reference_camera":

Index of the reference camera for the calibration model. All poses stored in the calibration data model are specified in the coordinate system of this reference camera.

'num_cameras'"num_cameras""num_cameras""num_cameras""num_cameras":

Number of cameras in the calibration data model (see create_calib_datacreate_calib_datacreate_calib_dataCreateCalibDataCreateCalibData).

'num_calib_objs'"num_calib_objs""num_calib_objs""num_calib_objs""num_calib_objs":

Number of calibration objects in the calibration data model (see create_calib_datacreate_calib_datacreate_calib_dataCreateCalibDataCreateCalibData).

'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model":

A handle to a camera setup model containing the poses and the internal parameters for the calibrated cameras from the current calibration setup. Note that the returned data handle needs to be cleared by clear_camera_setup_modelclear_camera_setup_modelclear_camera_setup_modelClearCameraSetupModelClearCameraSetupModel.

The parameter 'reference_camera'"reference_camera""reference_camera""reference_camera""reference_camera" can be set with set_calib_dataset_calib_dataset_calib_dataSetCalibDataSetCalibData. The other parameters are set during model creation or are a result of the calibration process and cannot be modified.

Camera-related data

With ItemTypeItemTypeItemTypeItemTypeitemType='camera'"camera""camera""camera""camera", you can query data all cameras or for a specific camera.

With ItemIdxItemIdxItemIdxItemIdxitemIdx='general'"general""general""general""general", the default value of a parameter for all cameras is returned. In contrast, if you pass a valid camera index instead, i.e. a number between 0 and NumCameras-1 (NumCameras is specified during model creation with create_calib_datacreate_calib_datacreate_calib_dataCreateCalibDataCreateCalibData), only the parameter value of the specified camera is returned.

By selecting the following parameters in DataNameDataNameDataNameDataNamedataName, you can query which camera parameters are (or have been) optimized during the calibration performed by calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras:

'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings":

List of the camera parameters that are marked for calibration.

'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings":

List of camera parameters that are excluded from the calibration.

These parameters can be modified by a corresponding call to set_calib_dataset_calib_dataset_calib_dataSetCalibDataSetCalibData.

The following parameters can only be queried for a specific camera, i.e., you must pass a valid camera index in ItemIdxItemIdxItemIdxItemIdxitemIdx:

'init_params'"init_params""init_params""init_params""init_params":

Initial internal camera parameters (set with set_calib_data_cam_paramset_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam).

'params'"params""params""params""params":

Optimized internal camera parameters.

'params_deviations'"params_deviations""params_deviations""params_deviations""params_deviations":

Standard deviations of the optimized camera parameters, as estimated at the end of the camera calibration.

'params_covariances'"params_covariances""params_covariances""params_covariances""params_covariances":

Covariance matrix of the optimized camera parameters, as estimated at the end of the camera calibration.

'params_labels'"params_labels""params_labels""params_labels""params_labels":

A convenience list of labels for the entries returned by 'params'"params""params""params""params" and 'params_deviations'"params_deviations""params_deviations""params_deviations""params_deviations". This list is camera-type specific.

'init_pose'"init_pose""init_pose""init_pose""init_pose":

Initial camera pose , relative to the current reference camera. It is computed internally based on observation poses during the calibration process (see calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras).

'pose'"pose""pose""pose""pose":

Optimized camera pose, relative to the current reference camera.

'pose_labels'"pose_labels""pose_labels""pose_labels""pose_labels":

A convenience list of labels for the entries returned by 'pose'"pose""pose""pose""pose".

The calibrated camera parameters ( 'params*'"params*""params*""params*""params*" and '*pose*'"*pose*""*pose*""*pose*""*pose*") can be queried only after a successful execution of calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras. The initial internal camera parameters 'init_params'"init_params""init_params""init_params""init_params" can be queried after a successful call to set_calib_data_cam_paramset_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam.

Data related to calibration objects

With ItemTypeItemTypeItemTypeItemTypeitemType='calib_obj'"calib_obj""calib_obj""calib_obj""calib_obj" you can query data for a specific calibration object by passing its index in ItemIdxItemIdxItemIdxItemIdxitemIdx, i.e. a number between 0 and NumCalibObjects-1 (NumCalibObjects is specified during model creation with create_calib_datacreate_calib_datacreate_calib_dataCreateCalibDataCreateCalibData).

The following parameters can be queried with DataNameDataNameDataNameDataNamedataName and are returned in DataValueDataValueDataValueDataValuedataValue:

'num_markers'"num_markers""num_markers""num_markers""num_markers":

Number of markers in the calibration object.

'x'"x""x""x""x", 'y'"y""y""y""y", 'z'"z""z""z""z":

Coordinates of the markers relative to the calibration object coordinate system.

These parameters can be modified with set_calib_data_calib_objectset_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject.

Data related to calibration object poses

With ItemTypeItemTypeItemTypeItemTypeitemType='calib_obj_pose'"calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose" you can query general settings for all calibration object poses, or data for a specific calibration object pose.

With ItemIdxItemIdxItemIdxItemIdxitemIdx='general'"general""general""general""general", the default value of a parameter for all calibration object poses is returned. In contrast, if you pass a valid calibration object index instead, i.e., a tuple containing a valid index pair [CalibObjIdx, CalibObjPoseIdx], only the parameter value of the specified calibration object pose is returned.

By selecting the following parameters in DataNameDataNameDataNameDataNamedataName, you can query which calibration object pose parameters are (or have been) optimized during the calibration performed by calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras:

'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings":

List of calibration object pose parameters marked for calibration.

'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings":

List of calibration object pose parameters excluded from calibration.

These parameters can be set with set_calib_dataset_calib_dataset_calib_dataSetCalibDataSetCalibData.

The following parameters can only be queried for a specific calibration object pose, i.e., you must pass a valid index pair [CalibObjIdx, CalibObjPoseIdx] in ItemIdxItemIdxItemIdxItemIdxitemIdx:

'init_pose'"init_pose""init_pose""init_pose""init_pose":

Initial calibration object pose. It is computed internally based on observation poses during the calibration process (see calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras). This pose is relative to the current reference camera.

'pose'"pose""pose""pose""pose":

Optimized calibration object pose, relative to current reference camera.

'pose_labels'"pose_labels""pose_labels""pose_labels""pose_labels":

A convenience list of labels for the entries returned by 'pose'"pose""pose""pose""pose".

These parameters cannot be explicitly modified and can only be queried after calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras was executed.

Attention

A camera calibration data model CalibDataID cannot be shared between two or more user's threads. Different camera calibration data models can be used independently and safely in different threads.

Parallelization

Parameters

CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID (input_control)  calib_data HCalibData, HTupleHCalibData, HTupleHCalibDataX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Handle of a calibration data model.

ItemTypeItemTypeItemTypeItemTypeitemType (input_control)  string HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Type of calibration data item.

Default value: 'camera' "camera" "camera" "camera" "camera"

List of values: 'model'"model""model""model""model", 'camera'"camera""camera""camera""camera", 'calib_obj'"calib_obj""calib_obj""calib_obj""calib_obj", 'calib_obj_pose'"calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose"

ItemIdxItemIdxItemIdxItemIdxitemIdx (input_control)  integer(-array) HTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Index of the affected item (depending on the selected ItemTypeItemTypeItemTypeItemTypeitemType).

Default value: 0

Suggested values: 0, 1, 2, 'general'"general""general""general""general"

DataNameDataNameDataNameDataNamedataName (input_control)  attribute.name HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

The name of the inspected data.

Default value: 'params' "params" "params" "params" "params"

List of values: 'type'"type""type""type""type", 'reference_camera'"reference_camera""reference_camera""reference_camera""reference_camera", 'num_cameras'"num_cameras""num_cameras""num_cameras""num_cameras", 'num_calib_objs'"num_calib_objs""num_calib_objs""num_calib_objs""num_calib_objs", 'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model", 'num_markers'"num_markers""num_markers""num_markers""num_markers", 'x'"x""x""x""x", 'y'"y""y""y""y", 'z'"z""z""z""z", 'params'"params""params""params""params", 'pose'"pose""pose""pose""pose", 'init_params'"init_params""init_params""init_params""init_params", 'init_pose'"init_pose""init_pose""init_pose""init_pose", 'params_deviations'"params_deviations""params_deviations""params_deviations""params_deviations", 'params_covariances'"params_covariances""params_covariances""params_covariances""params_covariances", 'params_labels'"params_labels""params_labels""params_labels""params_labels", 'pose_labels'"pose_labels""pose_labels""pose_labels""pose_labels", 'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings", 'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings"

DataValueDataValueDataValueDataValuedataValue (output_control)  attribute.value HTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Requested data.

Example (HDevelop)

* get the camera type of camera 0
get_calib_data (CalibDataID, 'camera', 0, 'type', CameraType)

* get the optimized (calibrated) pose of pose 1 of the
* calibration object 2
get_calib_data (CalibDataID, 'calib_obj_pose', [2,1], 'pose', CalobjPose)

Possible Predecessors

calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras, create_calib_datacreate_calib_datacreate_calib_dataCreateCalibDataCreateCalibData, read_calib_dataread_calib_dataread_calib_dataReadCalibDataReadCalibData

Module

Calibration


Table of Contents / Calibration / Multi-View ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH