Skip to content
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

[RFC] Improvements #1

Open
dtcallcock opened this issue Jun 29, 2020 · 6 comments
Open

[RFC] Improvements #1

dtcallcock opened this issue Jun 29, 2020 · 6 comments

Comments

@dtcallcock
Copy link

dtcallcock commented Jun 29, 2020

We have an undergrad @vikramsandhu making some improvements over at https://github.com/OregonIons/mjolnir/tree/working-sipyco-version

So far he's working on:

  • Using SyPyCo and removing ARTIQ dependencies
  • Adding frame rate control
  • Labeling the exposure time box
  • Adding support for the new CS165MU camera (Thorlabs' replacement for the now-discontinued DCC1545M). Thorlabs supplies Python drivers for these cameras so hopefully this will be straightforward and not rely on anything like https://github.com/ddietze/pyUVVIS
  • Save and load functionality. Including a Jupyter notebook example to allow for further offline analysis of saved files.

He'll submit some PRs once these are implemented and tested.

Are there any other features you had considered but not got around to implementing?

It looks like there was an attempt at packaging into a binary, but perhaps that's just a miserable endeavor and not worth the pain.

@dnadlinger
Copy link
Member

All this sounds good, happy to review any PRs.

@dnadlinger
Copy link
Member

Pinging @ljstephenson regarding features.

@ljstephenson
Copy link
Contributor

Apologies, I dropped the ball on this!

Re features that I thought about but never got around to:

  1. IDS have pyueye, according to the documentation it's pretty much a direct translation of the C API into python, but should take care of the messy uc480 stuff. That would presumably be a nice thing to incorporate instead of C dll boilerplate, but it might be more work than it's worth.
  2. I never bothered figuring out how to properly stream video from the uc480, but given that I could get ~10fps update rates by polling I figured that was good enough. Again may not be worth the effort.
  3. Normalisation of the fit error was a pretty arbitrary choice by me - if it seems acceptable to users then there's no need to change it, especially since it's only really intended as a sanity check.
  4. No error bars on anything - again I figured that for the intended usage this wasn't necessary, but could be nice to implement if one wanted it
  5. Might be nice to have a couple of different colour maps available e.g. a thermal/spectrum cmap might make it easier to interpret
  6. I think some of the colour scales are hardcoded when they should probably (a) allow autoscaling and (b) allow the user to choose fixed limits

Agree that binary packaging should be given up on - the primary reason for doing this was when artiq had a million dependencies it would crap out when installing on a lot of things, but moving to sipyco should make it pretty platform agnostic

@dtcallcock
Copy link
Author

Given Thorlabs are no longer selling the rebadged IDS cameras, we probably won't put effort into 1 or 2.

Thanks for the other suggestions.

@cjbe
Copy link
Member

cjbe commented Jan 25, 2021

@dtcallcock did you get the CS165MU interface working?

@cjbe
Copy link
Member

cjbe commented Jan 25, 2021

Disregard! I saw the PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants