Skip to main content

MbufInquireContainer

BoardSupported
Host SystemYes
V4L2Yes
Clarity UHDYes
Concord PoENo
GenTLYes
GevIQYes
GigE VisionYes
IndioNo
Iris GTXYes
Radient eV-CLYes
Rapixo CLYes
Rapixo CoFYes
Rapixo CXPYes
USB3 VisionYes

Inquire about an Aurora Imaging Library container or component setting.

Syntax

AIL_INT MbufInquireContainer(
AIL_ID ContainerBufId, //in
AIL_INT64 Component, //in
AIL_INT64 InquireType, //in
void * UserVarPtr //out
)

Description

This function inquires about a specified setting of an Aurora Imaging Library container or component.

Parameters

ContainerBufId (in, AIL_ID)

Specifies the identifier of the source container. The container must have been previously allocated on the required system using MbufAllocContainer.

Component (in, AIL_INT64)

Specifies the component to inquire.

For specifying to inquire the container itself

ValueDescription
M_CONTAINERSpecifies to inquire a setting of the container.

For specifying the component to inquire by a unique identifier

ValueDescription
M_COMPONENT_BY_IDSpecifies to inquire 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.
M_COMPONENT_BY_INDEXSpecifies to inquire 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.

For specifying the component to inquire by component type

ValueDescription
M_COMPONENT_CONFIDENCESpecifies that the component stores confidence information for theM_COMPONENT_RANGEor M_COMPONENT_DISPARITYcomponent 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.
M_COMPONENT_COORDINATE_MAP_A_AILSpecifies that the component stores the A coordinate map provided by the camera. When using MbufConvert3d with a projective map, this component can be used instead of the column index of each corresponding pixel and will result in a better representation of the camera's lens model when generating X-coordinates.A coordinate map component is associated with a range component in the same container when there is only one range component and only one type of each coordinate map component in that container.Note that this component is only available if it is provided by the camera. For more information refer to your cameras manual.
M_COMPONENT_COORDINATE_MAP_B_AILSpecifies that the component stores the B coordinate map provided by the camera. When using MbufConvert3d with a projective map, this component can be used instead of the row index of each corresponding pixel and will result in a better representation of the camera's lens model when generating Y-coordinates.A coordinate map component is associated with a range component in the same container when there is only one range component and only one type of each coordinate map component in that container.Note that this component is only available if it is provided by the camera. For more information refer to your cameras manual.
M_COMPONENT_CUSTOM + nSpecifies 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.
M_COMPONENT_DISPARITYSpecifies 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.
M_COMPONENT_INFRAREDSpecifies that the component stores an intensity image of infrared light.
M_COMPONENT_INTENSITYSpecifies that the component stores an intensity image of visible light.
M_COMPONENT_MATRIX_AILSpecifies that the component stores a 4x4 matrix that transforms depth map coordinates. Only depth map containers can have a matrix component.A matrix component is associated with a range component in the same container when there is only one range component and no other matrix components in that container.
M_COMPONENT_MESH_AILSpecifies that the component stores mesh information for the M_COMPONENT_RANGEcomponent 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.
M_COMPONENT_METADATASpecifies that the component stores metadata information. Metadata components are used by Aurora Imaging Library internally. Typically, you should ignore metadata components in your application.
M_COMPONENT_MULTISPECTRALSpecifies 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.
M_COMPONENT_NORMALS_AILSpecifies that the component stores normals information for each point in the M_COMPONENT_RANGEcomponent 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.
M_COMPONENT_RANGESpecifies 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.
M_COMPONENT_REFLECTANCESpecifies 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.
M_COMPONENT_REGION_AILSpecifies that the component stores a region of interest (ROI) for theM_COMPONENT_RANGE component of the container. 3D image processing functions will only operate on points inside the ROI. Only depth map containers can have a region component.A region component is associated with a range component in the same container when there is only one range component and no other region components in that container.
M_COMPONENT_SCATTERSpecifies 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.
M_COMPONENT_ULTRAVIOLETSpecifies that the component stores an intensity image of ultraviolet light.
M_COMPONENT_UNDEFINEDSpecifies that the component stores information of an unknown type.

InquireType (in, AIL_INT64)

Specifies the setting to inquire.

UserVarPtr *(out, void)

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

Parameter Associations

For inquiring about a container

To inquire the container itself, specify M_CONTAINER and one of the following constants.


M_3D_CONVERTIBLE

Inquires whether the container can be converted to a 3D-processable and/or natively 3D displayable container using MbufConvert3d, and whether compensation is required to convert the data. > Note: Note that irrespective of the returned value for this inquire type, components with invalid values will result in undefined behavior. This includes non-finite values for valid points (infinity, negative infinity, or NaN), invalid normals, and invalid vertices or edges in mesh triangles. Depending on the type of invalid values, you can useMbufConvert3d with M_REMOVE_NON_FINITE to remove non-finite values in the range and disparity components. Components with invalid values must be fixed before passing the container to a 3D processing function.

ValueDescription
M_CONVERTIBLESpecifies that the container stores 3D data that can be converted using MbufConvert3d.
M_CONVERTIBLE_WITH_COMPENSATIONSpecifies that the container stores 3D data that can be converted using MbufConvert3dwithM_COMPENSATE.
M_NOT_CONVERTIBLESpecifies that the container can be converted us.

M_3D_DISPLAYABLE

Inquires whether the container can be used with 3D displays. Any container that is 3D-convertible is also 3D-displayable. A conversion will occur each time the container is modified, unless you convert the container to a format that is natively 3D-displayable. To be natively 3D-displayable, a container must have the attribute M_DISPand must have the following components: - A single range component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_RANGE. The component'sM_3D_COORDINATE_SYSTEM_TYPEmust be set to M_CARTESIAN and M_3D_REPRESENTATIONmust be set to M_CALIBRATED_XYZ. - A single confidence component, which is a 1-band, 8-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_CONFIDENCE and with the same dimensions (M_SIZE_X and M_SIZE_Y) as the range component. - Optionally, either a single intensity or single reflectance component, which are 1-band or 3-band, 8- or 16-bit unsigned data image buffers with the M_COMPONENT_TYPEset toM_COMPONENT_INTENSITY or M_COMPONENT_REFLECTANCE. - Optionally, a single mesh component, which is a 1-band, 32-bit unsigned 2D M_ARRAY buffer with the M_COMPONENT_TYPEset toM_COMPONENT_MESH_AIL. - Optionally, a single normals component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_NORMALS_AIL. > Note: Note that irrespective of the returned value for this inquire type, components with invalid values will result in undefined behavior. This includes non-finite values for valid points (infinity, negative infinity, or NaN), invalid normals, and invalid vertices or edges in mesh triangles. Depending on the type of invalid values, you can useMbufConvert3d with M_REMOVE_NON_FINITE to remove non-finite values in the range and disparity components. Components with invalid values must be fixed before passing the container to a 3D processing function.

ValueDescription
M_DISPLAYABLESpecifies that the container can be used with 3D displays.
M_DISPLAYABLE_WITH_CONVERSIONSpecifies that the container can be used with 3D displays, with automatic conversion.
M_NOT_DISPLAYABLESpecifies that the container cannot be used with 3D displays.

M_3D_PROCESSABLE

Inquires whether the container can be used for 3D processing. To be 3D-processable, a container must have the attribute M_PROCand must have the following components: - A single range component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_RANGE. The component'sM_3D_COORDINATE_SYSTEM_TYPEmust be set to M_CARTESIAN and M_3D_REPRESENTATIONmust be set to M_CALIBRATED_XYZ or M_CALIBRATED_XYZ_UNORGANIZED. - A single confidence component, which is a 1-band, 8-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_CONFIDENCE and with the same dimensions (M_SIZE_X and M_SIZE_Y) as the range component. - Optionally, either a single intensity or single reflectance component, which are 1-band or 3-band, 8- or 16-bit unsigned data image buffers with the M_COMPONENT_TYPEset toM_COMPONENT_INTENSITY or M_COMPONENT_REFLECTANCE. - Optionally, a single mesh component, which is a 1-band, 32-bit unsigned 2D M_ARRAY buffer with the M_COMPONENT_TYPEset toM_COMPONENT_MESH_AIL. - Optionally, a single normals component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_NORMALS_AIL. > Note: Note that irrespective of the returned value for this inquire type, components with invalid values will result in undefined behavior. This includes non-finite values for valid points (infinity, negative infinity, or NaN), invalid normals, and invalid vertices or edges in mesh triangles. Depending on the type of invalid values, you can useMbufConvert3d with M_REMOVE_NON_FINITE to remove non-finite values in the range and disparity components. Components with invalid values must be fixed before passing the container to a 3D processing function.

ValueDescription
M_NOT_PROCESSABLE
M_PROCESSABLE

M_3D_PROCESSABLE_DEPTH_MAP

Inquires whether the container is a 3D-processable depth map container. > Note: Note that if a function has an optional functionality that is available for point cloud containers but not depth map image buffers, it will not be available for depth map containers. To store data in a 3D-processable depth map format, a container must have the attribute M_PROCand must have the following components: - A single range component, which is a 1-band, 8-bit, 16-bit, or 32-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_RANGE. The component'sM_3D_COORDINATE_SYSTEM_TYPEmust be set to M_CARTESIAN, M_3D_REPRESENTATIONmust be set to M_CALIBRATED_Z_UNIFORM_XY, M_3D_SCALE_X and M_3D_SCALE_Y must be positive, and M_3D_SHEAR_X and M_3D_SHEAR_Z must be zero. If M_3D_INVALID_DATA_FLAG is set to M_TRUE, M_3D_INVALID_DATA_VALUE must be the maximum value of the buffer. - If M_3D_INVALID_DATA_FLAG is set to M_FALSE, a single confidence component, which is a 1-band, 8-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_CONFIDENCE and with the same dimensions (M_SIZE_X and M_SIZE_Y) as the range component. - Optionally, a single region component, which is a 1-band, 8-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_REGION_AIL and with the same dimensions (M_SIZE_X and M_SIZE_Y) as the range component. - Optionally, a single matrix component, which is a 1-band, 32-bit float 4x4 M_ARRAY buffer with the M_COMPONENT_TYPE set to M_COMPONENT_MATRIX_AIL. - Optionally, either a single intensity or single reflectance component, which are 1-band or 3-band, 8- or 16-bit unsigned data image buffers with the M_COMPONENT_TYPEset toM_COMPONENT_INTENSITY or M_COMPONENT_REFLECTANCE. - Optionally, a single mesh component, which is a 1-band, 32-bit unsigned 2D M_ARRAY buffer with the M_COMPONENT_TYPEset toM_COMPONENT_MESH_AIL. - Optionally, a single normals component, which is a 3-band, 32-bit float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_NORMALS_AIL. > Note: Note that irrespective of the returned value for this inquire type, components with invalid values will result in undefined behavior. This includes non-finite values for valid points (infinity, negative infinity, or NaN), invalid normals, and invalid vertices or edges in mesh triangles. Depending on the type of invalid values, you can useMbufConvert3d with M_REMOVE_NON_FINITE to remove non-finite values in the range and disparity components. Components with invalid values must be fixed before passing the container to a 3D processing function.

ValueDescription
M_FALSESpecifies that the container cannot store data in a 3D-processable depth map format.
M_TRUESpecifies that the container can store data in a 3D-processable depth map format.

M_3D_PROCESSABLE_MESHED

To be 3D-processable, a container must have the attribute M_PROCand must have the following components: - A single range component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_RANGE. The component'sM_3D_COORDINATE_SYSTEM_TYPEmust be set to M_CARTESIAN and M_3D_REPRESENTATIONmust be set to M_CALIBRATED_XYZ or M_CALIBRATED_XYZ_UNORGANIZED. - A single confidence component, which is a 1-band, 8-bit unsigned data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_CONFIDENCE and with the same dimensions (M_SIZE_X and M_SIZE_Y) as the range component. - Optionally, either a single intensity or single reflectance component, which are 1-band or 3-band, 8- or 16-bit unsigned data image buffers with the M_COMPONENT_TYPEset toM_COMPONENT_INTENSITY or M_COMPONENT_REFLECTANCE. - Optionally, a single mesh component, which is a 1-band, 32-bit unsigned 2D M_ARRAY buffer with the M_COMPONENT_TYPEset toM_COMPONENT_MESH_AIL. - Optionally, a single normals component, which is a 3-band, float data image buffer with the M_COMPONENT_TYPEset toM_COMPONENT_NORMALS_AIL. > Note: Note that irrespective of the returned value for this inquire type, components with invalid values will result in undefined behavior. This includes non-finite values for valid points (infinity, negative infinity, or NaN), invalid normals, and invalid vertices or edges in mesh triangles. Depending on the type of invalid values, you can useMbufConvert3d with M_REMOVE_NON_FINITE to remove non-finite values in the range and disparity components. Components with invalid values must be fixed before passing the container to a 3D processing function.

ValueDescription
M_FALSE
M_TRUE

M_ANCESTOR_ID

Inquires the Aurora Imaging Library identifier of the ancestor container. Only child containers have an ancestor container. The ancestor container is the container from which the specified container ultimately originated. It is the root container; it does not have a parent container (it is not a child container of another container). If the specified container is not a child container, the identifier of the container itself is returned as the ancestor container. To establish the parent container of the specified container, use M_PARENT_ID instead.


M_COMPONENT_GROUP_ID_LIST

Inquires the list of unique group IDs of components in the container.


M_COMPONENT_REGION_ID_LIST

Inquires the list of unique region IDs of components in the container.


M_COMPONENT_SOURCE_ID_LIST

Inquires the list of unique source IDs of components in the container.


M_COMPONENT_TYPE_LIST

Inquires the list of unique component types of components in the container.


M_LAYOUT_MODIFICATION_COUNT

Board availability: GenTL, GevIQ, GigE Vision, Rapixo CXP, Rapixo CoF, USB3 Vision, V4L2

Inquires the current value of the modification counter of the specified container. When the container is allocated, the layout modification counter is initialized to a default value. The layout modification counter is incremented each time a component is added or removed from the container. This feature is useful for optimization. For example, you can avoid repeating certain computations (for example, analysis computations) if you know that the image buffer has not been modified. In this case, inquire the count before the first computation in the sequence of computations, and then inquire it again before repeating the same sequence. If no modifications have been made to the image buffer, you can avoid repeating the sequence unnecessarily. > Note: Note thatComponentmust be set toM_CONTAINER.

ValueDescription
ValueSpecifies the current value of the modification counter.

M_OWNER_SYSTEM

Inquires the identifier of the system on which the container has been allocated.

ValueDescription
M_DEFAULT_HOSTSpecifies the default Host system of the current Aurora Imaging Library application.
System identifierSpecifies a valid system identifier, previously allocated using MsysAlloc.

M_OWNER_SYSTEM_TYPE

Board availability: Clarity UHD, GenTL, GevIQ, GigE Vision, Host System, Iris GTX, Radient eV-CL, Rapixo CL, Rapixo CXP, Rapixo CoF, USB3 Vision, V4L2

Inquires the type of system on which the container was allocated.

ValueDescription
(see M_OWNER_SYSTEM_TYPE)

M_PARENT_ID

Inquires the Aurora Imaging Library identifier of the parent container. Only child container have a parent container. The parent container is the container from which the specified container (ContainerBufId) was defined. The container can itself have a parent container. If the specified container has no parent container, the identifier of the specified container is returned. To establish the ultimate ancestor container of the specified container, use M_ANCESTOR_ID instead.


M_SYSTEM_LOCATION

Inquires whether the specified container is allocated on a system on the local computer or the remote computer.

ValueDescription
M_LOCALSpecifies that the container is allocated on a local system.
M_REMOTESpecifies that the container is allocated on a remote system.

For inquiring about which components are in a container


M_COMPONENT_COUNT

Inquires how many components are in the container. If Componentis set toM_CONTAINER, the returned value will be the number of all components in the container. Otherwise, the returned value will be the number of components in the container which meet the specified criteria.


M_COMPONENT_LIST

Inquires the Aurora Imaging Library identifiers of components in the container. If Componentis set toM_CONTAINER, the returned array will contain the Aurora Imaging Library identifiers of all components in the container. Otherwise, the returned array will contain the Aurora Imaging Library identifiers of all components in the container which meet the specified criteria.

Combination Constants — For determining the required array size (number of elements) to store the returned values

Optional, cannot be used alone.

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

M_NB_ELEMENTS

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

For inquiring about settings that apply to both containers and components

To inquire a container or component, specify one of the following constants.






M_EXTENDED_ATTRIBUTE

Inquires the attributes of the container or component. To retrieve only the data storage format of the buffer, use MbufInquireContainer with M_DATA_FORMAT. To retrieve the detailed storage format of the specified buffer, use MbufInquireContainer with M_EXTENDED_FORMAT. > Note: Note that you cannot set the UserVarPtr parameter to M_NULL when InquireType is set to M_EXTENDED_ATTRIBUTE. In addition, a valid AIL_INT64 pointer must be passed to the function; otherwise, an error will occur.

ValueDescription
M_ARRAYSpecifies a buffer to store array type data.
M_IMAGESpecifies a buffer to store image data.
M_KERNELSpecifies a kernel buffer to store a custom filter for convolution functions.
M_LUTSpecifies a buffer to store lookup table data.
M_STRUCT_ELEMENTSpecifies a buffer to store structuring element data for morphology functions.
M_COMPRESSSpecifies an image buffer that can hold compressed data.
M_DISPSpecifies an image buffer that can be displayed.
M_GRABSpecifies an image buffer in which to grab data.
M_PROCSpecifies an image buffer that can be processed.
M_ALLOCATION_OVERSCANSpecifies that the buffer is allocated with an overscan region.
M_JPEG2000_LOSSLESSSpecifies that the buffer will be used to hold JPEG2000 lossless data.
M_JPEG2000_LOSSYSpecifies that the buffer will be used to hold JPEG2000 lossy data.
M_JPEG_LOSSLESSSpecifies that the buffer will be used to hold JPEG lossless data.
M_JPEG_LOSSLESS_INTERLACEDSpecifies that the buffer will be used to hold JPEG lossless data in separate fields.
M_JPEG_LOSSY (default)Specifies that the buffer will be used to hold JPEG lossy data.
M_JPEG_LOSSY_INTERLACEDSpecifies that the buffer will be used to hold JPEG lossy data in separate fields.
M_DIBForces the buffer to be a DIB buffer.
M_GDIForces the buffer to be compatible with GDI.
M_LINUX_MXIMAGEForces the buffer to be an X11 Ximage.
M_FPGA_ACCESSIBLEForces the buffer to be allocated in a bank of memory that is accessible from the Processing FPGA.
M_HOST_MEMORY (default)Forces the buffer in Host memory.
M_OFF_BOARDEnsures that the buffer is not in on-board memory.
M_ON_BOARDForces the buffer in on-board memory.
M_MEMORY_BANK_nForces the buffer to be allocated in the specified memory bank.
M_SHAREDSpecifies that the buffer is in shared processing memory.
M_NON_PAGEDForces the buffer in Aurora Imaging Library reserved, non-pageable memory, if possible.
M_PAGEDForces the buffer in pageable memory.
M_ARRAYSpecifies a buffer to store array type data.
M_IMAGESpecifies a buffer to store image data.
M_LUTSpecifies a buffer to store lookup table data.
M_COMPRESSSpecifies an image buffer that can hold compressed data.
M_DISPSpecifies an image buffer that can be displayed.
M_GRABSpecifies an image buffer in which to grab data.
M_PROCSpecifies an image buffer that can be processed.
M_JPEG2000_LOSSLESSSpecifies that the buffer will be used to hold JPEG2000 lossless data.
M_JPEG2000_LOSSYSpecifies that the buffer will be used to hold JPEG2000 lossy data.
M_JPEG_LOSSLESSSpecifies that the buffer will be used to hold JPEG lossless data.
M_JPEG_LOSSLESS_INTERLACEDSpecifies that the buffer will be used to hold JPEG lossless data in separate fields.
M_JPEG_LOSSY (default)Specifies that the buffer will be used to hold JPEG lossy data.
M_JPEG_LOSSY_INTERLACEDSpecifies that the buffer will be used to hold JPEG lossy data in separate fields.
M_PACKEDSpecifies that the buffer's bands are stored in packed format; that is, each pixel's bands are stored together (RGB RGB RGB...).
M_PLANARSpecifies that the buffer's bands are stored in planar format; that is, each pixel's bands are stored in separate planes.
M_RGB3Specifies 3-bit color depth (RGB 1:1:1) planar pixels.
M_YUV9Specifies YUV9 planar standard.
M_YUV12Specifies YUV12 planar standard.
M_YUV24Specifies YUV24 planar standard.
M_BGR24Specifies 24-bit color depth (BGR) packed pixels (BGRBGR).
M_BGR32Specifies 32-bit color depth (BGR) packed pixels (BGRXBGRX).
M_RGB15Specifies 16-bit color depth packed pixels (XRGB 1:5:5:5).
M_RGB16Specifies 16-bit color depth packed pixels (RGB 5:6:5).
M_YUV16_UYVYSpecifies YUV16 packed (4:2:2) pixels, whereby the bands of each pixel are stored in the UYVY order.
M_YUV16_YUYVSpecifies YUV16 packed (4:2:2) pixels, whereby the bands of each pixel are stored in the YUYV order.
M_RGB24Specifies 24-bit color depth (RGB 8:8:8) packed or planar pixels.
M_RGB48Specifies 48-bit color depth (RGB 16:16:16).
M_RGB96Specifies 96-bit color depth (RGB 32:32:32) packed or planar pixels.
M_YUV16Specifies YUV16 packed or planar (4:2:2) standard.
M_CONTAINERSpecifies a container.

M_EXTENDED_ATTRIBUTE_NAME





M_MODIFICATION_HOOK

Inquires the status of the modification hook, which runs a user-defined function upon an event. These user-defined functions are initially hooked to the buffer modification event using MbufHookFunction.

ValueDescription
(see M_MODIFICATION_HOOK)

For inquiring about settings that apply only to components



M_COMPONENT_ID

ValueDescription
M_NULLSpecifies that no component in the container matches the specified criterion.
M_MULTIPLE_IDSSpecifies that more than one component in the container matches the specified criterion.
Component identifierSpecifies the Aurora Imaging Library identifier of the component.

M_COMPONENT_INVALID

ValueDescription
M_FALSE (default)Specifies that the information in the buffer has not been marked invalid by the camera.
M_TRUESpecifies that the information in the buffer has been marked invalid by the camera.








M_COMPONENT_TYPE

Inquires the component type of the buffer, used when the buffer is a component of a container. The component type specifies what kind of information is stored in the component.

ValueDescription
(see M_COMPONENT_TYPE)

M_COMPONENT_TYPE_NAME

Inquires the component type of the buffer in a human-readable format.


M_DATA_FORMAT

Inquires the data storage format of the buffer. This is the color or monochrome storage format of the buffer and includes whether it is in packed or planar format. Note that non-color buffers are stored in planar format and lack a color space. To retrieve the entire list of attributes, use MbufInquire with M_EXTENDED_ATTRIBUTE or M_EXTENDED_FORMAT.

ValueDescription
M_PACKEDSpecifies that the buffer's bands are stored in packed format; that is, each pixel's bands are stored together (RGB RGB RGB...).
M_PLANARSpecifies that the buffer's bands are stored in planar format; that is, each pixel's bands are stored in separate planes.

M_DATA_TYPE

Inquires the buffer data type.

ValueDescription
M_FLOATSpecifies that the buffer uses the float data type.
M_SIGNEDSpecifies that the buffer uses the signed data type.
M_UNSIGNEDSpecifies that the buffer uses the unsigned data type.









M_PITCH

Inquires the number of pixels between the beginnings of any two adjacent lines of the buffer data.

ValueDescription
ValueSpecifies the pitch, in pixels.

M_PITCH_BYTE

Inquires the number of bytes between the beginnings of any two adjacent lines of the buffer data.

ValueDescription
ValueSpecifies the pitch, in bytes.

M_SIZE_BAND

Inquires the number of buffer bands.

ValueDescription
1 <= Value <= 1024Specifies the number of bands.

M_SIZE_BIT

Inquires the depth per band.

ValueDescription
ValueSpecifies the depth per band, in bits.

M_SIZE_X

Inquires the width of the buffer.

ValueDescription
ValueSpecifies the width of the buffer, in pixels.

M_SIZE_Y

Inquires the height of the buffer.

ValueDescription
ValueSpecifies the height of the buffer, in pixels.

M_TYPE

Inquires the buffer data type and depth. Depth is returned in bits.

ValueDescription
M_FLOAT + Depth valueSpecifies the data depth and that the data type is floating-point.
M_SIGNED + Depth valueSpecifies the data depth and that the data type is signed.
M_UNSIGNED + Depth valueSpecifies the data depth and that the data type is unsigned.

Combination Constants — For getting the string size

Optional.

Usage: You can add one of the following values to the above-mentioned values to get the string's length.

M_STRING_SIZE

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

Combination Constants — Returns the location of the buffer

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the location of the buffer.

Combination Constants — Returns whether the buffer was allocated in paged or non-paged memory

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine whether the buffer was allocated in paged or non-paged memory.

Combination Constants — Returns the intended purpose of the image buffer

Essential.

Usage: You must add one or more of the following values to the above-mentioned values to determine the intended purpose of the buffer.

Combination Constants — Returns the storage format and location specifier

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the storage format and location specifier.

You might have set this value, or it could have been automatically selected by Aurora Imaging Library.

Combination Constants — Returns the compression type

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the compression type.

Combination Constants — Returns whether the buffer was allocated with an overscan region

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine whether the buffer was allocated with an overscan region.

Combination Constants — Returns whether the buffer is FPGA accessible

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine whether the buffer is FPGA accessible.

Combination Constants — Returns the format in which image buffers were stored

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the format in which image buffers were stored.

Combination Constants — Returns the packed or planar color buffer format

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the packed or planar color buffer format.

Combination Constants — Returns the packed color buffer format

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the packed color buffer format.

Combination Constants — Returns the planar color buffer format

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the planar color buffer format.

Combination Constants — Returns the memory bank used

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine the memory bank in which the buffer was allocated.

ValueDescription
M_MEMORY_BANK_nInquires the buffer allocated in the specified memory bank.

Combination Constants — For specifying a location in a specific type of memory

Optional.

Usage: You can add one of the following values to the above-mentioned values to set a location in a specific type of memory.

Board availability: Radient eV-CL, Rapixo CL, Rapixo CXP, Rapixo CoF

For inquiring about 3D settings that apply only to range and disparity components that are image buffers

For components with an M_IMAGEattribute and with M_COMPONENT_TYPE set to M_COMPONENT_RANGE or M_COMPONENT_DISPARITY, InquireType can also be set to one of the values below. These settings are used only when the component is the range or disparity component of a container that is used as a source withMbufConvert3d. 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_DISTANCE_UNIT which can be any value andM_3D_REPRESENTATION, which must be set to M_CALIBRATED_XYZorM_CALIBRATED_XYZ_UNORGANIZED).


M_3D_ASPECT_RATIO

Inquires by how much the focal length in the Y-direction stored in the buffer will be scaled in the destination point cloud to correct for non-square pixels in 3D reconstruction modes that rely on projective geometry.

ValueDescription
(see M_3D_ASPECT_RATIO)

M_3D_COORDINATE_SYSTEM_TYPE

Inquires 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: Note that Aurora Imaging Library 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 Aurora Imaging Library processing function. This conversion cannot be done usingMbufConvert3d.

ValueDescription
(see M_3D_COORDINATE_SYSTEM_TYPE)

M_3D_DISPARITY_BASELINE

Inquires 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. > Note: 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.

ValueDescription
(see M_3D_DISPARITY_BASELINE)

M_3D_DISTANCE_UNIT

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

ValueDescription
(see M_3D_DISTANCE_UNIT)

M_3D_FOCAL_LENGTH

Inquires the focal length of the lenses of the stereoscopic camera used to generate the data in the buffer. > Note: Refer to your camera manual to determine the correct value for this setting, which might differ from the true focal length of your camera.

ValueDescription
(see M_3D_FOCAL_LENGTH)

M_3D_INVALID_DATA_FLAG

Inquires 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.

ValueDescription
(see M_3D_INVALID_DATA_FLAG)

M_3D_INVALID_DATA_VALUE

Inquires the value used to indicate missing data when M_3D_INVALID_DATA_FLAG is set to M_TRUE. > Note: Note that this value is not used or respected by any Aurora Imaging Library functions except forMbufConvert3d when the buffer is a component of the source container.

ValueDescription
(see M_3D_INVALID_DATA_VALUE)

M_3D_OFFSET_X

Inquires by how much the X-coordinates stored in the buffer will be offset in the destination point cloud when it is a component of a container passed as a source to MbufConvert3d.

ValueDescription
(see M_3D_OFFSET_X)

M_3D_OFFSET_Y

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

ValueDescription
(see M_3D_OFFSET_Y)

M_3D_OFFSET_Z

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

ValueDescription
(see M_3D_OFFSET_Z)

M_3D_PRINCIPAL_POINT_X

Inquires the X-position of the principal point of the buffer. This is the point in the buffer which the optical axis of the camera intersects.

ValueDescription
(see M_3D_PRINCIPAL_POINT_X)

M_3D_PRINCIPAL_POINT_Y

Inquires the Y-position of the principal point of the buffer. This is the point in the buffer which the optical axis of the camera intersects.

ValueDescription
(see M_3D_PRINCIPAL_POINT_Y)

M_3D_REPRESENTATION

Inquires 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.

ValueDescription
(see M_3D_REPRESENTATION)

M_3D_SCALE_X

Inquires by how much the X-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.

ValueDescription
(see M_3D_SCALE_X)

M_3D_SCALE_Y

Inquires 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.

ValueDescription
(see M_3D_SCALE_Y)

M_3D_SCALE_Z

Inquires 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.

ValueDescription
(see M_3D_SCALE_Z)

M_3D_SHEAR_X

Inquires 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.

ValueDescription
(see M_3D_SHEAR_X)

M_3D_SHEAR_Z

Inquires 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.

ValueDescription
(see M_3D_SHEAR_Z)

Return Value

Type: AIL_INT

The returned value is the requested information, cast to an AIL_INT. If the requested information does not fit into an AIL_INT, this function will return M_NULLor truncate the information. If the requested information cannot be retrieved, M_ERROR is returned.

Remarks

Note that during development and at runtime, compression support, particularly for an M_COMPRESS buffer type, requires the presence of an Aurora Imaging Library license that grants access to the compression/decompression package. This access is only granted by default with the development license dongle for the full version of Aurora Imaging Library. In other cases, you must purchase access to this package separately.

While an image buffer with an M_KERNEL or an M_STRUCT_ELEMENT attribute are available under Aurora Imaging Library Lite, these attributes are not required for the image buffer to be available to other Aurora Imaging Library Lite functions.

To convert the returned attributes, select the Benchmarks and Utilities item in the tree structure of the Aurora Imaging Configurator utility. Then, select the Buffer format item. On the Value type pane, paste the returned attributes in the text box provided. Then, click on the Value lookup button. The results of the translation are presented below the Value lookup button.

Copyright © 2026 Zebra Technologies.