Please enable JavaScript to view this site.

IDS Software Suite 4.96.1

Navigation: C: Programming > Function descriptions > is_AOI

Using the sequence AOI mode

Scroll Previous Top Next More
Windows_Logo
Linux_Logo

USB 2.0

USB 3.x

GigE

USB 2.0

USB 3.x

GigE

Syntax

INT is_AOI (HIDS hCam, UINT nCommand, void* pParam, UINT nSizeOfParam)

Description

hint_info

The sequence AOI mode is currently supported by the following sensor models:

UI-124x/UI-324x/UI-524x

UI-125x/UI-325x/UI-525x

Note that the sequence AOI mode cannot be used in combination with scaler, image mirroring, subsampling, or binning.

The camera models UI-124x/UI-324x/UI-524x and UI-125x/UI-325x/UI-525x have a special AOI mode. In this mode you can define besides the normal AOI (AOI 1) up to 3 further AOI on the sensor (see uEye Cockpit: Sequence AOI). When activating the sequence mode, note that only the following combinations are possible:

1.All additional AOIs are off. AOI 1 is always active.

2.AOI 2 (+ AOI 1)

3.AOI 2 and 3 (+ AOI 1)

4.AOI 2, 3 and 4 (+ AOI 1)

It is not possible to have a combination e.g. of AOI 2 and AOI 4. The parameters of AOI 2, 3 and 4 are defined by the AOI_SEQUENCE_PARAMS structure.

In triggered mode, a trigger signal triggers a complete sequence, i. e. with one trigger signal, the defined AOI 1 up to AOI 4 are captured in one sequence.

The nCommand input parameter is used to select the function mode. The pParam input parameter depends on the selected function mode. If you select functions for setting or returning a value, pParam contains a pointer to a variable of the UINT type. The size of the memory area to which pParam refers is specified in the nSizeOfParam input parameter.

Input parameters

hCam

Camera handle

pParam

Pointer to a function parameter, whose function depends on nCommand.

nSizeOfParam

Size (in bytes) of the memory area to which pParam refers.

Content of the AOI_SEQUENCE_PARAMS structure

INT

s32AOIIndex

Index of the AOI

INT

s32NumberOfCycleRepetitions

Number of readout cycles

INT

s32X

X position of the AOI

INT

s32Y

Y position of the AOI

Double

dblExposure

Exposure

INT

s32Gain

Gain

INT

s32BinningMode

Binning mode (not supported in version 4.96.1)

INT

s32SubsamplingMode

Subsampling mode (not supported in version 4.96.1)

INT

s32DetachImageParameters

0 = every change of the exposure time and the master gain is copied from AOI 1 to the additional AOIs (default).
As a change of AOI 1 also reset the exposure time, this change is also transferred to AOI 2, 3 and 4.

1 = a change of exposure time, gain or position of AOI 1 does not affect the parameters of  AOI 2, 3 and 4.

Double

dblScalerFactor

Scaling factor (not supported in version 4.96.1)

INT

s32InUse

Returns if the AOI is in use.

BYTE

byReserved[60]

Reserved

Sample 1 for sequence AOI mode

INT nSequenceAOI = 0;
if (is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_SUPPORTED,
          (void*)&nSequenceAOI, sizeof(nSequenceAOI)) == IS_SUCCESS)
{
// Sequence AOI 2 is supported
if ((nSequenceAOI & IS_AOI_SEQUENCE_INDEX_AOI_2) != 0);
}

Sample 2 for sequence AOI mode

AOI_SEQUENCE_PARAMS Param;
 
// Set parameters of AOI 2
Param.s32AOIIndex = IS_AOI_SEQUENCE_INDEX_AOI_2;
Param.s32NumberOfCycleRepetitions = 1;
Param.s32X = 100;
Param.s32Y = 200;
...
 
INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_PARAMS, (void*)&Param, sizeof(Param));
 
// Get parameters of AOI 2
Param.s32AOIIndex = IS_AOI_SEQUENCE_INDEX_AOI_2;
 
nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_PARAMS, (void*)&Param, sizeof(Param));

Sample 3 for sequence AOI mode

INT nMask = 0;
 
// Enable AOI 1, Disable AOI 2, 3 and 4
nMask = IS_AOI_SEQUENCE_INDEX_AOI_1;
 
INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));
 
// Enable AOI 1 and 2
nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |
      IS_AOI_SEQUENCE_INDEX_AOI_2;
 
nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));
 
// Enable AOI 1, 2 and 3
nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |
      IS_AOI_SEQUENCE_INDEX_AOI_2 |
      IS_AOI_SEQUENCE_INDEX_AOI_3;
 
nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));
 
// Enable AOI 1, 2, 3 and 4
nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |
      IS_AOI_SEQUENCE_INDEX_AOI_2 |
      IS_AOI_SEQUENCE_INDEX_AOI_3 |
      IS_AOI_SEQUENCE_INDEX_AOI_4;
 
nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));
 
// Get current AOI mask
INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_ENABLE, (void*)&nMask, sizeof(nMask));

© 2022 IDS Imaging Development Systems GmbH