-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add Andor camera service #122
Conversation
Our new PC got delivered way, way faster than anticipated, so I will be working on this PR with a higher urgency now. I realized that it might be easiest to just use a Python package that provides a wrapper around the Andor SDK instead of trying to write the relevant pieces myself. Googling gave me a couple of different options:
Both the first and second one turn out to only work with the older Andor cameras and SDK2, while the Neo uses SDK3, so these options are out the window. Both of the last two options support SDK3, I checked before continuing. Both also support Windows and Linux, not MacOS, which is fine since it's not expected to run any hardware components from MacOS, and a simulated services does not have to connect to the SDK. The fourth library is a plugin for PyMoDAQ, a Python library sponsored by the CNRS for laboratory equipment. While it is regularly maintained, it is unclear to me how much it depends on the PyMoDAQ package itself, while option 3 listed above is completely independent and released on PyPI - so I am leaning towards option 3. The best way forward will be for me to install @ehpor, does that make sense? |
For my point of view, all the codes inside hardware is independent from PyMoDAQ |
@a-sevin does that mean that PyMoDAQ plugins can be installed independently of the main library as well? It would be overkill to have that full library as a dependency if we just need one of the plugins I think. |
My first Thought was to copying the code and keeping the IP, copyright and license but... It's under GPL... So, I don't know if we can grab a part of a program GPL under BSD... |
@ehpor I just saw that the camera object |
In principle that's not a problem. But, since there is some communication done at the end of |
Yes, both the andor3 library and PyMoDAQ seem like standard ctypes code, so that's unlikely to cause many problems. I'd choose andor3 for the time being, since it's a more focussed package. |
@ehpor I can, I simply haven't thought of it! 😄 Thanks for the guidance! |
805cf88
to
0b5cf24
Compare
@ehpor I think this is at a point where I would love some feedback if you have some time. I have managed to make the API calls work on our machine although I still have some stuff to figure out with the buffers and the acquisition, but I am getting there. |
@@ -36,4 +36,5 @@ dependencies: | |||
- pytest | |||
- flake8 | |||
- pip: | |||
- zwoasi>=0.0.21 # Requires additional manual install of driver(s) from https://astronomy-imaging-camera.com/software-drivers | |||
- zwoasi>=0.0.21 # Requires additional manual installation of driver(s) from https://astronomy-imaging-camera.com/software-drivers | |||
- andor3 # Requires additional manual installation of driver(s) from https://www.andor.com/scientific-software/software-development-kit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This package also needs numba, which it doesn't install automatically. I need to add it to the env file.
I am having memory issues on the PC I am testing this on, likely to a faulty installation of the library. I will wait for the new PC to be in the clean room and then try it on there. |
9bfd85e
to
ce1d4ff
Compare
ce1d4ff
to
27f657c
Compare
27f657c
to
2ddab2b
Compare
This PR is not needed from our side anymore. |
Add a service for an Andor camera, here specifically with tests on a Neo so other Andor cameras that use the same SDK might or might not work with this.
Very much WIP, for now just a mostly bare bones structure.
Fixes #135