Replies: 6 comments 8 replies
-
|
Thanks! Happy to hear that you find our project of value. Generally, we use an abstract camera class camera.h, which is used in the singleCamera.cpp and stereoCamera.cpp file to retrieve the images. Additional camera platforms can be easly integrated by preparing the files in the device folder (see PupilEXT/src/devices). Note that consumer webcams are not suited for the program structure in PupilEXT as we use an event-handler to grab the images from the camera (see singleCameraImageEventHandler.cpp). There are also additional features that can not be used with webcams, such as stereo camera recording because we applied a hardware trigger to synchronise the two cameras, which is impossible with webcams. Additionally, with webcams, there some numerous issues that need to be solved for accurate pupil measurements. Thus, it is recommended that the alternative camera brands offer machine vision cameras, i.e. industrial cameras with a C++ camera library. If you want to run PupilEXT with very low investment, you have three options: a) Take a look at the Basler dart series. They are affordable (~120 Euro) and should work with PupilEXT (not tested), as they use the Pylon library, which we use in PupilEXT to interface the camera(s). Link: https://www.baslerweb.com/en/products/cameras/area-scan-cameras/dart/ b) If you want to go even cheaper, you need to use a webcam (< 100 Euro). As mentioned, it is hard to integrate webcams in PupilEXT for real-time measurements, as we use an event handler to distribute the image inside the functions of PupilEXT. An alternative would be to record the images with an external tool and load the images into PupilEXT for offline analysis. We provide demo images that you can already use for offline analysis and testing the software. For this, download the demo dataset in section 2.4 (see readme file) and check out the respective video tutorial for offline analysis in which we load externally acquired images into PupilEXT. Link: https://vimeo.com/564778587 c) We are working on a Python version (library) of PupilEXT, which we publish later this year. With the Python library, you will be able to integrate any camera that you like. I move this thread to the discussion forum as this might be an interesting topic for other users. Best regards |
Beta Was this translation helpful? Give feedback.
-
|
Hi, This is incredible work and of high value to the research community! Do you think there is any benefit in using frame grabbers? I don't see any from basler for USB 3.0 but they do (or did) for GigE PoE (https://www.graftek.biz/products/basler-adlink-gie74-pci-express-gige-vision-poe-4x-pcie-framegrabber-4-direct-camera-inputs). NI also has some framegrabbers for GigE. |
Beta Was this translation helpful? Give feedback.
-
|
Hi, |
Beta Was this translation helpful? Give feedback.
-
|
Hi, PupilEXT is a wonderful open-source platform , thanks so much! |
Beta Was this translation helpful? Give feedback.
-
|
I succeeded to implement the Aravis library, however there are still stability improvements to be done specifically for GigE cameras with the Aravis. Ther will be two different release builds from now on: either Pylon or Aravis dependent ones. I plan to make a new release, at least for Windows 10 x64, within the next month or so, on the Experimental-Community-Version branch, also with a hotfix for the v.0.1.2b that came out last year. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @jamesd256 and @Ricard0li ! A little update here: I have to admit I have been a little snowed lately, and I also spent my autumn semester at another university, so I only finished the Aravis implementation not long ago. But here it is, this version supports Aravis, so GenICam capable cameras should work with it: Yet it only supports single camera mode only. However, my cameras are just different Baslers, so I can not be completely sure that all features will work nicely on all others. I have had access to a Point Grey camera over USB3Vision to test it, but it missed a few features. I successfully tested the build with a Basler daA1280-54um, and an acA1300-60gm, and acA1300-200um, and it could communicate with them nicely using Aravis. Also, Daheng cameras seem to be well suited replacements for Baslers, but I have not tried any of them yet. As far as I have experienced, cameras vary wildly in how they interpret details of the GenICam features. Anything that is not strictly documented in the standard, are free to vary between camera models and brands, and are subject to change without notice in implementation over time. If it is okay for you to buy used cameras, I think it is better to buy a used Basler on Ebay than buying a random manufacturer's camera brand new. There are also many sellers even on Ebay that are invoice capable, so you can legally spend your grant money on them. ((Just be sure to check if the lens are glued to the camera or not - that can be an annoying detail if you want to use your own lens.)) I hope the Aravis version will work for you, but if any problem arises, please indicate. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
Congratulations on a spectacular project, very inspiring.
What are your thoughts on supporting other camera platforms. There seem to be a few other solutions with similar spec to Basler for as little as one quarter the price.
I am very poor, but would like to be able to try out your amazing software. I am very willing to take on the work. just trying to get a sense of how much effort you think it would be.
I hope this is the right channel to reach you to discuss such things.
Thanks & regards,
James
Beta Was this translation helpful? Give feedback.
All reactions