uEye LE USB 3.1 Gen 1 AF UI-1007XS |
uEye LE USB 3.1 Gen 1 AF UI-1007XS |
Syntax
INT is_Focus (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam)
Description
Setting the focus is currently supported by the following models: •UI-1007XS •uEye LE USB 3.1 Gen 1 AF (active focus) |
Using is_Focus(), you can control the focus of the lens automatically or manually. Depending on the camera model different parameters are available. The parameters for certain models are described in separate chapters:
Focus settings for uEye LE USB 3.1 Gen 1 AF
Focus settings for USB uEye XS
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.
According to the sensor manufacturer, there is no guarantee that a focal point set manually will lead to a reproducible focal distance. A focal value determined with one model will not necessarily result in the same focal point for a different model. |
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. |
Status flags from FOCUS_CAPABILITY_FLAGS
FOC_CAP_INVALID |
The camera does not support focus settings |
FOC_CAP_AUTOFOCUS_SUPPORTED |
The camera supports autofocus |
FOC_CAP_MANUAL_SUPPORTED |
The camera supports manual focus |
FOC_CAP_GET_DISTANCE |
The camera supports querying the focal distance |
FOC_CAP_SET_AUTOFOCUS_RANGE |
The camera supports the selection of the autofocus range |
FOC_CAP_AUTOFOCUS_ZONE |
The camera supports the use of the focus measure window |
FOC_CAP_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM |
The camera supports use of the sharpness algorithm for autofocus |
FOC_CAP_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM |
The camera supports use of the peak search algorithm for triggered autofocus |
FOC_CAP_AUTOFOCUS_AOI |
The camera supports the use of focus AOI |
FOC_CAP_AUTOFOCUS_LIMIT |
The camera supports the use of the minimum and maximum limits for the focus range of the peak search algorithm |
FOC_CAP_AUTOFOCUS_LENS_RESPONSE_TIME |
The camera supports use of lens response time (positioning time) |
FOC_CAP_AUTOFOCUS_HYSTERESIS |
The camera supports the use of hysteresis |
FOC_CAP_AUTOFOCUS_CALLBACK |
The camera supports the use of a callback function |
Return values
IS_CANT_COMMUNICATE_WITH_DRIVER |
Communication with the driver failed because no driver has been loaded. |
IS_CANT_OPEN_DEVICE |
An attempt to initialize or select the camera failed (no camera connected or initialization error). |
IS_INVALID_CAPTURE_MODE |
The function can not be executed in the current camera operating mode (free run, trigger or standby). |
IS_INVALID_CAMERA_HANDLE |
Invalid camera handle |
IS_INVALID_PARAMETER |
One of the submitted parameters is outside the valid range or is not supported for this sensor or is not available in this mode. |
IS_INVALID_IMAGE_PARAMETER |
The focus AOI is invalid or does not fit into the image AOI. |
IS_IO_REQUEST_FAILED |
An IO request from the uEye driver failed. Possibly the versions of the ueye_api.dll (API) and the driver file (ueye_usb.sys or ueye_eth.sys) do not match. |
IS_NO_SUCCESS |
General error message |
IS_NOT_SUPPORTED |
The camera model used here does not support this function or setting. |
IS_SUCCESS |
Function executed successfully |
UINT uiCaps = 0;
// Query if the camera supports autofocus
INT nRet = is_Focus (m_hCam, FOC_CMD_GET_CAPABILITIES, &uiCaps, sizeof (uiCaps));
if (nRet == IS_SUCCESS && (uiCaps & FOC_CAP_AUTOFOCUS_SUPPORTED))
{
// If supported, enable autofocus
nRet = is_Focus (m_hCam, FOC_CMD_SET_ENABLE_AUTOFOCUS, NULL, 0);
}
// Trigger autofocus once
is_Focus(hCam, FOC_CMD_SET_ENABLE_AUTOFOCUS_ONCE, NULL, 0);
//Get autofocus status
INT nRet = 0;
INT nValue = 0;
nRet = is_Focus(hCam, FOC_CMD_GET_AUTOFOCUS_STATUS, (void*)&nValue, sizeof(nValue));
if (nValue == FOC_STATUS_FOCUSED)
{
…
}