Please enable JavaScript to view this site.

uEye .NET Manual 4.97

hint_info

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)
Note that the UI-304xLE does not support the multi AOI function.

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

Disable

Disables Multi AOI.

Get

Returns the current multi AOI.

GetAxes

Returns the set multi AOI mode.

GetDefault

Returns the default configuration for multi AOI.

GetEnable

Returns the state (active/inactive) of the multi AOI.

GetMaximumNumber

Returns the maximum numbers of possible multi AOIs.

GetMinimumSize

Returns the minimum size of the single multi AOIs.

GetSupported

Returns the supported multi AOI modes.

Set

Sets the multi AOI.

SetAxes

Sets the multi AOI mode.

Verify

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();