Skip to content

Group cuvis_acq

Modules > cuvis_acq

Capturing Images with the SDK. More...

Public Types

Type Name
enum cuvis_operation_mode_t
Operation mode of a camera.

Public Functions

Type Name
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_fps, double, "Frames per second")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_average, CUVIS_INT, "Number of averages")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_integration_time, double, "Integration time in milliseconds")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_auto_exp, CUVIS_INT, "get_auto_exp")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_auto_exp_comp, double, "get auto exposure compensation")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_operation_mode, CUVIS_OPERATION_MODE, "enumeration value")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_bandwidth, CUVIS_INT, "bandwidth in MBit/s")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_queue_size, CUVIS_INT, "size of measurement queue")
ACQ_GET_SINGLE_VALUE (cuvis_acq_cont_queue_used, CUVIS_INT, "used part of measurement queue")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_fps, double, "Frames per second")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_average, CUVIS_INT, "Number of averages")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_integration_time, double, "Integration time in milliseconds")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_auto_exp, CUVIS_INT, "set_auto_exp")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_auto_exp_comp, double, "set auto exposure compensation")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_operation_mode, CUVIS_OPERATION_MODE, "enumeration value")
ACQ_SET_SINGLE_VALUE (cuvis_acq_cont_continuous, CUVIS_INT, " 0=stop)
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_capture (CUVIS_ACQ_CONT i_acqCont, CUVIS_MESU * o_pMesu, CUVIS_INT timeout_ms)
Capture a measurement.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_capture_async (CUVIS_ACQ_CONT i_acqCont, CUVIS_ASYNC_CAPTURE_RESULT * o_pAsyncResult)
Capture a measurement async.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_copy_handle (CUVIS_ACQ_CONT i_acqCont, CUVIS_ACQ_CONT * o_pAcqCont)
Creates an additional acquisition context handle.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_create_from_calib (CUVIS_CALIB i_calib, CUVIS_ACQ_CONT * o_pAcqCont)
Load a acquisition context from a given calibration.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_create_from_session_file (CUVIS_SESSION_FILE i_sess, CUVIS_INT i_simulate, CUVIS_ACQ_CONT * o_pAcqCont)
Load a acquisition context from a given session_file.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_dead_pixel_correction_available_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT * o_is_available)
Query whether the dead pixel correction is available.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_dead_pixel_correction_enabled_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT * o_is_enabled)
Query whether the dead pixel correction is enabled.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_dead_pixel_correction_enabled_set (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT o_set_enabled)
Enable or disable the dead pixel correction algorithm.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_free (CUVIS_ACQ_CONT * io_pAcqCont)
Clear a loaded acquisition context by it's handle.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_get_component_count (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT * o_pCount)
Get the number of components.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_get_component_info (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_id, CUVIS_COMPONENT_INFO * o_pCompInfo)
Get components general info.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_get_next_measurement (CUVIS_ACQ_CONT i_acqCont, CUVIS_MESU * o_pMesu, CUVIS_INT timeout_ms)
Get measurement from internal cache.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_get_session_info (CUVIS_ACQ_CONT i_acqCont, CUVIS_SESSION_INFO * o_pSessionInfo)
get the acquisition session_info
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_get_state (CUVIS_ACQ_CONT i_acqCont, CUVIS_HARDWARE_STATE * o_pState)
get the online state of the hardware
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_has_next_measurement (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT * o_pHasNext)
check if any measurements are available in the buffer
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_queue_size_set (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_size)
set the receive queue buffer size
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_ready_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT * o_pIsReady)
get initialization state of the acquisition context
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_acq_cont_set_session_info (CUVIS_ACQ_CONT i_acqCont, CUVIS_SESSION_INFO const * i_pSessionInfo)
set the acquisition session_info
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_comp_available_pixel_format_count_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_id, CUVIS_INT * o_pCount)
Get components actual pixelformat.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_comp_available_pixel_format_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_id, CUVIS_INT i_index, CUVIS_CHAR * o_pPixelFormat)
Get components actual pixelformat.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_comp_pixel_format_get (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_id, CUVIS_CHAR * o_pPixelFormat)
Get components actual pixelformat.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_comp_pixel_format_set (CUVIS_ACQ_CONT i_acqCont, CUVIS_INT i_id, CUVIS_CHAR const * i_pPixelFormat)
Set components pixelformat.
SDK_CAPI CUVIS_STATUS SDK_CCALL cuvis_comp_pixel_format_set_async (CUVIS_ACQ_CONT i_acqCont, CUVIS_ASYNC_CALL_RESULT * o_pAsyncResult, CUVIS_INT i_id, CUVIS_CHAR const * i_pPixelFormat)
Set components pixelformat.

Detailed Description

An handle for an acquisition context can be obtained by either loading it with a calibration handle (Calibration) or by loading it with a Session File handle.

The acquisition context handles the communication with the camera, including setting state variables and capturing images.

Public Types Documentation

enum cuvis_operation_mode_t

Operation mode of a camera.

enum cuvis_operation_mode_t {
    OperationMode_Software = 1,
    OperationMode_Internal = 2,
    OperationMode_External = 3,
    OperationMode_Undefined = 4
};


Public Functions Documentation

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_fps,
    double,
    "Frames per second"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_average,
    CUVIS_INT,
    "Number of averages"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_integration_time,
    double,
    "Integration time in milliseconds"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_auto_exp,
    CUVIS_INT,
    "get_auto_exp"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_auto_exp_comp,
    double,
    "get auto exposure compensation"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_operation_mode,
    CUVIS_OPERATION_MODE,
    "enumeration value"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_bandwidth,
    CUVIS_INT,
    "bandwidth in MBit/s"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_queue_size,
    CUVIS_INT,
    "size of measurement queue"
) 

function ACQ_GET_SINGLE_VALUE

ACQ_GET_SINGLE_VALUE (
    cuvis_acq_cont_queue_used,
    CUVIS_INT,
    "used part of measurement queue"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_fps,
    double,
    "Frames per second"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_average,
    CUVIS_INT,
    "Number of averages"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_integration_time,
    double,
    "Integration time in milliseconds"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_auto_exp,
    CUVIS_INT,
    "set_auto_exp"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_auto_exp_comp,
    double,
    "set auto exposure compensation"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_operation_mode,
    CUVIS_OPERATION_MODE,
    "enumeration value"
) 

function ACQ_SET_SINGLE_VALUE

ACQ_SET_SINGLE_VALUE (
    cuvis_acq_cont_continuous,
    CUVIS_INT,
    " 0=stop
) 

function cuvis_acq_cont_capture

Capture a measurement.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_capture (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_MESU * o_pMesu,
    CUVIS_INT timeout_ms
) 

This function is only available in operation mode "Software". The function executes a software trigger synchronously.

Parameters:

  • i_acqCont the acquisition context
  • o_pMesu the handle of the recorded image will be written to this variable
  • timeout_ms the timeout in ms. Give 0 to wait for ever.

Returns:

status_ok if the measurement was recorded. status_timeout or status_deferred is returned, if the capture was not completed (yet)


function cuvis_acq_cont_capture_async

Capture a measurement async.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_capture_async (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_ASYNC_CAPTURE_RESULT * o_pAsyncResult
) 

This function is only available in operation mode "Software". The function executes a software trigger asynchronously. The recorded measurement can be obtained by the function cuvis_async_capture_get.

If o_pAsyncResult is set to NULL, the measurement is added to the Acqusition Context's internal queue. Retrieve it with cuvis_acq_cont_get_next_measurement or via the worker (if used) cuvis_worker_get_next_result

Parameters:

  • i_acqCont the acquisition context
  • o_pAsyncResult the async capture handle will be written to this variable or NULL

Returns:

status_ok if the async call could be executed.


function cuvis_acq_cont_copy_handle

Creates an additional acquisition context handle.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_copy_handle (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_ACQ_CONT * o_pAcqCont
) 

Creates an additional handle that points to the same instance as the supplied handle

Parameters:

  • i_acqCont The handle of the acquisition context to copy
  • o_pAcqCont The new handle of the acquisition context.

Returns:

status_ok if the acquisition context handle could be doubled


function cuvis_acq_cont_create_from_calib

Load a acquisition context from a given calibration.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_create_from_calib (
    CUVIS_CALIB i_calib,
    CUVIS_ACQ_CONT * o_pAcqCont
) 

Load the acquisition context from the calibration. This will load the hardware and initialize it. Do not load multiple instances of the came calibration / camera.

Parameters:

  • i_calib The calibration instance the processing context will be loaded from
  • o_pAcqCont The handle of the acquisition context.

Returns:

status_ok if the acquisition context could be loaded


function cuvis_acq_cont_create_from_session_file

Load a acquisition context from a given session_file.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_create_from_session_file (
    CUVIS_SESSION_FILE i_sess,
    CUVIS_INT i_simulate,
    CUVIS_ACQ_CONT * o_pAcqCont
) 

The acquisition context from the embedded acquisition context of the session_info file.

Parameters:

  • i_sess The session_file the processing context will be loaded from
  • i_simulate If True, uses the provided session file for simulated data capturing
  • o_pAcqCont The handle of the acquisition context.

Returns:

status_ok if the acquisition context could be loaded


function cuvis_acq_cont_dead_pixel_correction_available_get

Query whether the dead pixel correction is available.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_dead_pixel_correction_available_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT * o_is_available
) 

Returns whether dead pixel correction information is available in the camera's calibration file.

Parameters:

  • i_acqCont the acquisition context
  • o_is_available the result of the query is written here

Returns:

cuvis_ok if the query succeeded


function cuvis_acq_cont_dead_pixel_correction_enabled_get

Query whether the dead pixel correction is enabled.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_dead_pixel_correction_enabled_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT * o_is_enabled
) 

Returns whether the Cuvis built-in dead pixel correction algorithm is currently enabled

Parameters:

  • i_acqCont the acquisition context
  • o_is_enabled the result of the query is written here

Returns:

cuvis_ok if the query succeeded


function cuvis_acq_cont_dead_pixel_correction_enabled_set

Enable or disable the dead pixel correction algorithm.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_dead_pixel_correction_enabled_set (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT o_set_enabled
) 

Control whether the Cuvis built-in dead pixel correction algorithm is enabled or disabled. The algorithm applies a custom dead-pixel correction to the sensor image(s). Which pixels to correct and how is determined through the calibration process.

Parameters:

  • i_acqCont the acquisition context
  • o_set_enabled use 1 to enable, 0 to disable the correction algorithm

Returns:

cuvis_ok if the operation succeeded. Returns status_not_available if the calibration doesn't contain correction information.


function cuvis_acq_cont_free

Clear a loaded acquisition context by it's handle.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_free (
    CUVIS_ACQ_CONT * io_pAcqCont
) 

The internal memory is freed.

Parameters:

  • io_pAcqCont The handle of the processing context. The handle number will be invalidated.

Returns:

status_ok if the acquisition context could be released


function cuvis_acq_cont_get_component_count

Get the number of components.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_get_component_count (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT * o_pCount
) 

The acquisition hardware is build from one or more components. Get the component count.

Parameters:

  • i_acqCont the acquisition context
  • o_pCount the number of components is written here

Returns:

cuvis_ok if the number of components could be set


function cuvis_acq_cont_get_component_info

Get components general info.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_get_component_info (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_id,
    CUVIS_COMPONENT_INFO * o_pCompInfo
) 

Return general component information about a component build into the acquisition hardware. This helps identifying the correct component for settings specific component settings (e.g. gain)

Parameters:

Returns:

cuvis_ok if the info fields could be filled.


function cuvis_acq_cont_get_next_measurement

Get measurement from internal cache.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_get_next_measurement (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_MESU * o_pMesu,
    CUVIS_INT timeout_ms
) 

This function is only available in operation mode "Internal" or "External". The function obtains the image from the internal memory, if available.

Parameters:

  • i_acqCont the acquisition context
  • o_pMesu the handle of the recorded image will be written to this variable.
  • timeout_ms the timeout in ms. Give 0 to wait for ever.

Returns:

status_ok if the measurement was recorded. Returns status_no_measurement if no measurement was made available during the timeout time. If any error occurred status_error is returned.


function cuvis_acq_cont_get_session_info

get the acquisition session_info

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_get_session_info (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_SESSION_INFO * o_pSessionInfo
) 

Get the acquisition session_info settings. Also use this function to get the current sequence number.

Parameters:

  • i_acqCont the acquisition context
  • o_pSessionInfo the state will be written here

Returns:

status_ok, if no internal error occurred.


function cuvis_acq_cont_get_state

get the online state of the hardware

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_get_state (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_HARDWARE_STATE * o_pState
) 

Hardware can be used, when at least it's required components are online.

Parameters:

  • i_acqCont the acquisition context
  • o_pState the state will be written here

Returns:

status_ok, if no internal error occurred.


function cuvis_acq_cont_has_next_measurement

check if any measurements are available in the buffer

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_has_next_measurement (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT * o_pHasNext
) 

This function is only available in operation mode "Internal" or "External".

Parameters:

  • i_acqCont the acquisition context
  • o_pHasNext value of 0 is written, if no measurements are available. value > 0, if a measurement is available.

Returns:

status_ok if no error occurred. If any error occurred status_error is returned.


function cuvis_acq_cont_queue_size_set

set the receive queue buffer size

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_queue_size_set (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_size
) 

Set the amounts of measurements that will be stored internally, ready for retrieval. Default=100.

Parameters:

  • i_acqCont the acquisition context
  • i_size the new queue size

Returns:

status_ok if the new queue size could be set.


function cuvis_acq_cont_ready_get

get initialization state of the acquisition context

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_ready_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT * o_pIsReady
) 

Parameters:

  • i_acqCont the acquisition context
  • o_pIsReady whether the acquisition context has completed all initialization tasks

Returns:

status_ok, if no internal error occurred.


function cuvis_acq_cont_set_session_info

set the acquisition session_info

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_acq_cont_set_session_info (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_SESSION_INFO const * i_pSessionInfo
) 

Set the acquisition session_info settings.

Parameters:

  • i_acqCont the acquisition context
  • i_pSessionInfo the session_info details to be set

Returns:

status_ok, if no internal error occurred.


function cuvis_comp_available_pixel_format_count_get

Get components actual pixelformat.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_comp_available_pixel_format_count_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_id,
    CUVIS_INT * o_pCount
) 

Return the amount of components available pixelformats

Parameters:

Returns:

cuvis_ok if the amount was returned.


function cuvis_comp_available_pixel_format_get

Get components actual pixelformat.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_comp_available_pixel_format_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_id,
    CUVIS_INT i_index,
    CUVIS_CHAR * o_pPixelFormat
) 

Return indexed components available pixelformat

Parameters:

  • i_acqCont the acquisition context
  • i_id the device id (value between 0 and below cuvis_acq_cont_get_component_count)
  • i_index index of the requested available pixelformat
  • o_pPixelFormat the components available pixelformat

Returns:

cuvis_ok if the pixelformat was returned.


function cuvis_comp_pixel_format_get

Get components actual pixelformat.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_comp_pixel_format_get (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_id,
    CUVIS_CHAR * o_pPixelFormat
) 

Return actual components pixelformat

Parameters:

Returns:

cuvis_ok if the pixelformat was returned.


function cuvis_comp_pixel_format_set

Set components pixelformat.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_comp_pixel_format_set (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_INT i_id,
    CUVIS_CHAR const * i_pPixelFormat
) 

Set components pixelformat

Parameters:

Returns:

cuvis_ok if the pixelformat was set.


function cuvis_comp_pixel_format_set_async

Set components pixelformat.

SDK_CAPI  CUVIS_STATUS  SDK_CCALL cuvis_comp_pixel_format_set_async (
    CUVIS_ACQ_CONT i_acqCont,
    CUVIS_ASYNC_CALL_RESULT * o_pAsyncResult,
    CUVIS_INT i_id,
    CUVIS_CHAR const * i_pPixelFormat
) 

Set components pixelformat (asynchronous)

Parameters:

  • i_acqCont the acquisition context
  • o_pAsyncResult The Async object that will contain the result of the operation
  • i_id the device id (value between 0 and below cuvis_acq_cont_get_component_count)
  • i_pPixelFormat the components pixelformat

Returns:

cuvis_ok if the pixelformat was set.