Please enable JavaScript to view this site.

IDS Software Suite 4.96.1

Windows_Logo
Linux_Logo

USB 2.0

USB 3.x

GigE

USB 2.0

USB 3.x

GigE

Syntax

INT is_Exposure (HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Description

Using is_Exposure() you can query the exposure time ranges available in your camera, and set new exposure times.

hint_info

Note on dependencies on other settings

The use of the following functions will affect the exposure time:

is_PixelClock()

is_SetOptimalCameraTiming()

is_SetFrameRate()

is_AOI() (if the image size is changed)

is_SetSubSampling()

is_SetBinning()

Changes made to the image size, the frame rate or the pixel clock frequency also affect the exposure time. For this reason, you need to call is_Exposure() again after such changes.

hint_info

Note on new driver versions

Newer driver versions sometimes allow an extended value range for the exposure time setting. We recommend querying the value range every time and set the exposure time explicitly.

Applying new settings

In freerun mode (is_CaptureVideo()), any modification of the exposure time will only become effective when image after next is captured. In trigger mode (is_SetExternalTrigger()), the modification will be applied to the next image. See also the Applying new parameters chapter.

hint_info

In general, the pixel clock is set once when opening the camera and will not be changed. Note that, if you change the pixel clock, the setting ranges for frame rate and exposure time also changes. If you change a parameter, the following order is recommended:

1.Change pixel clock.

2.Query frame rate range and, if applicable, set new value.

3.Query exposure time range and, if applicable, set new value.

If one parameter is changed, the following parameters have to be adjusted due to the dependencies.

Accuracy of the exposure time setting

The increments for setting the exposure time (IS_EXPOSURE_CMD_GET_EXPOSURE_RANGE_INC) depend on the sensor's current timing settings (pixel clock, frame rate). The smallest increment usually corresponds to the duration of one pixel row, which is the time it takes the sensor to read out one pixel row.

You can query the actual exposure time setting with the IS_EXPOSURE_CMD_GET_EXPOSURE parameter.

Some sensors allow setting the exposure time in smaller increments. Using the IS_EXPOSURE_CMD_GET_CAPS parameter, you can check whether your sensor supports this function.

For minimum and maximum exposure times as well as other sensor-based dependencies, please refer to the Camera and sensor data chapter.

Rounding errors from increments

When calculating a new exposure time based on the returned increment, note that calculations with floating point values in the PC will always be subject to rounding errors. Therefore, an addition or subtraction of the n*INCREMENT value might not always produce the exact desired result. In this case, the uEye API rounds down the floating point value and sets the exposure time to the next lower value.

You can avoid this behavior by additionally adding the value INCREMENT/2.f (half increment) when calculating with n*INCREMENT. This ensures that the desired value will be set even after rounding.

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 cbSizeOfParam input parameter.

Input parameters

hCam

Camera handle

pParam

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

cbSizeOfParam

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

© 2022 IDS Imaging Development Systems GmbH