PDA

View Full Version : stable framerate



MarcvD
September 10, 2012, 15:47:25
Hello,

I just signed up for this forum to search around for questions related to frame rate and frame rate settings in IC Capture. However, i did not succeed so I opened up this new thread.

Let me sketch the problem first. About half a year ago we bought a DFx 72BUC02 CMOS board level camera for use in a 3D scanner. In the development of this scanner we are at this moment on the point that we get to the details.

For acquiring images we are using IC Capture (v 2.2.248.1000) at the moment and I noticed that the actual frame rate of the frames saved to an avi-file do not at all match the number of frames set in the program. First I figured that this might be due to the container/compression, however, choosing the uncompressed file export gave similar results.

e.g., I set the resolution to 640x480 and binning at 2. then i have, according to the program, a maximum frame rate of 52.37 fps. Still, the actual frame rate in the avi-file is about 20-25 (and not stable!!) fps. I checked the set exposure time, which i ensured to be much shorter than 1/52.37 s.

So, then i thought it might be the computer which can't handle the data stream from the camera, because of interrupt handling or whatever a CPU can be occupied with, slowing down the moment of data transfer and frames might drop out, causing a lower actual frame rate. So i slowed down the set frame rate. Since the pc seems to handle a maximum of about 20 fps (where i set 52.37 fps), i set the frame rate in the program to 10 fps. This should work!

Despite my best efforts this didn't solved the problem. It seems that the actual frame rate and the set frame rate are never equal. Also, the frame rate in the live image does not match the set fps as well. I'm affraid this tells me that the problem is not the PC speed, but something in either the camera or the IC Capture software.

For our 3D scanner it is important to synchronize the camera position/alignment and the moment at which a frame is captured. Therefore i have the following questions to you:

1. Can this frame rate be fixed in software (IC Capture) so the set frame rate is actually the frame rate at which the frames are captured ans stored?
2. If not, than i'd like to know if the captured images in the avi-file are separated equally in time as it is now?
3. If the problem lies in the IC Capture program, then does this problem also appears when we program our own c++ code to acquire a movie?

-- a not directly related question, but this might solve my problem as well --

4. When i use the camera with in RGB24 mode @ 640x480 and 2x binning and i would use the trigger, what is the maximum frame rate i can achieve? I have this documentation where is explained how the trigger works, but i don't see how the image readout is the reciprocal of the current frame rate. I would expect that it is dependent on the amount of information that needs to be transferred through the USB cable and thus is dependent on the resolution and bit per pixel.

Thanks in advance,
Marc van Dijk.

Stefan Geissler
September 10, 2012, 16:30:29
Mark,

the problem is, that the calculation of the frame rate is imprecise, if binning is in use. It is not the computer, even if I recommend to use the Processor Idle State Manager in case you use an Intel CPU. (http://s1.archive.theimagingsource.com/downloads/tools/procidlestateman/3d358570ec411fe1539d49e569658fab/processoridlestatemanager_setup.exe)



1. Can this frame rate be fixed in software (IC Capture) so the set frame rate is actually the frame rate at which the frames are captured ans stored?

No. You may check, which frame rate you receive if you set 52 fps. IC Capture shows this.


2. If not, than i'd like to know if the captured images in the avi-file are separated equally in time as it is now?
Yes. The achieved frame rate is constant, except frames are dropped.


3. If the problem lies in the IC Capture program, then does this problem also appears when we program our own c++ code to acquire a movie?
Unfortunately it is in the firmware of the camera, therefore, it appears in your own C++ code.


4. When i use the camera with in RGB24 mode @ 640x480 and 2x binning and i would use the trigger, what is the maximum frame rate i can achieve? I have this documentation where is explained how the trigger works, but i don't see how the image readout is the reciprocal of the current frame rate. I would expect that it is dependent on the amount of information that needs to be transferred through the USB cable and thus is dependent on the resolution and bit per pixel.

The trigger frequency depends on the frame rate and exposure time. However, the CMOS sensor reacts different to CCD Sensors, since it is exposed line by line. This means, the first lines are exposed after the trigger pulse fired and then they are delivered through USB to the computer, the next lines follow. If the exposure time is short enough, you can trigger with nearly the frame rate.

MarcvD
September 10, 2012, 16:58:13
Stefan,

Thanks for this extremely fast reply. I indeed observe the described behavior when playing around with the binning option, i didn't expect this to have such a big effect. I'm going to test the output frame-rate stability on several different PC's with binning disabled. I hope the camera output frame rate is stable and there are not many frames dropped. If this is the case the camera will fit perfectly well in our project.

Best regards,
Marc.