Filters
Filter values by
Controlled object type
  • Any component
  • Image buffer component
  • Container
Component type of the controlled component
  • Disparity component
  • Range component
| Customize Help
| Save Settings

MbufControlContainer



Function Map
Synopsis
Control a setting of the specified container, or one of its components.
Syntax
void MbufControlContainer(
MIL_ID ContainerBufId, //in
MIL_INT64 Component, //in
MIL_INT64 ControlType, //in
MIL_DOUBLE ControlValue //in
)
Description

This function allows you to control a setting of the specified container, or one of its components.

Note that when using a C compiler (not a C++ or other compiler), it is suggested to use the type-specific versions of this particular function, rather than the standard function prototype at the top of this page. An exhaustive list of type-specific versions of this function can be found at the bottom of this page.
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
ContainerBufId

Specifies the identifier of the container to control, or of which to control a component.

Component

Specifies what to control; either the container itself, or a component of the container.

This setting can be used to specify to control the container itself.

function map For specifying to control the container itself
Click to summarizeValue Description
Click to summarize M_CONTAINER

Specifies to control a setting of the container.

The following settings can be used to specify a component using a uniquely identifying criterion. An error will be generated if there is no component in the container matching the specified criterion.

function map For specifying which component to control by a unique criterion
Click to summarizeValue Description
Click to summarize

Specifies to control the component, in the container, which has the specified buffer identifier. An error will be generated if the container does not have a component with this buffer identifier.

(summarize)
Parameters

Specifies the MIL identifier of the component to control.

Click to summarize

Specifies to control the component, in the container, at the specified index. An error will be generated if the container does not have a component at this index.

(summarize)
Parameters

Specifies the index of the component to control.

The following settings can be used to specify a component using its component type. An error will be generated if there is not exactly one component of this type in the specified container.

function map For specifying the component to control by component type
Click to summarizeValue Description
Click to summarize M_COMPONENT_CONFIDENCE

Specifies that the component stores confidence information for the M_COMPONENT_RANGE or M_COMPONENT_DISPARITY component of the container. Coordinates associated with the confidence value 0 are considered invalid data and will not be used by 3D image processing functions.

A confidence component is associated with a range or disparity component in the same container when there are no other range, disparity, or confidence components in the container. If there is more than one range, disparity, and/or confidence component in a container (for example, because a single grab into the container transmitted multiple range and confidence components), you will need to either create a child container which contains only the required components using MbufChildContainer(), or free the extra components using MbufFreeComponent().

(summarize)
Click to summarize M_COMPONENT_CUSTOM + n

Specifies that the component has a custom component type, identified by n, where n can be a value between 0 and 254.

You can use custom component types to identify components which store information that does not fit one of the standard component types. In addition, some cameras transmit components with custom component types. Refer to your camera manual to determine what type of information is stored in transmitted components.

(summarize)
Click to summarize M_COMPONENT_DISPARITY

Specifies that the component stores a disparity map. Each pixel of a disparity map indicates the apparent distance (typically measured in pixel units) between where an object appears in the left and right images captured by a stereoscopic camera.

(summarize)
Click to summarize M_COMPONENT_INFRARED

Specifies that the component stores an intensity image of infrared light.

Click to summarize M_COMPONENT_INTENSITY

Specifies that the component stores an intensity image of visible light.

Click to summarize M_COMPONENT_MESH_MIL

Specifies that the component stores mesh information for the M_COMPONENT_RANGE component of the container.

A mesh component is associated with a range component in the same container when there are no other range or mesh components in that container. A point cloud container which has a mesh component is referred to as a meshed point cloud container.

(summarize)
Click to summarize M_COMPONENT_METADATA

Specifies that the component stores metadata information. Metadata components are used by MIL internally. Typically, you should ignore metadata components in your application.

(summarize)
Click to summarize M_COMPONENT_MULTISPECTRAL

Specifies that the component stores an intensity image where each band represents the intensity of a specific wavelength of light. Unlike an intensity component, a multispectral component might include information about non-visible light.

(summarize)
Click to summarize M_COMPONENT_NORMALS_MIL

Specifies that the component stores normals information for each point in the M_COMPONENT_RANGE component of the container.

A normals component is associated with a range component in the same container when there are no other range or normals components in that container.

(summarize)
Click to summarize M_COMPONENT_RANGE

Specifies that the component stores 3D distance/position information. This can be either a 1-band component that stores a depth map, or a 3-band buffer that stores coordinates of 3D points.

(summarize)
Click to summarize M_COMPONENT_REFLECTANCE

Specifies that the component stores a reflectance map. Each pixel of a reflectance map indicates how much of the light hitting an object at that location is reflected back. Typically, this is an intensity image of the light spectrum used by a 3D sensor to detect 3D distance/position information. Typically, if the map was generated by a laser profiler, each row indicates the detected intensity of the laser for a single scan.

(summarize)
Click to summarize M_COMPONENT_SCATTER

Specifies that the component stores a scatter map. Each pixel of a scatter map indicates how much of the light hitting an object at that location is detected scattering beneath the object's surface.

(summarize)
Click to summarize M_COMPONENT_ULTRAVIOLET

Specifies that the component stores an intensity image of ultraviolet light.

Click to summarize M_COMPONENT_UNDEFINED

Specifies that the component stores information of an unknown type.

ControlType

Specifies the setting to control.

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

ControlValue

Specifies the value needed for the setting.

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

The following ControlType and corresponding ControlValue parameter settings are used to control settings of containers and image buffer components.

function map For specifying settings for a container or a component that is an image buffer
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_MODIFICATION_HOOK

Sets whether to run the user-defined functions hooked to the container or component's modification event upon the event. INFO INQ

(summarize)
Click to summarize M_DISABLE

Specifies that the user-defined functions should not be called. INFO

Click to summarize M_ENABLE

Specifies that the user-defined functions should be called.

Click to summarize M_MODIFIED

Signals MIL that the buffer content was modified without using MIL. INFO

(summarize)
Click to summarize M_DEFAULT

Implements the default behavior.

The following ControlType and corresponding ControlValue parameter settings are used to control all components.

function map For specifying settings for any component
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_COMPONENT_TYPE

Sets the component type of the component , used when the component is a component of a container. INFO INQ

(summarize)
Click to summarize M_COMPONENT_CONFIDENCE

Specifies that the component stores confidence information for the M_COMPONENT_RANGE or M_COMPONENT_DISPARITY component of the container. INFO

Click to summarize M_COMPONENT_CUSTOM + n

Specifies that the component has a custom component type, identified by n, where n can be a value between 0 and 255. INFO

Click to summarize M_COMPONENT_DISPARITY

Specifies that the component stores a disparity map. INFO

Click to summarize M_COMPONENT_INFRARED

Specifies that the component stores an intensity image of infrared light.

Click to summarize M_COMPONENT_INTENSITY

Specifies that the component stores an intensity image of visible light.

Click to summarize M_COMPONENT_MESH_MIL

Specifies that the component stores mesh information for the M_COMPONENT_RANGE component of the container. INFO

Click to summarize M_COMPONENT_METADATA

Specifies that the component stores metadata information. INFO

Click to summarize M_COMPONENT_MULTISPECTRAL

Specifies that the component stores an intensity image where each band represents the intensity of a specific wavelength of light. INFO

Click to summarize M_COMPONENT_NORMALS_MIL

Specifies that the component stores normals information for each point in the M_COMPONENT_RANGE component of the container. INFO

Click to summarize M_COMPONENT_RANGE

Specifies that the component stores 3D distance/position information. INFO

Click to summarize M_COMPONENT_REFLECTANCE

Specifies that the component stores a reflectance map. INFO

Click to summarize M_COMPONENT_SCATTER

Specifies that the component stores a scatter map. INFO

Click to summarize M_COMPONENT_ULTRAVIOLET

Specifies that the component stores an intensity image of ultraviolet light.

Click to summarize M_COMPONENT_UNDEFINED

Specifies that the component contains information of an unknown type.

For components with an M_IMAGE attribute and with M_COMPONENT_TYPE set to M_COMPONENT_RANGE or M_COMPONENT_DISPARITY, ControlType and ControlValue can also be set to one of the values below.

These component settings are useful only when the container is passed as a source to MbufConvert3d(). Additionally, a container cannot be 3D-processable or 3D-displayable unless it has a single range component with all of these settings at their default values (except for M_3D_REPRESENTATION, which must be set to M_CALIBRATED_XYZ or M_CALIBRATED_XYZ_UNORGANIZED).

function map For specifying settings useful with components that store 3D data
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_3D_COORDINATE_SYSTEM_TYPE

Sets which type of coordinate system to use to interpret the coordinates stored in the bands of the buffer if it is a range component.

Note that MIL does not support any functionality with coordinates stored using a coordinate system type other than M_CARTESIAN. If a buffer stores information defined using another type of coordinate system, you will need to manually convert that information to cartesian coordinates before the buffer can be used with any MIL processing function. This conversion cannot be done using MbufConvert3d(). INQ

(summarize)
Click to summarize M_CARTESIAN

Specifies that the buffer stores right-handed cartesian coordinates.

If the buffer is a 1-band buffer, its values will be interpreted as Z-coordinates (equivalent to the pixels of a depth map).

If the buffer is a 3-band buffer, the bands store the following:

Band

Information

Band 0

Stores the X-coordinates.

Band 1

Stores the Y-coordinates.

Band 2

Stores the Z-coordinates.

This is the default value.

(summarize)
Click to summarize M_CYLINDRICAL

Specifies that the buffer stores cylindrical coordinates (theta-Y-rho).

In a cylindrical coordinate system, points are defined relative to a reference axis and reference angle perpendicular to that axis. The Y-coordinate is the distance from the origin along the reference axis, theta (θ) is the polar angle of the point relative to a reference angle, and rho is the distance from that axis along the line described by theta and perpendicular to the reference axis (the radius).

If the buffer is a 1-band buffer, its values store rho, the distance from a chosen reference axis.

If the buffer is a 3-band buffer, the bands store the following:

Band

Information

Band 0

Stores theta, the polar angle coordinates relative to the chosen reference angle.

Band 1

Stores Y-coordinates, the distances along the chosen reference axis.

Band 2

Stores rho, the distances from the chosen reference axis.

(summarize)
Click to summarize M_SPHERICAL

Specifies that the buffer stores spherical coordinates (theta-phi-rho).

In a spherical coordinate system, points are defined relative to a reference axis and a reference angle perpendicular to that axis. Rho is the distance from the origin (the radius), theta (θ) is the elevation angle of the point relative to reference axis, and phi is the azimuthal angle relative to the reference angle.

If the buffer is a 1-band buffer, its values store rho, the distance from a chosen reference axis.

If the buffer is a 3-band buffer, the bands store the following:

Band

Information

Band 0

Stores theta, the elevation angle coordinates relative to the chosen reference axis.

Band 1

Stores phi, the azimuth angle coordinates relative to a chosen reference angle.

Band 2

Stores rho, the distances from the chosen reference axis.

(summarize)
Click to summarize M_UNKNOWN

Specifies that the coordinate system type is unknown.

Click to summarize M_3D_DISPARITY_BASELINE

Sets the stereo baseline value of the stereoscopic camera used to generate the data in the buffer. This is the physical distance between the lenses of the camera.

Refer to your camera manual to determine the correct value for this setting, which might differ from the true physical distance between the lenses of your camera. INQ

(summarize)
Click to summarize Value > 0.0

Specifies the stereo baseline value, expressed in meters.

The default value is 1.0.

(summarize)
Click to summarize M_3D_DISPARITY_FOCAL_LENGTH

Sets the focal length of the lenses of the stereoscopic camera used to generate the data in the buffer.

Refer to your camera manual to determine the correct value for this setting, which might differ from the true focal length of your camera. INQ

(summarize)
Click to summarize Value > 0.0

Specifies the focal length of the lenses of the stereoscopic camera used to generate the data in the buffer if it stores a disparity map, expressed in pixels. For example, if the disparity map has 1000 pixels per millimeter of a single image sensor (after calibration), and the focal length of the lenses in millimeters is 35, the focal length in pixels is 35000.

The default value is 1.0.

(summarize)
Click to summarize M_3D_DISPARITY_PRINCIPAL_POINT_X

Sets the X-position of the principal point of the disparity map. This is the point in the disparity map which the optical axis of the camera intersects. INQ

(summarize)
Click to summarize Value

Specifies X-position of the principal point, expressed in pixels.

The default value is 0.0.

(summarize)
Click to summarize M_3D_DISPARITY_PRINCIPAL_POINT_Y

Sets the Y-position of the principal point of the disparity map. This is the point in the disparity map which the optical axis of the camera intersects. INQ

(summarize)
Click to summarize Value

Specifies Y-position of the principal point, expressed in pixels.

The default value is 0.0.

(summarize)
Click to summarize M_3D_DISTANCE_UNIT

Sets the unit to use when the buffer is part of a container and stores natively calibrated distance data. INQ

(summarize)
Click to summarize M_INCH

Specifies that the distance data is provided in inches.

Click to summarize M_MILLIMETER

Specifies that the distance data is provided in millimeters.

Click to summarize M_PIXEL

Specifies that the distance data is provided in pixels. This setting is only useful for buffers that have the component type M_COMPONENT_DISPARITY and store a disparity map.

(summarize)
Click to summarize M_UNKNOWN

Specifies that the distance unit is unknown.

This is the default value.

(summarize)
Click to summarize M_3D_INVALID_DATA_FLAG

Sets whether the buffer uses a specific value to indicate invalid data. For 3-band buffers that store coordinates, the invalid data flag should be stored in the Z-axis band. Specify the value that indicates invalid data using M_3D_INVALID_DATA_VALUE. INQ

(summarize)
Click to summarize M_FALSE

Specifies that the buffer does not use a special value to indicate invalid data.

This is the default value.

(summarize)
Click to summarize M_TRUE

Specifies that the buffer uses a special value to indicate invalid data.

Click to summarize M_3D_INVALID_DATA_VALUE

Sets the value used to indicate missing data when M_3D_INVALID_DATA_FLAG is set to M_TRUE.

Note that this value is not used or respected by any MIL functions except for MbufConvert3d() when the buffer is a component of the source container. INQ

(summarize)
Click to summarize Value

Specifies the value used to indicate missing data.

The default value is 0.0.

(summarize)
Click to summarize M_3D_OFFSET_X

Sets by how much the X-coordinates stored in the buffer will be offset in the destination point cloud when the container is passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value

Specifies by how much the X-coordinates stored in the buffer will be offset.

The default value is 0.0.

(summarize)
Click to summarize M_3D_OFFSET_Y

Sets by how much the Y-coordinates stored in the buffer will be offset in the destination point cloud when the container is passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value

Specifies by how much the Y-coordinates stored in the buffer will be offset.

The default value is 0.0.

(summarize)
Click to summarize M_3D_OFFSET_Z

Sets by how much the Z-coordinates stored in the buffer will be offset in the destination point cloud when the container is passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value

Specifies by how much the Z-coordinates stored in the buffer will be offset.

The default value is 0.0.

(summarize)
Click to summarize M_3D_REPRESENTATION

Sets how 3D data is stored in the buffer; this information is used when the buffer is a range or disparity component of a container. For more information, see MbufConvert3d(). INQ

(summarize)
Click to summarize M_CALIBRATED_XYZ

Specifies that the component stores organized and natively calibrated X, Y, and Z-coordinates.

This is the default value for 3-band buffers with M_SIZE_Y greater than 1.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedABC_Grid.

(summarize)
Click to summarize M_CALIBRATED_XYZ_UNORGANIZED

Specifies that the component stores unorganized and natively calibrated X, Y, and Z-coordinates.

This is the default value for 3-band buffers with M_SIZE_Y of 1.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedABC_PointCloud.

(summarize)
Click to summarize M_CALIBRATED_XZ_EXTERNAL_Y

Specifies that the component stores organized and natively calibrated X and Z-coordinates, with Y-coordinates stored in a separate array buffer.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedAC_Linescan.

(summarize)
Click to summarize M_CALIBRATED_XZ_UNIFORM_Y

Specifies that the component stores organized and natively calibrated X and Z-coordinates, with Y-coordinates identified by the row index.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedAC.

(summarize)
Click to summarize M_CALIBRATED_Z

Specifies that the component stores organized and natively calibrated Z-coordinates, without X and Y-coordinates.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedC.

(summarize)
Click to summarize M_CALIBRATED_Z_EXTERNAL_Y

Specifies that the component stores organized and natively calibrated Z-coordinates without X-coordinates; Y-coordinates are stored in a separate buffer that has an M_ARRAY attribute and is not part of the container.

This corresponds to the GenICam Scan3dOutputMode feature set to CalibratedC_Linescan.

(summarize)
Click to summarize M_CALIBRATED_Z_UNIFORM_X_EXTERNAL_Y

Specifies that the component stores organized and natively calibrated Z-coordinates, with the X-coordinates identified by column index; Y-coordinates are stored in a separate buffer that has an M_ARRAY attribute and is not part of the container.

This corresponds to the GenICam Scan3dOutputMode feature set to RectifiedC_Linescan.

(summarize)
Click to summarize M_CALIBRATED_Z_UNIFORM_XY

Specifies that the component stores organized and natively calibrated Z-coordinates, with X and Y-coordinates identified by column and row index respectively. The manufacturer of your camera might refer to a range component with this setting as a depth map.

This is the default value for 1-band buffers.

This corresponds to the GenICam Scan3dOutputMode feature set to RectifiedC.

(summarize)
Click to summarize M_DISPARITY

Specifies that the component stores a disparity map with perspective distortion along the Y-axis. When used with MbufConvert3d(), the Y-coordinate of each point in the resulting point cloud will be generated using the row index of the corresponding pixel and compensating for perspective.

This corresponds to the GenICam Scan3dOutputMode feature set to DisparityC.

Typically, this setting should only be used with disparity components that have been generated using areascan cameras.

(summarize)
Click to summarize M_DISPARITY_EXTERNAL_Y

Specifies that the component stores a disparity map; Y-coordinates are stored in a separate buffer that has an M_ARRAY attribute and is not part of the container. When used with MbufConvert3d(), the Y-coordinate of each point in the resulting point cloud will be taken from the specified buffer.

This corresponds to the GenICam Scan3dOutputMode feature set to DisparityC_Linescan.

Typically, this setting should only be used with disparity components that have been generated using linescan cameras.

(summarize)
Click to summarize M_DISPARITY_UNIFORM_Y

Specifies that the component stores a disparity map, with Y-values identified by row index. When used with MbufConvert3d(), the Y-coordinates of each point in the resulting point cloud will be generated using the row index of the corresponding pixel. Since the Y-values are uniform, no perspective correction is applied.

This partially corresponds to the GenICam Scan3dOutputMode feature set to DisparityC_Linescan, except that the Y-values are not stored in a separate buffer.

Typically, this setting should only be used with disparity components that have been generated using linescan cameras.

(summarize)
Click to summarize M_UNCALIBRATED_Z

Specifies that the component stores organized and uncalibrated Z-coordinates, without X and Y-coordinates.

This corresponds to the GenICam Scan3dOutputMode feature set to UncalibratedC.

(summarize)
Click to summarize M_3D_SCALE_X

Sets by how much the X-coordinates stored in the buffer will be scaled in the destination point cloud when the container is passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value != 0.0

Specifies by how much the X-coordinates stored in the buffer will be scaled.

The default value is 1.0.

(summarize)
Click to summarize M_3D_SCALE_Y

Sets by how much the Y-coordinates stored in the buffer will be scaled in the destination point cloud when it is a component of a container passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value != 0.0

Specifies how much the Y-coordinates stored in the buffer will be scaled.

The default value is 1.0.

(summarize)
Click to summarize M_3D_SCALE_Z

Sets by how much the Z-coordinates stored in the buffer will be scaled in the destination point cloud when it is a component of a container passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value != 0.0

Specifies how much the Z-coordinates stored in the buffer will be scaled.

The default value is 1.0.

(summarize)
Click to summarize M_3D_SHEAR_X

Sets by how much the X-coordinates stored in the buffer will be offset in the destination point cloud from the X-coordinates in the previous row when it is a component of a container passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value

Specifies by how much the X-coordinates stored in the buffer will be offset in the destination point cloud from the X-coordinates in the previous row.

The default value is 0.0.

(summarize)
Click to summarize M_3D_SHEAR_Z

Sets by how much the Z-coordinates stored in the buffer will be offset in the destination point cloud from the Z-coordinates in the previous row when it is a component of a container passed as a source to MbufConvert3d(). INQ

(summarize)
Click to summarize Value

Specifies by how much the Z-coordinates stored in the buffer will be offset in the destination point cloud from the Z-coordinates in the previous row.

The default value is 0.0.

(summarize)
Type-specific versions of the function when using a C compiler
void MbufControlContainerInt64 (MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_INT64 ControlValue)
Parameters

ContainerBufId

See ContainerBufId of the main function for a description.

Component

See Component of the main function for a description.

ControlType

See ControlType of the main function for a description.

ControlValue

See ControlValue of the main function for a description.

void MbufControlContainerDouble (MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_DOUBLE ControlValue)
Parameters

ContainerBufId

See ContainerBufId of the main function for a description.

Component

See Component of the main function for a description.

ControlType

See ControlType of the main function for a description.

ControlValue

See ControlValue of the main function for a description.

Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
CONTAINER COMPONENT CONFIDENCE COMPONENT CUSTOM n COMPONENT DISPARITY COMPONENT INFRARED COMPONENT INTENSITY COMPONENT MESH MIL COMPONENT METADATA COMPONENT MULTISPECTRAL COMPONENT NORMALS MIL COMPONENT RANGE COMPONENT REFLECTANCE COMPONENT SCATTER COMPONENT ULTRAVIOLET COMPONENT UNDEFINED MODIFICATION HOOK DISABLE ENABLE MODIFIED DEFAULT COMPONENT TYPE COMPONENT CONFIDENCE COMPONENT CUSTOM n COMPONENT DISPARITY COMPONENT INFRARED COMPONENT INTENSITY COMPONENT MESH MIL COMPONENT METADATA COMPONENT MULTISPECTRAL COMPONENT NORMALS MIL COMPONENT RANGE COMPONENT REFLECTANCE COMPONENT SCATTER COMPONENT ULTRAVIOLET COMPONENT UNDEFINED 3D COORDINATE SYSTEM TYPE CARTESIAN CYLINDRICAL SPHERICAL UNKNOWN 3D DISPARITY BASELINE 3D DISPARITY FOCAL LENGTH 3D DISPARITY PRINCIPAL POINT X 3D DISPARITY PRINCIPAL POINT Y 3D DISTANCE UNIT INCH MILLIMETER PIXEL UNKNOWN 3D INVALID DATA FLAG FALSE TRUE 3D INVALID DATA VALUE 3D OFFSET X 3D OFFSET Y 3D OFFSET Z 3D REPRESENTATION CALIBRATED XYZ CALIBRATED XYZ UNORGANIZED CALIBRATED XZ EXTERNAL Y CALIBRATED XZ UNIFORM Y CALIBRATED Z CALIBRATED Z EXTERNAL Y CALIBRATED Z UNIFORM X EXTERNAL Y CALIBRATED Z UNIFORM XY DISPARITY DISPARITY EXTERNAL Y DISPARITY UNIFORM Y UNCALIBRATED Z 3D SCALE X 3D SCALE Y 3D SCALE Z 3D SHEAR X 3D SHEAR Z CONTAINER CONTAINER CONTAINER COMPONENT DISPARITY COMPONENT RANGE M_COMPONENT_CUSTOM + n M_COMPONENT_CUSTOM + n