MIL_ID Result3dmapId, | //in |
MIL_INT LabelOrIndex, | //in |
MIL_INT64 ResultType, | //in |
void *ResultArrayPtr | //out |
This function retrieves the result(s) of the specified type from a result buffer. For M_LASER_CALIBRATION_DATA, M_DEPTH_CORRECTED_DATA, and M_POINT_CLOUD_CONTAINER 3D reconstruction result buffers, results are available after using M3dmapAddScan() and/or M3dmapPut() to fill the result buffer with the extracted laser line data.
For an M_STAT_RESULT result buffer, results are available after using M3dmapStat() to fill the result buffer with statistics on a depth map.
An M_POINT_CLOUD_CONTAINER 3D reconstruction result buffer contains an array of distinct point clouds. You can retrieve results from an individual point cloud in the result buffer, from an aggregate of all point clouds in the result buffer, or from the result buffer itself using the LabelOrIndex parameter.
Specifies the identifier of the 3D reconstruction result buffer from which to retrieve results.
Specifies the point cloud(s) in the specified 3D reconstruction result buffer, or the entire result buffer itself, from which to get results. Only 3D reconstruction result buffers allocated using M_POINT_CLOUD_CONTAINER have point clouds that can be specified using this parameter. For all other types of 3D reconstruction result buffers, set this parameter to M_DEFAULT.
For specifying the point cloud(s) or
point cloud container
|
|||||||||||||||||||||||||||||||||||||||
Value |
Description
|
||||||||||||||||||||||||||||||||||||||
Specifies the array index of a point cloud in the specified 3D reconstruction result buffer. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the array index of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
Specifies the label for a point cloud in the specified 3D reconstruction result buffer. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the label of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
M_ALL |
Specifies to get results about all point clouds in the specified 3D reconstruction result buffer. |
||||||||||||||||||||||||||||||||||||||
M_GENERAL |
Specifies to get results about the point cloud container (3D reconstruction result buffer allocated using M_POINT_CLOUD_CONTAINER). |
Specifies the type of result to get.
See the Parameter associations section for possible values that can be specified.
Specifies the address in which to write the results.
When LabelOrIndex is set to M_ALL, you must specify the address of an array with as many elements as point clouds in the point cloud container. You can inquire the number of point clouds using M3dmapInquire() set to M_NUMBER_OF_POINT_CLOUDS.
See the Parameter associations section for possible values that can be returned.
The tables below list possible values for the ResultType parameter and possible values returned to the ResultArrayPtr parameter.
To retrieve a result from an M_POINT_CLOUD_CONTAINER 3D reconstruction result buffer, the ResultType parameter can be set to one of the following values:
For retrieving results from a 3D
reconstruction result buffer of type
M_POINT_CLOUD_CONTAINER
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_HAS_FEATURE + |
Retrieves whether the specified point cloud(s) have the specified feature (such as position or intensity data). (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_FALSE |
Specifies that the specified point cloud(s) do not have the feature. |
||||||||||||||||||||||||||||||||||||||
M_TRUE |
Specifies that the specified point cloud(s) do have the feature. |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_3D_POINTS + |
Retrieves the number of 3D points extracted from laser line data and stored in the specified point cloud(s). (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
Value >= 0 |
Specifies the number of 3D points. |
||||||||||||||||||||||||||||||||||||||
M_TOTAL_DISPLACEMENT_Y + |
Retrieves the total displacement along the Y-axis (typically the conveyor) from the first call to M3dmapAddScan(). (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_DOUBLE |
You must add one of the following values to the above-mentioned value to determine whether the feature exists in the specified location.
For specifying the feature to
check
|
|||||||||||||||||||||||||||||||||||||||
Combination value | Description
|
||||||||||||||||||||||||||||||||||||||
M_INTENSITY |
Specifies to determine if intensity information exists in the specified point cloud(s). |
||||||||||||||||||||||||||||||||||||||
M_POSITION |
Specifies to determine if position information exists in the specified point cloud(s). |
You can add one or more of the following values to the above-mentioned value to determine which 3D points should be included when returning the number of points.
For modifying the number of points
returned
|
|||||||||||||||||||||||||||||||||||||||
Combination value | Description
|
||||||||||||||||||||||||||||||||||||||
M_LAST_SCAN |
Specifies to return only those points generated during the last call to M3dmapAddScan(). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NO_INVALID_POINT |
Specifies to exclude all points in the specified point cloud(s) that are set to M_INVALID_POINT. |
To retrieve a result from a pairwise 3D alignment result buffer allocated using M3dmapAllocResult() with M_ALIGNMENT_RESULT, the ResultType parameter can be set to one of the following values:
For retrieving results from a pairwise 3D
alignment result buffer
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_ALIGN_RMS_ERROR + |
Retrieves the RMS error calculated from the distance between paired 3D points from the two aligned point clouds. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_DOUBLE |
||||||||||||||||||||||||||||||||||||||
Value >= 0 |
Specifies the RMS error. |
||||||||||||||||||||||||||||||||||||||
M_ALIGN_RMS_ERROR_RELATIVE + |
Retrieves the relative RMS error, which is the percent change of the RMS error of the last two iterations of the pairwise 3D alignment process. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_DOUBLE |
||||||||||||||||||||||||||||||||||||||
M_ALIGNMENT_MATRIX + |
Retrieves the transformation matrix that would align the model point cloud with the scene point cloud. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: array of type MIL_DOUBLE |
||||||||||||||||||||||||||||||||||||||
M_NB_ITERATIONS + |
Retrieves the number of iterations performed during the pairwise 3D alignment process. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_INT |
||||||||||||||||||||||||||||||||||||||
M_STATUS + |
Retrieves the status of the pairwise 3D alignment process. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_DOUBLE |
||||||||||||||||||||||||||||||||||||||
M_ALIGN_RMS_ERROR_RELATIVE_THRESHOLD_REACHED |
Specifies that the change in RMS errors of the last two iterations is equal to or lower than the specified percentile threshold (M3dmapControl() with M_ALIGN_RMS_ERROR_RELATIVE_THRESHOLD). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ALIGN_RMS_ERROR_THRESHOLD_REACHED |
Specifies that the RMS error of the last iteration is equal to or lower than the specified RMS error threshold (M3dmapControl() with M_ALIGN_RMS_ERROR_THRESHOLD). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_MAX_ITERATIONS_REACHED |
Specifies that the maximum number of iterations of the alignment process, set using M3dmapControl() with M_MAX_ITERATIONS, has been reached. |
||||||||||||||||||||||||||||||||||||||
M_NOT_ENOUGH_POINT_PAIRS |
Specifies that the number of points which overlap between the model point cloud and the scene point cloud is below a critical threshold. (more details...) |
You can add the following value to the above-mentioned values to determine the result for each iteration.
For specifying to retrieve the result for
each iteration
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_ALL_ITERATIONS |
Specifies to retrieve the result for each iteration during the pairwise 3D alignment. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
To retrieve a result about partially corrected depth maps from an M_DEPTH_CORRECTED_DATA 3D reconstruction result buffer, the ResultType parameter can be set to one of the following values:
Unless otherwise specified, the following values require that you pass the ResultArrayPtr parameter the address of a MIL_DOUBLE.
For retrieving results from a 3D
reconstruction result buffer of type
M_DEPTH_CORRECTED_DATA
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_CORRECTED_DEPTH_MAP_BUFFER_TYPE + |
Retrieves the data type and depth that an image buffer should have to store the partially corrected depth map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 8 |
Specifies that the image buffer should be an 8-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 16 |
Specifies that the image buffer should be a 16-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_CORRECTED_DEPTH_MAP_SIZE_X + |
Retrieves the X-size, in pixels, that an image buffer should have to store the partially corrected depth map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_CORRECTED_DEPTH_MAP_SIZE_Y + |
Retrieves the Y-size, in pixels, that an image buffer should have to store the partially corrected depth map. (more details...) |
To retrieve a result from a 3D reconstruction result buffer of type M_LASER_CALIBRATION_DATA or M_DEPTH_CORRECTED_DATA, or a point cloud of type M_LASER_SCAN, the ResultType parameter can be set to one of the following values:
Unless otherwise specified, the following values require that you pass the ResultArrayPtr parameter the address of a MIL_DOUBLE (when retrieving results from an individual point cloud or result buffer) or the address of an array of type MIL_DOUBLE with a size equal to this number can be obtained using M3dmapInquire() with M_NUMBER_OF_POINT_CLOUDS (when retrieving the results from all point clouds in the specified point cloud container).
For retrieving results from a 3D
reconstruction result buffer of type M_LASER_CALIBRATION_DATA or
M_DEPTH_CORRECTED_DATA, or individual point clouds.
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_CAMERA_IMAGE_SIZE_X + |
Retrieves the X-size of the image buffer from which the last laser line was extracted using M3dmapAddScan(). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_CAMERA_IMAGE_SIZE_Y + |
Retrieves the Y-size of the image buffer from which the last laser line was extracted using M3dmapAddScan(). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_INTENSITY_MAP_BUFFER_TYPE + |
Retrieves the data type and depth that an image buffer should have to store the intensity map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 8 |
Specifies that the image buffer should be an 8-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 16 |
Specifies that the image buffer should be a 16-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_MISSING_DATA_LAST_SCAN + |
Retrieves the number of points (pixels) with unknown values in the last laser line extracted using M3dmapAddScan(). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_SCAN_LANE_DIRECTION + |
Retrieves whether laser line detection was performed vertically or horizontally. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNCORRECTED_DEPTH_MAP_BUFFER_TYPE + |
Retrieves the data type and depth that an image buffer should have to store the uncorrected depth map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 8 |
Specifies that the image buffer should be an 8-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_UNSIGNED + 16 |
Specifies that the image buffer should be a 16-bit unsigned buffer. |
||||||||||||||||||||||||||||||||||||||
M_UNCORRECTED_DEPTH_MAP_FIXED_POINT + |
Retrieves the number of fractional bits used for the uncorrected depth map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNCORRECTED_DEPTH_MAP_SIZE_X + |
Retrieves the X-size, in pixels, that an image buffer should have to store the uncorrected depth map. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_UNCORRECTED_DEPTH_MAP_SIZE_Y + |
Retrieves the Y-size, in pixels, that an image buffer should have to store the uncorrected depth map. (more details...) |
To retrieve a result from a M_STAT_RESULT 3D reconstruction result buffer, the ResultType parameter can be set to one of the following values:
Unless otherwise specified, the following values require that you pass the ResultArrayPtr parameter the address of a MIL_DOUBLE.
For retrieving results from an
M_STAT_RESULT result buffer
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_DEVIATION_MAX + |
Retrieves the maximum height between the depth map and the reference level (always positive). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEVIATION_MEAN + |
Retrieves the average height between the depth map and the reference level. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_PIXELS_MISSING_DATA + |
Retrieves the number of pixels that were not taken into account while computing statistics because they were missing data, either in the depth map or the reference level. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_PIXELS_OUTLIER + |
Retrieves the number of pixels that were not taken into account while computing statistics because the distance between the depth map and the reference level at those coordinates was beyond the outlier threshold. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_PIXELS_TOTAL + |
Retrieves the number of pixels that were considered by M3dmapStat(). (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NUMBER_OF_PIXELS_VALID + |
Retrieves the number of pixels that were taken into account while computing statistics. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_VOLUME + |
Retrieves the volume between the depth map and the reference level. (more details...) |
You can add one of the following values to the above-mentioned values to specify which pixels to take into account.
For specifying which pixels to
take into account
|
|||||||||||||||||||||||||||||||||||||||
Combination value | Description
|
||||||||||||||||||||||||||||||||||||||
M_STAT_ABS |
Takes into account all valid pixels, treating all vertical distances as positive. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_STAT_ALL |
Takes into account all valid pixels. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_STAT_NEGATIVE |
Takes into account only the pixels for which going from the reference level to the depth map is in the negative Z-direction, treating all vertical distances as positive. |
||||||||||||||||||||||||||||||||||||||
M_STAT_POSITIVE |
Takes into account only the pixels for which going from the reference level to the depth map is in the positive Z-direction. |
You can add the following value to the above-mentioned values to determine whether a result is available.
For determining whether results
are available
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_AVAILABLE |
Retrieves whether a result is available to be returned. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
Data
type: MIL_DOUBLE |
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies that the result is not available to be returned. |
||||||||||||||||||||||||||||||||||||||
Value != 0 |
Specifies that the result is available to be returned. |
You can add one of the following values to the above-mentioned values to cast the requested results to the required data type.
For specifying the data
type
|
|||||||||||||||||||||||||||||||||||||||
ResultType |
Description
|
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_TYPE_CHAR |
Casts the requested results to a char. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_DOUBLE |
Casts the requested results to a MIL_DOUBLE. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_FLOAT |
Casts the requested results to a MIL_FLOAT. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_ID |
Casts the requested results to a MIL_ID. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_INT |
Casts the requested results to a MIL_INT. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_INT16 |
Casts the requested results to a MIL_INT16. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_INT32 |
Casts the requested results to a MIL_INT32. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
||||||||||||||||||||||||||||||||||||||
M_TYPE_MIL_INT64 |
Casts the requested results to a MIL_INT64. (more details...) |
||||||||||||||||||||||||||||||||||||||
ResultArrayPtr data type info |
|
Header | Include mil.h. |
Library | Use mil.lib; mil3dmap.lib. |
DLL | Requires mil.dll; mil3dmap.dll. |