| Customize Help
| Save Settings

McalInquireSingle



Function Map
Synopsis
Inquire about a single pose in a sequence of poses taken during camera calibration.
Syntax
MIL_INT McalInquireSingle(
MIL_ID ContextCalOrCalibratedMilObjectId, //in
MIL_INT Index, //in
MIL_INT64 InquireType, //in
void *UserVarPtr //out
)
Description

This function allows you to inquire about the settings of a single pose in the sequence of poses performed to calibrate M_3D_ROBOTICS camera calibration contexts. Every call to McalGrid() or McalList() with M_ACCUMULATE corresponds to a pose used to obtain information about the camera setup during the camera calibration process.

Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see which MIL system’s documentation you should use in its place and any possible differences.
Parameters
This function is not supported on the selected boards.
This function reference has not been updated for the selected MIL system. To show the content of this page, choose a second MIL system; refer to the MIL system's release note to see which MIL system’s documentation to choose and any possible differences.
Parameters
ContextCalOrCalibratedMilObjectId

Specifies the identifier of the camera calibration context.

Index

Specifies the index of the pose of a M_3D_ROBOTICS camera calibration context from which settings should be inquired. The first call corresponds to the index value 0 and the last one is the return value of McalInquire() with M_NUMBER_OF_CALIBRATION_POSES minus one.

InquireType

Specifies the setting about which to inquire.

See the Parameter associations section for possible values that can be specified.

UserVarPtr
Accepts the address of one of the following (see the Parameter associations section for specifics on which is expected):
  • array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ]
  • array of type MIL_FLOAT [optionally, in C++: a reference to a std::vector<MIL_FLOAT> ]
  • array of type MIL_ID [optionally, in C++: a reference to a std::vector<MIL_ID> ]
  • array of type MIL_INT [optionally, in C++: a reference to a std::vector<MIL_INT> ]
  • array of type MIL_INT16 [optionally, in C++: a reference to a std::vector<MIL_INT16> ]
  • array of type MIL_INT32 [optionally, in C++: a reference to a std::vector<MIL_INT32> ]
  • array of type MIL_INT64 [optionally, in C++: a reference to a std::vector<MIL_INT64> ]
  • array of type MIL_TEXT_CHAR [optionally, in C++: a reference to a MIL_STRING]
  • MIL_DOUBLE
  • MIL_FLOAT
  • MIL_ID
  • MIL_INT
  • MIL_INT16
  • MIL_INT32
  • MIL_UINT64

Specifies the address in which to return the value of the inquired setting. Since the McalInquireSingle() function also returns the requested information, you can set this parameter to M_NULL.

See the Parameter associations section for possible values that can be returned.

The tables below list possible values for the InquireType parameter and possible values returned to the UserVarPtr parameter.

The InquireType parameter can be set to one of the following values only after calibrating with McalGrid().

function map For a camera calibration context being calibrated using McalGrid()
Click to summarize
InquireType
Description
UserVarPtr
- Possible values returned
Click to summarize M_COLUMN_NUMBER +

Inquires the number of columns in the camera calibration grid. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize Value >= 2

Specifies the number of columns.

Click to summarize M_COLUMN_SPACING +

Inquires the number of world units between columns. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value > 0.0

Specifies the spacing between columns.

Click to summarize M_GRID_ORIGIN_X +

Inquires the X-position of the top-left circle of a circle grid, or the top-left point connecting four squares in a chessboard grid, in the camera calibration plane coordinate system. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value

Specifies the X-position, in the camera calibration plane coordinate system.

Click to summarize M_GRID_ORIGIN_Y +

Inquires the Y-position of the top-left circle of a circle grid, or the top-left point connecting four squares in a chessboard grid, in the camera calibration plane coordinate system. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value

Specifies the Y-position, in the camera calibration plane coordinate system.

Click to summarize M_GRID_ORIGIN_Z +

Inquires the Z-position of the top-left circle of a circle grid, or the top-left point connecting four squares in a chessboard grid, in the camera calibration plane coordinate system. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value

Specifies the Z-position, in the camera calibration plane coordinate system.

Click to summarize M_GRID_TYPE +

Inquires the type of grid used to perform the camera calibration. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize M_CHESSBOARD_GRID

Specifies a chessboard grid. INFO

Click to summarize M_CIRCLE_GRID

Specifies a grid of circles. INFO

Click to summarize M_GRID_UNIT_SHORT_NAME +

Inquires the units returned by M_GRID_UNITS. You can find the particular abbreviation for each unit in the description of M_GRID_UNITS.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_TEXT_CHAR [optionally, in C++: MIL_STRING ] MORE
Click to summarize M_GRID_UNITS +

Inquires the units of measurement encoded in a chessboard grid with a fiducial.

Note that this information is not used by the calibration module. No unit consistency is enforced and no unit conversion is performed.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize M_CENTIMETERS

Specifies that the grid units are measured in centimeters.

Click to summarize M_FEET

Specifies that the grid units are measured in feet.

Click to summarize M_INCHES

Specifies that the grid units are measured in inches.

Click to summarize M_KILOMETERS

Specifies that the grid units are measured in kilometers.

Click to summarize M_METERS

Specifies that the grid units are measured in meters.

Click to summarize M_MICROMETERS

Specifies that the grid units are measured in micrometers.

Click to summarize M_MILES

Specifies that the grid units are measured in miles.

Click to summarize M_MILLIMETERS

Specifies that the grid units are measured in millimeters.

Click to summarize M_MILS

Specifies that the grid units are measured in mils.

Click to summarize M_UNKNOWN

Specifies that grid units are measured in an unknown unit. INFO

Click to summarize M_ROW_NUMBER +

Inquires the number of rows in the camera calibration grid. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize Value >= 2

Specifies the number of rows.

Click to summarize M_ROW_SPACING +

Inquires the spacing between rows in the camera calibration grid. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value > 0.0

Specifies the spacing between rows, in world units.

Combination value for M_GRID_UNIT_SHORT_NAME.

You can add the following value to the above-mentioned value to get the string's length.

function map For getting the string size
Click to summarizeInquireType Description
UserVarPtr
- Possible values returned
Click to summarize M_STRING_SIZE +

Retrieves the length of the string, including the terminating null character ("\0").

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE

The InquireType parameter can be set to one of the following values after a call to either McalGrid() or McalList().

function map For a camera calibration context being calibrated using McalGrid() or McalList()
Click to summarize
InquireType
Description
UserVarPtr
- Possible values returned
Click to summarize M_AVERAGE_PIXEL_ERROR +

Inquires the average camera calibration error in the pixel coordinate system.

This is the average distance in the pixel coordinate system between the initial calibration points and their projected points in an image.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value >= 0.0

Specifies the average camera calibration error, in pixels.

Click to summarize M_AVERAGE_WORLD_ERROR +

Inquires the average camera calibration error in the absolute coordinate system.

This is the average distance in the absolute coordinate system between the initial calibration points and their projected points in an image.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value >= 0.0

Specifies the average camera calibration error, in world units.

Click to summarize M_CALIBRATION_IMAGE_POINTS_X +

Inquires the X-pixel coordinate of the calibration points.

If you used McalGrid() to calibrate your camera setup, the calibration points' pixel coordinates are determined by the pixel positions of the centers of the circles in a circle grid or the intersections of four squares/rectangles in a chessboard grid.

If you used McalList() to calibrate your camera setup, you explicitly set the calibration points' pixel coordinates with the PixCoordXArrayPtr parameter. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ] MORE
Click to summarize Value

Specifies the X-coordinate, in pixels.

Click to summarize M_CALIBRATION_IMAGE_POINTS_Y +

Inquires the Y-pixel coordinate of the calibration points.

If you used McalGrid() to calibrate your camera setup, the calibration points' pixel coordinates are determined by the pixel positions of the centers of the circles in a circle grid or the intersections of four squares/rectangles in a chessboard grid.

If you used McalList() to calibrate your camera setup, you explicitly set the calibration points' pixel coordinates with the PixCoordYArrayPtr parameter. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ] MORE
Click to summarize Value

Specifies the Y-coordinate, in pixels.

Click to summarize M_CALIBRATION_INPUT_DATA +

Specifies the type of data that was used to perform the camera calibration.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize M_GRID

Specifies that the camera calibration was performed using a camera calibration grid (McalGrid()).

Click to summarize M_LIST

Specifies that the camera calibration was performed by explicitly specifying the correspondence between some pixels and their real-world coordinates (McalList()).

Click to summarize M_CALIBRATION_WORLD_POINTS_X +

Inquires the X-world coordinate of the calibration points that are computed based on explicitly specified values. The coordinate is expressed in world units of the camera calibration plane (M_CALIBRATION_PLANE).

If you used McalList() to calibrate your camera setup, you explicitly set the calibration points' world coordinates with the WorldCoordXArrayPtr parameter.

If you used McalGrid() to calibrate your camera setup, the calibration points are computed from the parameters GridOffsetX, ColumnNumber, and ColumnSpacing. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ] MORE
Click to summarize Value

Specifies the X-coordinate, in real-world units of the camera calibration plane (M_CALIBRATION_PLANE).

Click to summarize M_CALIBRATION_WORLD_POINTS_Y +

Inquires the Y-world coordinate of the calibration points that are computed based on explicitly specified values. The coordinate is expressed in world units of the camera calibration plane (M_CALIBRATION_PLANE).

If you used McalList() to calibrate your camera setup, you explicitly set the calibration points' world coordinates with the WorldCoordYArrayPtr parameter.

If you used McalGrid() to calibrate your camera setup, the calibration points are computed from the parameters GridOffsetY, RowNumber, and RowSpacing. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ] MORE
Click to summarize Value

Specifies the Y-coordinate, in real-world units of the camera calibration plane (M_CALIBRATION_PLANE).

Click to summarize M_CALIBRATION_WORLD_POINTS_Z +

Inquires the Z-world coordinate of the calibration points that are based on explicitly specified values. The computed calibration points are expressed in world units of the camera calibration plane (M_CALIBRATION_PLANE). If this value is inquired for 2D-based camera calibration contexts, the specified array will be filled with 0.0 values.

If you used McalList() to calibrate your camera setup, you explicitly set the calibration points' pixel coordinates with the WorldCoordZArrayPtr parameter.

If you used McalGrid() to calibrate your camera setup, you explicitly set the Z-coordinate of all the calibration points with the GridOffsetZ parameter. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ] MORE
Click to summarize Value

Specifies the Z-coordinate, in real-world units of the camera calibration plane (M_CALIBRATION_PLANE).

Click to summarize M_MAXIMUM_PIXEL_ERROR +

Inquires the maximum camera calibration error, in pixels.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value >= 0.0

Specifies the maximum camera calibration error, in pixels.

Click to summarize M_MAXIMUM_WORLD_ERROR +

Inquires the maximum camera calibration error, in world units.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE
Click to summarize Value >= 0.0

Specifies the maximum camera calibration error, in world units.

Click to summarize M_NUMBER_OF_CALIBRATION_POINTS +

Inquires the number of calibration points found by McalGrid() or passed to McalList().

If you used McalList() to calibrate your camera setup, you can explicitly set the number of calibration points with the NumPoint parameter.

If you used McalGrid() to calibrate your camera setup, the number of calibration points is determined by the number of columns and rows in your grid. SET

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE
Click to summarize Value >= 0

Specifies the number of calibration points.

You can add the following value to the above-mentioned values to determine the required array size (number of elements) to store the returned values.

function map For determining the required array size (number of elements) to store the returned values
Click to summarizeInquireType combination value Description
UserVarPtr
- Possible values returned
Click to summarize M_NB_ELEMENTS

Retrieves the required array size (number of elements) to store the returned values.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: address of a MIL_DOUBLE MORE

You can add one of the following values to the above-mentioned values to cast the requested information to the required data type.

Note: In C++, when using a standard vector (std::vector) instead of an array, the values listed in this combination table must not be used. If you need to use a specific data type, instantiate the vector with the necessary data type.

function map For specifying the data type
Click to summarizeInquireType Description
UserVarPtr
- Possible values returned
Click to summarize M_TYPE_MIL_DOUBLE

Casts the requested information to a MIL_DOUBLE.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE> ]  |  address of a MIL_DOUBLE MORE
Click to summarize M_TYPE_MIL_FLOAT

Casts the requested information to a MIL_FLOAT.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_FLOAT [optionally, in C++: a reference to a std::vector<MIL_FLOAT> ]  |  address of a MIL_FLOAT MORE
Click to summarize M_TYPE_MIL_ID

Casts the requested information to a MIL_ID.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_ID [optionally, in C++: a reference to a std::vector<MIL_ID> ]  |  address of a MIL_ID MORE
Click to summarize M_TYPE_MIL_INT

Casts the requested information to a MIL_INT.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_INT [optionally, in C++: a reference to a std::vector<MIL_INT> ]  |  address of a MIL_INT MORE
Click to summarize M_TYPE_MIL_INT16

Casts the requested results to a MIL_INT16.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_INT16 [optionally, in C++: a reference to a std::vector<MIL_INT16> ]  |  address of a MIL_INT16 MORE
Click to summarize M_TYPE_MIL_INT32

Casts the requested information to a MIL_INT32.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_INT32 [optionally, in C++: a reference to a std::vector<MIL_INT32> ]  |  address of a MIL_INT32 MORE
Click to summarize M_TYPE_MIL_INT64

Casts the requested information to a MIL_INT64.

(summarize)
Expand data type infoCollapse data type info UserVarPtr extra info
Data type info: Data type: array of type MIL_INT64 [optionally, in C++: a reference to a std::vector<MIL_INT64> ]  |  address of a MIL_UINT64 MORE
Return value
The returned value is the requested information, cast to a MIL_INT. If the requested information does not fit into a MIL_INT, this function will return M_NULL or truncate the information.
Compilation information
Header Include mil.h.
Library Use mil.lib; milcal.lib.
DLL Requires mil.dll; milcal.dll.
3D ROBOTICS NUMBER OF CALIBRATION POSES COLUMN NUMBER COLUMN SPACING GRID ORIGIN X GRID ORIGIN Y GRID ORIGIN Z GRID TYPE CHESSBOARD GRID CIRCLE GRID GRID UNIT SHORT NAME GRID UNITS CENTIMETERS FEET INCHES KILOMETERS METERS MICROMETERS MILES MILLIMETERS MILS UNKNOWN ROW NUMBER ROW SPACING STRING SIZE AVERAGE PIXEL ERROR AVERAGE WORLD ERROR CALIBRATION IMAGE POINTS X CALIBRATION IMAGE POINTS Y CALIBRATION INPUT DATA GRID LIST CALIBRATION WORLD POINTS X CALIBRATION WORLD POINTS Y CALIBRATION WORLD POINTS Z MAXIMUM PIXEL ERROR MAXIMUM WORLD ERROR NUMBER OF CALIBRATION POINTS NB ELEMENTS TYPE MIL DOUBLE TYPE MIL FLOAT TYPE MIL ID TYPE MIL INT TYPE MIL INT16 TYPE MIL INT32 TYPE MIL INT64 GRID LIST