HomeHow to use the frame calculator for industrial cameras
How to use the frame calculator for industrial cameras
To calculate the framerate of an industrial camera, a framerate calculator is available. After installing the SDK, the frame rate calculator (an excel file) is located in the folder C:\Program Files\Daheng Imaging\GalaxySDK\Doc
For this example, we are using the frame rate calculator for the USB3 camera MARS-1230-23U3X explaining the different options available. Afterwards we will highlight the few differences between a USB3 camera and Gigabit Ethernet framerate calculator. For the Gigabit Ethernet camera we will use the MER-131-75Gx camera as example.
Step 1: Open the frame rate calculator USB3 camera
Open the correct frame rate calculator located in the C:\Program Files\Daheng Imaging\GalaxySDK\Doc folder. Each camera series has it own calculator.
The screenshots below shows the MARS USB3 camera frame rate calculator. Based on the camera type, some parameters (like binning or decimation) can differ. There are several parameters we can change in the frame rate calculator for different purposes, that will increase FPS (frames per second) or decrease the FPS.
Step 2: Set exposure time
We must start with “exposure time (us)”. This determines for how long (time) the sensor captures light. For example, if we were to have 0.5 seconds exposure time, we would be able to capture 2 frame per second. 1s/0.5s = 2 frames. Therefore we want to keep this value as low as possible, to avoid this being the bottleneck of our FPS outcome. The minimal value for exposure time is dictated by the setup and environment conditions.
Mind it is normal that decreasing picture size in some cases does not result in increased FPS. For the MARS-1230 in the example width reduction does not increase FPS. Height reduction does. This is normal for many Sony IMX sensors. While for OnSemi Python sensors the framerate will increase when reducing the Width or Height.
Step 4: Binning option
Some of our camera series support binning. If the camera supports binning, this parameter is visible in the framerate calculator. Pixel binning combines data of several pixel together (Default is 1 = no binning, or combine 2/4 pixels) so this results in a much higher light sensitivity. When pixels are combined the resulting image size will be reduced greatly, 4 pixel binning in Width and Height results that the value of 4 horizontal pixels are combined to 1 value and that 4 vertical pixels are also combined to 1 value. As a result instead of 4x4 = 16 pixels, now 1x1=1pixel data is transmitted. Therefore the data is reduced with a factor 16. For instance 4096x3000 with binning set to 4 will result on an image of 1024*750 (the software warns us to change this parameter to calculate the correct FPS output)
Due to the warning message, we first have to correct the Width and Height so see the correct FPS output.
Because the camera still needs to read all pixels on the sensor, we do not have an increase in FPS.
Step 5: Decimation Horizontal and Vertical
Decimation works in a similar way as binning. Data is collected from all pixels, but values of nearby pixels are simply discarded.
When pixel are combined the resulting image size will be reduced greatly, 4 pixel decimation in Width and Height results in 1/16th image size.
For instance 4096x3000 with decimation set to 4 will result on an image of 1024*750 (the software warns us to change this parameter to calculate the correct FPS output)
Decimation allows to take a picture with the same size as the original one, but collects less data, resulting in less processing power needed, and less data transmitted.
Contrarily to ROI decimation does not affect the area size you see.
Depending on camera model you may have an increase in FPS.
Step 6: PixelFormat(8/12)
8-bit uses 256 levels of colour or grey per channel, while 10-bit up to 1,024 levels per channel and 12 bit 4096 levels per channel. These extra grey levels can be useful for image processing. Most displays however are 8-bit, so when displaying on the image, you will not see the difference due to the bottleneck of your screen.
Setting the Pixelformat value from 8 (standard value) to 12 will result in an image with more details, increasing the data collected and decreasing the FPS outcome.
Step 7: DeviceLinkThroughputLimit(Bps)
This value determines how much bandwidth is available to use for the camera.
In multi camera setups the value must be set so that each camera gets a fixed amount of bandwidth to use, without interfering with other cameras.
The full usable bandwidth is 380000000 Bps, so if you have 2 cameras on one USB3 bus, each one would have a bandwidth of 380000000/2= 190000000 bps. Read more about bandwidth control with multiple cameras.
Step 8: Other options of the framerate calculator
Additional options are:
- MaxUSBControllerThroughput(Bps): This determines the amount of max bandwidth available from the USB controller, the standard value is 380000000 Bps. Normally we do not change this value
- AcquisitionFrameRateMode: Enable or disable the AcquisitionFrameRate number you set to have a fixed frame rate that is lower than the max framerate the camera can achieve.
- AcquisitionFrameRate: You can manually set a FPS number so that the camera will capture the same amount of FPS constantly.
Step 9: Different parameter when using Gigabit Ethernet vision camera.
In this example we use the MER-131-75Gx calculator.
Most of the parameters are the same as for USB3 cameras as written in the previous steps. The only difference Is that in GigE cameras, to limit the bandwidth you use packet size (GevSCPS) and packet delay (GevSCPD) instead of DeviceLinkThroughput.
Practical Example using MER-131-75Gx camera calculator.
The MER-131-75Gx can acquire 75 FPS using all the 1gb bandwidth available; If we were to use 2 of the same cameras, we would need to limit the FPS of each one, max fps> 75/2=37.5 FPS per each camera.
So we would setup the calculator (GevSCPS) and (GevSCPD) to obtain this result:
This will assure both cameras data transmitted will not collide with each other.
The 3 below fields are default value and do not have to be changed.