| Customize Help
| Save Settings


Function Map
Fill gaps in a depth map and, optionally, an intensity map, according to gap filling context controls.
void M3dimFillGaps(
MIL_ID GapFillingContext3dimId, //in
MIL_ID DepthMapImageBufId, //in
MIL_ID IntensityMapImageBufId, //in
MIL_INT64 ControlFlag //in

This function replaces missing or invalid data (gaps) in a depth map and/or intensity map. You can choose to fill gaps with interpolated values, or propagate a boundary value across the gap. The gap filling operation is performed according to the context specified with GapFillingContext3dimId.

For some applications, you can reasonably approximate gap values with an interpolation of neighboring values. In other situations, such as when the gap spans an abrupt change in depth, or the gap is very wide, you can choose to propagate one of the gap's boundary values across the gap. To specify how wide a gap to fill and other gap filling settings, use M3dimControl().

Gaps are filled in a 2-step process: first along X, and then along Y (or vice versa). For example, if you choose to fill first along the X-direction, all gaps along rows in the depth or intensity map are evaluated and filled before any columns are examined. Therefore, gaps are examined not as an X-by-Y area to be filled, but on a per-row (or column) basis. To set the mode in which to fill gaps, use M3dimControl() with M_FILL_MODE and M_X_THEN_Y or M_Y_THEN_X.

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 if there is complementary information.
This function is not supported on the selected boards.

Specifies a fill gaps 3D image processing context.

function map For specifying the fill gaps 3D image processing context identifier
Click to summarizeValue Description
Click to summarize M_DEFAULT

Specifies the default fill gaps 3D image processing context of the current MIL application.

The fill gaps operation will use default values for all gap filling control types listed in M3dimControl().

Click to summarize MIL fill gaps 3D image processing context

Specifies the identifier of a fill gaps 3D image processing context, previously allocated using M3dimAlloc() with M_FILL_GAPS_CONTEXT.

If a previously allocated context is specified, the function applies the fill gaps control settings specified using M3dimControl().


Specifies the image buffer identifier of the depth map on which to fill gaps. The image buffer must be an 8-bit, 16-bit, or 32-bit unsigned, 1-band buffer, and must be 3D-corrected (that is, if you call McalInquire() with M_DEPTH_MAP, the function returns M_TRUE).


Specifies the image buffer identifier of the intensity map on which to fill gaps. The image buffer must be an 8-bit or 16-bit unsigned, 1-band or 3-band buffer. The image buffer must have the same dimensions as the buffer specified for DepthMapImageBufId.

If the intensity map is not required, set this parameter to M_NULL.


Reserved for future expansion and must be set to M_DEFAULT.

Compilation information
Header Include mil.h.
Library Use mil.lib; mil3dim.lib.
DLL Requires mil.dll; mil3dim.dll.