| Customize Help
| Save Settings

MbufGetArc



Function Map
Synopsis
Read the pixels along a specified arc, count the pixels, and store their values, and coordinates, in user-defined arrays.
Syntax
MIL_INT MbufGetArc(
MIL_ID ImageBufId, //in
MIL_INT XCenter, //in
MIL_INT YCenter, //in
MIL_INT XRad, //in
MIL_INT YRad, //in
MIL_DOUBLE StartAngle, //in
MIL_DOUBLE EndAngle, //in
MIL_INT64 Mode, //in
MIL_INT *NbPixelsPtr, //out
void *ValueArrayPtr, //out
void *PosXArrayPtr, //out
void *PosYArrayPtr //out
)
Description

This function reads the series of pixels along an elliptic arc from an image and stores their values, and coordinates, in user-defined arrays. The ellipse is centered at (XCenter, YCenter) with radii XRad and YRad and is defined by the start angle StartAngle and the end angle EndAngle.

If the source buffer is compressed, MIL decompresses the data before copying it to the user-supplied array.

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.
Parameters
This function is not supported on the selected boards.
Parameters
ImageBufId

Specifies the identifier of a single-band (monochrome) source image buffer.

If the specified buffer is an image buffer with an associated region of interest (ROI), an error will occur.

XCenter

Specifies the X-coordinate of the ellipse center, relative to the top-left coordinate of the source buffer.

YCenter

Specifies the Y-coordinate of the ellipse center, relative to the top-left coordinate of the source buffer.

XRad

Specifies the radius along the X-axis.

YRad

Specifies the radius along the Y-axis.

StartAngle

Specifies the angle at which to start reading the arc, moving in a counter-clockwise direction. Express the angle in degrees relative to the positive X-axis.

EndAngle

Specifies the angle at which to stop reading the arc, moving in a counter-clockwise direction. Express the angle in degrees relative to the positive X-axis.

Mode

Reserved for future expansion and must be set to M_DEFAULT.

NbPixelsPtr

Specifies the address of the variable in which to write the number of pixels found along the arc. Set this parameter to M_NULL if it is not to be evaluated.

When using a standard vector (std::vector) overload function in C++, you can pass M_NULL to this parameter and MIL will automatically determine the size based on the number of items in the vector passed to the parameter.

ValueArrayPtr
Accepts the following address:
  • Data type: array of the same type as the buffer (ImageBufId) [optionally, in C++: a reference to a std::vector of the same type as the buffer]
    Required array size:Call MbufGetArc() with ValueArrayPtr set to M_NULL, PosXArrayPtr set to M_NULL, and PosYArrayPtr set to M_NULL. The array size is stored in the NbPixelsPtr parameter. Note: The array size is determined by calling the function twice.

Specifies the address of the user array in which to store the pixel values from the image buffer. Ensure that the user array is large enough to receive the data to be stored. When not using this parameter or when determining the required size of this array for subsequent calls to MbufGetArc(), set this parameter to M_NULL. In this case, nothing is read from the image buffer.

PosXArrayPtr
Accepts the following address:
  • Data type: array of type MIL_INT [optionally, in C++: a reference to a std::vector<MIL_INT> ]
    Required array size:Call MbufGetArc() with ValueArrayPtr set to M_NULL, PosXArrayPtr set to M_NULL, and PosYArrayPtr set to M_NULL. The array size is stored in the NbPixelsPtr parameter. Note: The array size is determined by calling the function twice.

Specifies the address of the user array in which to store the X-coordinates of the points along the arc, from the image buffer. Ensure that the user array is large enough to receive the data to be stored. When not using this parameter or when determining the required size of this array for subsequent calls to MbufGetArc(), set this value to M_NULL. In this case, nothing is read from the image buffer.

PosYArrayPtr
Accepts the following address:
  • Data type: array of type MIL_INT [optionally, in C++: a reference to a std::vector<MIL_INT> ]
    Required array size:Call MbufGetArc() with ValueArrayPtr set to M_NULL, PosXArrayPtr set to M_NULL, and PosYArrayPtr set to M_NULL. The array size is stored in the NbPixelsPtr parameter. Note: The array size is determined by calling the function twice.

Specifies the address of the user array in which to store the Y-coordinates of the points along the arc, from the image buffer. Ensure that the user array is large enough to receive the data to be stored. When not using this parameter or when determining the required size of this array for subsequent calls to MbufGetArc(), set this value to M_NULL. In this case, nothing is read from the image buffer.

Return value
The returned value is the number of pixels found along the arc.
Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
NONE