-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aravis (camera) adapter #445
Aravis (camera) adapter #445
Conversation
…t cameras do not snap images correctly.
… check and print error messages.
…rocessing. Fix large memory leak in sequence acquisition. Some code cleanup.
…gerror before use in arv_** calls.
Awesome! I've been aware of Aravis and it's great to have a device adapter for it. I note that there is no call to Another question is whether it would be a good idea to map the GenICam settings (other than the ones you specifically support) to MM properties. I think some other camera adapters that use vendor SDKs (that are based on GenICam) do something like that. Certainly optional, especially in an initial version. Do you have any particular things you are wondering about? It's a bit hard to see through every possible issue just by looking at the code, so let me know if there are parts that you want me to pay special attention to. |
Thank you for the feedback, I will add Do you mean map all of the available GenICam settings to MM properties? There are a lot and I don't think the Spinnaker or Basler device adapters do this. Or there is a specific subset that should be available through the device adapter? One other question I have is whether MM provides functions for unpacking pixel formats like Mono10p or Mono12p. Formats like this are pretty common for these kinds of cameras, though I'm not sure how useful they would be in practice. It looks like the Spinnaker device adapter has some functions for this, but it might make more sense for these to be in separate file that any adapter can use? If they are not already. Thank you for the interest. |
No need to use it; please see #421. Also better to use For sequence acquisition, the way you have it (calling
Yes, that is what I meant. I believe
Not currently. I also don't know how important they are to support for microscopy use if the camera can also generate unpacked pixels, if all we do is unpack in software anyway. (It might be a different story if we could gain throughput by streaming Mono10p to an SSD, or even just user memory, for later processing.) If supporting, it would probably make sense to have a file similar to |
I added
GenICam nodes have a "Visibility" property. It may make sense to create properties for all of the "Beginner" visibility nodes? I'm not sure how to do this programmatically right now, it seems like a pretty challenging thing to do..
This discussion reminds me that this can make a difference in maximum camera FPS, at least for some cameras, due to the bandwidth constraints of interfaces like USB3. So I think it is probably worth doing at some point. |
@HazenBabcock Apologies for the long delay. The thing about generalized property support was just a thought, so let's leave it at that. Can you add a license (BSD or LGPL) to a
|
I added a BSD license in the file headers. |
Everything is set now? Or? |
Thanks for the reminder and sorry for the wait. It will be good to later improve the build for this so that it can find a system-installed Aravis and so that it can run on Windows and possibly macOS. I'll create a separate issue for this and look into what I can do. |
This pull request adds a device adapter for the Aravis Project GenICam camera library.
I'm not sure this pull request is actually ready to go in. I'm opening this pull request now to get some feedback about what else should go into the device adapter and the ways that it does not correctly conform to the MM expected camera behavior.
It has been tested with two different cameras on 64bit linux (a mono FLIR camera and a color Basler camera). It supports mono and RGB images, exposure time and binning.