Sensor Readout Time

The Sensor Readout Time camera feature allows you to determine the amount of time it takes to read out the data of an image from the sensor.

This feature only provides a very rough estimate of the sensor readout time. If you want to optimize the camera for triggered image acquisition or for overlapping image acquisition, use the Resulting Frame Rate feature instead.

In this topic Hide

Using the Feature

Why Determine the Sensor Readout Time

Each image acquisition process includes two parts:

  1. Exposure of the pixels of the imaging sensor, i.e., the exposure time.
  2. Readout of the pixel values from the sensor, i.e., the sensor readout time.

The Sensor Readout Time feature is useful if you want to estimate which part of the image acquisition process is limiting the camera's frame rate.

To do so, compare the exposure time with the sensor readout time:

Determining the Sensor Readout Time

To determine the sensor readout time under the current settings, read the value of the ReadoutTimeAbsSensorReadoutTime parameter. The sensor readout time is measured in microseconds.

The result is only an approximate value and depends on various camera settings and features, e.g., Binning, Decimation, or Image ROI.

Sample Code

// Determine the sensor readout time under the current settings
double d = camera.ReadoutTimeAbs.GetValue();
// Determine the sensor readout time under the current settings
double d = camera.SensorReadoutTime.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Determine the sensor readout time under the current settings
double d = CFloatPtr(nodemap.GetNode("ReadoutTimeAbs"))->GetValue();
// Determine the sensor readout time under the current settings
double d = CFloatPtr(nodemap.GetNode("SensorReadoutTime"))->GetValue();
// Determine the sensor readout time under the current settings
double d = camera.Parameters[PLCamera.ReadoutTimeAbs].GetValue();
// Determine the sensor readout time under the current settings
double d = camera.Parameters[PLCamera.SensorReadoutTime].GetValue();
// Determine the sensor readout time under the current settings
double d = Pylon.DeviceGetFloatFeature(hdev, "ReadoutTimeAbs");
// Determine the sensor readout time under the current settings
double d = Pylon.DeviceGetFloatFeature(hdev, "SensorReadoutTime");
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
double d = 0;
/* Determine the sensor readout time under the current settings */
errRes = PylonDeviceGetFloatFeature(hdev, "ReadoutTimeAbs", &d);
CHECK(errRes);
double d = 0;
/* Determine the sensor readout time under the current settings */
errRes = PylonDeviceGetFloatFeature(hdev, "SensorReadoutTime", &d);
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.