Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Maximum FPS with LabVIEW Vision Module?

I am trying to record real-time video using LabVIEW and the Vision Development Module.

My goal is to achieve more than 100 FPS.

 

I understand that the achievable frame rate highly depends on the PC and camera used.

 

I used a Basler camera, which supports more than 200 FPS, but I was barely able to achieve 60 FPS.

My question is: What is the maximum FPS I can get using LabVIEW with the Vision Development Module?

 

Or is there anyone who has achieved more than 100 FPS?

 

Thank you!

0 Kudos
Message 1 of 7
(776 Views)

@A51_Neuroscience wrote:

I am trying to record real-time video using LabVIEW and the Vision Development Module.

My goal is to achieve more than 100 FPS.

 

I understand that the achievable frame rate highly depends on the PC and camera used.

 

I used a Basler camera, which supports more than 200 FPS, but I was barely able to achieve 60 FPS.

My question is: What is the maximum FPS I can get using LabVIEW with the Vision Development Module?

 

Or is there anyone who has achieved more than 100 FPS?

 

Thank you!


I was able to achieve 12800 FPS at 1024x1024 @ 12 bit with Photron Camera as well as 40000 FPS with Phantom (don't remember resolution). But in both cases the images was buffered in the cams (there are 128 GB buffers onboard), then transferred to NI Vision via 10G interface (which could take few minutes after acquisition).

The highest sustaining frame rate (without buffering) I've got was 2048x2048 @ 16 bit at 20 FPS, which means 160 MB/s transfer rate. In this case proprietary framegrabber was used with Fiber-Optic Interface (which was 2Gb network in principle). Then the images was processed in real time with NI Vision and displayed also at 20 FPS.

 

In general in most cases the bottleneck is the interface. Which image size and bit depth you have at 200 FPS, and which interface is used? Do you have buffer in camera? Sometimes to utilize full bandwidth the suppliers using packed formats (for example 12 bit can be transferred as two pixels in three bytes). 

Message 2 of 7
(755 Views)

@Andrey_Dmitriev

Thank you for your comments!

 

It's a new idea that I hadn’t considered before, using a buffer.

Currently, we have a system with two cameras (a2A1920-160ucPRO) using commercial Streampix Recording Software. These cameras use a USB3 interface. We record at a frame rate of 200 FPS with a resolution of 1920 x 1200 pixels in real time without any recording issues.

 

The reason I use LabVIEW is to record neural signal data, such as EMG or ENG.

My goal is to integrate real-time camera images with 4kHz sampling data in synchronization with DAQ devices such as the USB-6212 or through a UART delivered by a microprocessor.

 

I am considering adding a buffer or reducing the resolution or recording bits. Have you used a buffer in LabVIEW to handle real-time video data?

0 Kudos
Message 3 of 7
(749 Views)

@A51_Neuroscience wrote:

 

It's a new idea that I hadn’t considered before, using a buffer.

Currently, we have a system with two cameras (a2A1920-160ucPRO) using commercial Streampix Recording Software. These cameras use a USB3 interface. We record at a frame rate of 200 FPS with a resolution of 1920 x 1200 pixels in real time without any recording issues.

 


You're very lucky if you have no issues. If you have color images, then single image will take 1920x1200x3 = 6912000 bytes, and @ 200 FPS means 1 382 400 000 bytes per second, which is approx 1.287 GiB/s, and even if you have USB3 Gen2, then 1,280 GiB/s is absolute theoretical limit for 10Gb/s interface. 

 


@A51_Neuroscience wrote:

 

 

I am considering adding a buffer or reducing the resolution or recording bits. Have you used a buffer in LabVIEW to handle real-time video data?


Yes, buffered acquisition is available out of the box in the case of using IMAQdx: Ring Acquisitions. It works pretty well and is flexible enough. Self-made buffering can be easily organized based on an array of IMAQ Images.

 

0 Kudos
Message 4 of 7
(726 Views)

@Andrey_Dmitriev:

 

I appreciate your help.

Have a nice day😁

 

 

0 Kudos
Message 5 of 7
(696 Views)

Your frame rate is very much dependent on the hardware you are using. 

I am working with the 1477 (FPGA programable) and I can do acquisition and processing in 1042 FPS. Image size is 1944x184. But it is very high frame rate. 

I can't display in this rate. I am doing Frame Skip for display since the human eye can't observe more then 10 FPS. 

I can't save to HD at this rate. What I do is to buffer in the Frame Grabber memory and transfer to Image save in slower rate. 

I do recommend using a frame grabber for high speed. Frame Graber like the 1433 has internal memory buffer that can buffer images internally. It is faster then USB3.

Amit Shachaf
0 Kudos
Message 6 of 7
(680 Views)

 

Thank you for your advice 😁

Our experiment setup involves using a laptop.

My concern is that, as far as I understand, most frame grabbers are designed to be installed in a desktop.

Do you know of any available frame grabbers that can be connected to a laptop?

0 Kudos
Message 7 of 7
(662 Views)