Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

How to achieve high frame rate with GigE Dalsa camera

Solved!
Go to solution

Hello Everyone

 

I have dalsa spyder3 GigE line scan camera which says it is 36KHz line scan camera. But when i run this camera at maximum line rate in labview and display the data using a while loop, i do not achieve the specified 36KHz line rate. To grab all the frames do i have to use some frame grabber or there is a way to achive this line rate using some other technique in labview. Please help in in this.

 

Regards

Chauhan

0 Kudos
Message 1 of 7
(4,045 Views)

Hi Chauhan,

 

If you check Measurement and Automation Explorer and use a grab what frame/line rate does max show? do you have a third party software that shows a higher frame/line rate?

 

Can you post a screenshot of your code?

 

Joe Daily
National Instruments
Applications Engineer

may the G be with you ....
0 Kudos
Message 2 of 7
(4,024 Views)

Hi Joe

 

Thanks for your reply. When i run the camera in Max, it displays 30 frames and acquire about 3500 frames per second. This acquisition speed  is about 10 times smaller than the actual speed of the camera which is 36000 frames per second. When i run the camera using my code in labview i can achieve abot 5500 frames per second but this is still about 5 to 6 times smaller than the actual speed. Attached is the screen shot of my code. Open cam simply intialize the camera and then i set the line rate of the camera to 36000 which is the maximum. I run the code for 10 seconds and check the number of iteration to check how may frames from the camera were acquired. This way i acquire about 55 thousand frames in 10 seconds where as i should have acquired about 360 thousand frames.

To achieve the actual speed can i use some frame grabber so that when i give a command to the frame grabber it acquires the frames at the speed of the camera and then when i request it to display all the frame it displays them at the end. This would be something like using a DAQ card where signal is aquired continously and displayed at the end.

 

regards

chauhan 

Download All
Message 3 of 7
(4,016 Views)

Hi Chauhan,

 

There's a few issues I see...

 

First, you don't clarify between frame rate and line rate. The camera's line rate is likely 36Khz, but you typically have more than 1 line per frame. This is mostly due to performance reasons, because there is some amount of overhead per individual frame acquired both on the acquisition side and the processing side. There is of course a tradeoff in latency that you must wait for all the lines in the image to be acquired before you can process each frame. However, at the 36Khz rate you could put 1000 lines per frame and only be adding around 27ms of latency.

 

Next, your image processing loop appears to only be processing 1 line in your image, even though you could be acquiring more than one. You probably want to loop through each line delivered in an image.

 

Lastly, you are using the "Last" mode to get each image. One thing to note is that this will give duplicates since if you go from one loop iteration to the next and no new image has been acquired it will still give you the same image. The best way would be to use the Buffer Number mode and increase it each iteration of your loop.

 

Hope this helps,

Eric

0 Kudos
Message 4 of 7
(3,993 Views)

Hello Eric

 

I think i mixed up few things which made question confusing. So let me explain the situation. i am using a line scan (just 1 line camera)  camera which means line rate and frame rate are the same. Even if i do not use any kind of processing or displaying of the data and just run the IMAQdx GetImage.vi in a while loop the speed of the loop runnig is much slower than camera speed of 36 KHz. If i use the " Buffer number" mode or "Next" mode to get the image, then also speed is almost 10 times smaller than the camera speed. Attached is the screen scot and code of the vi i am using.

 

regards

Chauhan

Download All
0 Kudos
Message 5 of 7
(3,982 Views)
Solution
Accepted by topic author Chauhan

Hi Chauhan,

 

I realize that it is a line scan camera. However, the Spyder3 has the ability to buffer multiple lines into a single image. This is in fact very critical over GigE Vision as there is some amount of per-frame overhead that would be very large at the rates you are going at. By default the camera should be giving you more than one line per frame---you would have had to configure it to a smaller amount manually.  If you did configure it to do one line per frame, then it is likely that you are dropping frames either in the acquisition or in your processing loop---both would likely have trouble keeping up with 36Khz rates. However, if you acquire a hundred or a thousand lines per frame, then the overhead becomes trivial and you should have no problem reaching your desired line rate.

 

Eric

 

0 Kudos
Message 6 of 7
(3,949 Views)

Thanks Eric

 

Actually i was using Intel Pro 100 at palce of Intel pro 1000 Mt network adeptor. Then using multiple lines in perframes as suggested by you, i was able to achieve the full 36KHz speed.

 

Regards

Chauhan

0 Kudos
Message 7 of 7
(3,836 Views)