alliedvision / VimbaPython

Old Allied Vision Vimba Python API. The successor to this API is VmbPy
BSD 2-Clause "Simplified" License
93 stars 40 forks source link

camera access time #102

Open patRedmiles opened 2 years ago

patRedmiles commented 2 years ago

I'm using an Alvium 1800 U-240c camera in Python to acquire several tens of thousands images sequentially, and time per frame is slowing the process down. I've done some timing tests and calls to the camera seem to be the slow step. For example:

start = time.perf_counter() with Vimba.get_instance() as vimba: stop = time.perf_counter()
cams = vimba.get_all_cameras () with cams [0] as cam:
framefrom1 = cam.get_frame() framefrom1.convert_pixel_format(PixelFormat.Bgr8)

The "with Vimba.get_instance()" step takes 1.105 sec, while the entire block takes 1.43 sec. Is there a way to speed up the .get_instance() process? I have the camera's DeviceLinkThroughputLimit set to 400000000, which helped some. Do you have any other suggestions?

Thanks!

BernardoLuck commented 2 years ago

Hello,

unfortunately the get_instance() step takes some time to execute. Unfortunately, this cannot be changed. However, if you are going to acquire several images, you can create a asynchronous application with software trigger. In this way you can run "get_instance()" only once. If more information is needed on how to do this, then please create a support ticket from our website, here is the link: https://www.alliedvision.com/en/about-us/contact-us/technical-support-repair-/-rma/