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

WIP: Qudi spectrometer #598

Draft
wants to merge 54 commits into
base: master
Choose a base branch
from

Conversation

alrik-durand
Copy link
Contributor

Description

This PR is a draft PR, the work is not finished yet, we we though it would be good to inform the community of our projects.

We are writing new hardware/interface/logic/GUI to interface spectrometers in Qudi.
Our goal is to develop the necessary tools to get completely rid of usual closed software for the most usual tasks.
We also aim at developing a "user friendly" basic interface to facilitate the alignment and calibration processes that can sometimes be time consuming for the experimentalist.

Our PR adds two distinct interfaces : one for the camera and one for the gratings part.
Hardware and interfaces are nearly completed, the logic and GUI are a work in progress (not ready for review).

Motivation and Context

The current spectrometer modules only respond to very basic needs.
We are using spectrometers quite often in our lab and wanted dedicated modules for the task. Our developments aim a being this general platform with Qudi's principles in mind.
That is why we are opening this PR to tell other people of our plans.

Our day-to-day changes will not be pushed on this branch, as it would probably generate a lot of mail, we will therefore mainly use the "qudi_spectrometer" branch of my repo for now. I will update this branch when things are ready for review if that is ok with you.

How Has This Been Tested?

This is not tested, this is a WIP. A new PR will be opened the day it is ready enough.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • I have documented my changes in the changelog (documentation/changelog.md)
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added/updated for the module the config example in the docstring of the class accordingly.
  • I have checked that the change does not contain obvious errors (syntax, indentation, mutable default values).
  • I have tested my changes using 'Load all modules' on the default dummy configuration with my changes included.
  • All changed Jupyter notebooks have been stripped of their output cells.

AdrienR09 and others added 30 commits April 7, 2020 18:50
I try to determine which functions are needed in our logic module on the basis than the current camera interface do not offer enough functions for enough practival uses.
New function less dict arguments
read mode parameters functions change
camera method added (+decorator)
Camera wrapper OK
Please take a look on our first logic complete version
I don't remembre what I did !
Add constraint functions + change the doctypes + change aqusition to asynchrone + change the test
I updated functions and doctype related to what I did on the logic module
advanced version of camera hardware and interface (missing SI units checking, code checking ..)
ready for review
Don't care about this commit, this will be changed soon
change the constraints dict and some outdated names
@Fellow-baka
Copy link

It is nice to hear that spectrometers modules are developed! For a couple of months, I used qudi to control Princeton Instruments cameras and monochromators (i300, sp2300) and some HORIBA spectrometers (FHR1000 and HR640). Please have a look in https://github.com/Fellow-baka/qudi/tree/HFML-spectroscopy

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

Successfully merging this pull request may close these issues.

None yet

4 participants