When the camera is configured for free run image acquisition and continuous acquisition, knowing the resulting acquisition frame rate is useful if you want to optimize the frame rate for your imaging application. You can adjust the camera settings limiting the frame rate until the resulting acquisition frame rate reaches the desired value.
When the camera is configured for triggered image acquisition, knowing the resulting acquisition frame rate is useful if you want to trigger the camera as often as possible without overtriggering. You can calculate how long you must wait after each trigger signal by taking the reciprocal of the resulting acquisition frame rate: 1 / Resulting Acquisition Frame Rate.
Example: If the resulting acquisition frame rate is 12.5, you must wait for a minimum of 1/12.5 = 0.08 seconds after each trigger signal. Otherwise, the camera ignores the trigger signal and generates a Frame Start Overtrigger event.
To check the resulting acquisition frame rate, i.e., the estimated frame rate with the current camera settings, get the value of the ResultingFrameRateAbs parameter. The value is expressed in frames per second (fps).
On some camera models, the ResultingFramePeriod parameter is also available. It allows you to determine the resulting frame period, which is the reciprocal of the resulting frame rate (1 / frame rate).
Checking the resulting acquisition frame rate works when the camera is idle as well as when the camera is acquiring images.
If you want to check the resulting acquisition frame rate of Basler cameras that aren't connected to your computer at the moment, use the online Basler Frame Rate Calculator.
Several factors may limit the frame rate on any Basler camera:
Acquisition Frame Rate: If the Acquisition Frame Rate feature is enabled, the camera's frame rate is limited by the acquisition frame rate. For example, if you enable the Acquisition Frame Rate feature and set an acquisition frame rate of 10 fps, the camera's frame rate will never be higher than 10 fps.
Bandwidth Assigned: Bandwidth limitations can reduce the frame rate, especially when more than one camera is connected to a computer. The extent of the reduction depends on the camera model, the number of cameras connected to the computer, and the computer's hardware.
Binning: If available, sensor binning can increase the frame rate.
Camera Operation Mode: If the CameraOperationMode parameter is available and set to LongExposure, the frame rate decreases.
Device Link Throughput: If the DeviceLinkThroughputLimitMode parameter is available and set to On, it limits the available bandwidth for data transmission to the DeviceLinkThroughputLimit parameter value. This also limits the frame rate.
Exposure Time: If you use very long exposure times, you can acquire fewer frames per second.
Field Output Mode: If available, using the Field 0 Output Mode or Field 1 Output Mode increases the camera's frame rate.
Image ROI: if you use a large image ROI, you can acquire fewer frames per second. On most cameras, decreasing the image ROI height increases the frame rate. On some cameras, decreasing the image ROI width also increases the frame rate.
Parameter Limits: On some cameras, you can use the Remove Parameter Limits feature to remove the frame rate limitation.
Sensor Bit Depth: On some cameras, you can decrease the sensor bit depth to increase the frame rate.
Sensor Readout Mode: On some cameras, you can enable a fast sensor readout mode that allows you to increase the frame rate. This can, however, have adverse effects on image quality.
Sensor Shutter Mode: If the Global Reset Release shutter mode is selected, overlapped image acquisition is not possible. This decreases the camera's frame rate.
Stacked Zone Imaging: If available, using the Stacked Zone Imaging feature increases the frame rate.
Transfer Bit Depth: On some cameras, you can decrease the transfer bit depth to increase the frame rate.
// Get the resulting acquisition frame ratedoubled=camera.ResultingFrameRateAbs.GetValue();
INodeMap&nodemap=camera.GetNodeMap();// Get the resulting acquisition frame ratedoubled=CFloatParameter(nodemap,"ResultingFrameRateAbs").GetValue();
// Get the resulting acquisition frame ratedoubled=camera.Parameters[PLCamera.ResultingFrameRateAbs].GetValue();
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */doubled=0;/* Get the resulting acquisition frame rate */errRes=PylonDeviceGetFloatFeature(hdev,"ResultingFrameRateAbs",&d);CHECK(errRes);
# Get the resulting acquisition frame rated=camera.ResultingFrameRateAbs.Value
ace Classic/U/L USB 3.0, dart Classic, and pulse Cameras#
// Get the resulting acquisition frame ratedoubled=camera.ResultingFrameRate.GetValue();
INodeMap&nodemap=camera.GetNodeMap();// Get the resulting acquisition frame ratedoubled=CFloatParameter(nodemap,"ResultingFrameRate").GetValue();
// Get the resulting acquisition frame ratedoubled=camera.Parameters[PLCamera.ResultingFrameRate].GetValue();
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */doubled=0;/* Get the resulting acquisition frame rate */errRes=PylonDeviceGetFloatFeature(hdev,"ResultingFrameRate",&d);CHECK(errRes);
# Get the resulting acquisition frame rated=camera.ResultingFrameRate.Value
// Get the resulting acquisition frame ratedoubled=camera.BslResultingAcquisitionFrameRate.GetValue();
INodeMap&nodemap=camera.GetNodeMap();// Get the resulting acquisition frame ratedoubled=CFloatParameter(nodemap,"BslResultingAcquisitionFrameRate").GetValue();
// Get the resulting acquisition frame ratedoubled=camera.Parameters[PLCamera.BslResultingAcquisitionFrameRate].GetValue();
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */doubled=0;/* Get the resulting acquisition frame rate */errRes=PylonDeviceGetFloatFeature(hdev,"BslResultingAcquisitionFrameRate",&d);CHECK(errRes);
# Get the resulting acquisition frame rated=camera.BslResultingAcquisitionFrameRate.Value