The multi AOI function is currently supported by the following models: •UI-124x/UI-324x/UI-524x (max. 4 AOIs, 2 per X and Y direction) •UI-125x/UI-325x/UI-525x (max. 4 AOIs, 2 per X and Y direction) •UI-300x (max. 64 AOIs, 8 per X and Y direction) •UI-304x/UI-504x (max. 4 AOIs, 2 per X and Y direction) •UI-306x (max. 16 AOIs, 4 per X and Y direction) •UI-307x (max. 64 AOIs, 8 per X and Y direction) •UI-308x (max. 64 AOIs, 8 per X and Y direction) •UI-309x (max. 64 AOIs, 8 per X and Y direction) •UI-313xLE (max. 4 AOIs, 2 per X and Y direction) •UI-313xCP Rev. 2/UI-513x (max. 8 AOIs, 4 x 2 or 2 x 4 per X and Y direction) •UI-314x/UI-514x (max. 8 AOIs, 4 x 2 or 2 x 4 per X and Y direction) •UI-316x (max. 16 AOIs, 4 per X and Y direction) •UI-318x (max. 16 AOIs, 4 per X and Y direction) •UI-336x/UI-536x (max. 8 AOIs in Y direction) •UI-337x/UI-537x (max. 8 AOIs in Y direction) |
The Multi class provides methods for setting multiple AOIs in one image capture. The AOIs are transferred together as one image.
The sensors of the models UI-124x/UI-324x/UI-524x and UI-125x/UI-325x/UI-525x support multiple AOIs in one image capturing. The AOIs are transferred together as one image. In this mode, you can create 2 or 4 AOIs, which have either the same X axis or the same Y axis. The sensor is faster in this mode.
The sensors of the models UI-336x/UI-536x and UI-337x/UI-537x support multiple AOI in one image capturing. The AOIs are transferred together as one image. In this mode, you can create maximum 8 AOIs with up to 16 y-axes. X-axes are not supported.
The sensors of the models UI-306x and UI-308x support multiple AOIs in one image capturing. The AOIs are transferred together as one image. In this mode, you can create up to 4 AOIs in horizontal and vertical direction for UI-306x and up to 8 AOIs for UI-308x.
The sensors of the models UI-313x, UI-314x, UI-316x, and UI-318x support multiple AOIs in one image capturing. The AOIs are transferred together as one image. In this mode, you can define for the cameras:
•UI-313x and UI-314x: up to 8 AOIs (horizontal x vertical: 4 x 2 or 2 x 4)
•UI-316x and UI-318x: up to 16 AOIs (horizontal x vertical: 4 x 4)
Methods
Method |
Description |
---|---|
Disables Multi AOI. |
|
Returns the current multi AOI. |
|
Returns the set multi AOI mode. |
|
Returns the default configuration for multi AOI. |
|
Returns the state (active/inactive) of the multi AOI. |
|
Returns the maximum numbers of possible multi AOIs. |
|
Returns the minimum size of the single multi AOIs. |
|
Returns the supported multi AOI modes. |
|
Sets the multi AOI. |
|
Sets the multi AOI mode. |
|
Checks the validity of the passed multi AOIs. |
Example
bool supported;
/* uEye.Defines.Status */
nRet = hCam.Size.AOI.Multi.GetSupported(out supported);
if(supported && nRet == uEye.Defines.Status.SUCCESS)
{
// Returns the minimum size of a single AOI inside the multi AOI
uEye.Types.Size<int> minimumSize;
nRet = hCam.Size.AOI.Multi.GetMinimumSize(out minimumSize);
// Returns the maximum numbers of possible multi AOIs
int maxNumOfMultiAOI;
nRet = hCam.Size.AOI.Multi.GetMaximumNumber(out maxNumOfMultiAOI);
// Allocate maximum number of multi AOIs
uEye.Types.MultiAoiDescriptor[] multiAOIs = new uEye.Types.MultiAoiDescriptor[maxNumOfMultiAOI];
for (int i = 0; i < multiAOIs.Length; i++)
{
multiAOIs[i] = new uEye.Types.MultiAoiDescriptor();
multiAOIs[i].Size = new uEye.Types.Size<int>(0, 0);
multiAOIs[i].Position = new uEye.Types.Point<int>(0, 0);
multiAOIs[i].Status = uEye.Defines.MultiAoiStatus.Unused;
}
// Set AOI on position (100/200) with size (160/180)
multiAOIs[0].Size = new uEye.Types.Size<int>(160, 180);
multiAOIs[0].Position = new uEye.Types.Point<int>(100, 200);
multiAOIs[0].Status = uEye.Defines.MultiAoiStatus.SetByteUser; /* Initially defined as user-defined AOI */
multiAOIs[1].Size = new uEye.Types.Size<int>(120, 140);
multiAOIs[1].Position = new uEye.Types.Point<int>(400, 800);
multiAOIs[1].Status = uEye.Defines.MultiAoiStatus.SetByteUser; /* Initially defined as user-defined AOI */
// Checks the validity of the passed multi AOIs
nRet = hCam.Size.AOI.Multi.Verify(multiAOIs);
if (nRet == uEye.Defines.Status.SUCCESS)
{
// Sets the multi AOI
nRet = hCam.Size.AOI.Multi.Set(multiAOIs);
// Returns the current multi AOI
uEye.Types.MultiAoiDescriptor[] temp;
nRet = hCam.Size.AOI.Multi.Get(out temp);
}
}
// Disables the multi AOI
hCam.Size.AOI.Multi.Disable();