06-15-2017 11:17 AM
I'm programming a PointGrey grasshopper USB3.0 camera and have successfully changed the camera acquisition settings, as reflected in image brightness within labview, and the settings in MAX, when reviewed externally.
However the capture in this VI seems limited to 30 FPS, based on the wait for buffer being enabled.
Is there an additional setting?
See attached
Thanks
06-16-2017 09:28 AM
Hi ibutter,
Before we get into the settings, could you be more specific on which camera you are using? It looks like some of the PointGrey Grasshopper cameras cap out at 30 fps - if this is the case for your camera, that might explain why you are running into this limit (Source: Grasshopper3).
Regards,
George B.
Applications Engineer
National Instruments
06-16-2017 09:50 AM
Apologies, it's the GS3-U3-32S4M-C which does go up to 121 FPS
https://www.ptgrey.com/grasshopper3-32-mp-mono-usb3-vision-sony-pregius-imx252
I've managed to modify default settings in the camera, setting the framerate to 120 FPS, so that the default settings can be recalled by labview after init.
In MAX the frame rate is set to 120 FPS, but the actual FPS in labview seems to be half this.
Also, as can be seen in the attached (if anyone happens to have the same model camera) the frame grab buffer number always increments by 1, indicating that labview isn't just failing to grab the data fast enough, and that the camera is indeed running slower.
06-16-2017 10:26 AM
There are a lot of things you can do to improve the frame rate.
1. separate read / write to 2 parallel loop !
2. use array of images for buffer ( I used 300 VGA size images)
3. use lower level VIs instead of Grab
4. write to image files first, post process to create movie
5. don't use NI buffer index for read image, manage the index yourself
6. use jumbo packet in Windows TCP/IP settings
7. turn off firewall
8. use a solid driver instead of a normal hard disk
9. use 64 bit LabVIEW so that you can use RAM more than 4 GB
06-16-2017 10:30 AM
06-16-2017 10:39 AM
Moving the image update out of the loop made no change, still runs at 60 FPS, while set to 120 FPS acq rate in MAX.
Thanks for the suggestion
06-16-2017 10:43 AM
To answer suggestions 1, 4 and 8, this occurs even when image/video saving is disabled
2. Not sure how to implement this, any examples would be appreciated.
3. Will look into this
5. Do you have an example of how to do this? I guess it relates to doing manual grab like in 3)?
6 & 7. I'm running over USB 3.1 so I guess this won't help?
9. I am running 64-bit labview already (with a SSD)
Thanks for the suggestions
06-16-2017 10:56 AM
Have you tried with "wait for next buffer" set to false?
06-16-2017 10:59 AM
I have, and the loop rate shoots up to ~325 FPS but the grabbed frames are no longer unique.
06-16-2017 11:04 AM
What if you check that the buffer number has changed before calculating the frame rate and updating your image indicator?