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

A new Qudi scientific spectrometer full chain #648

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

AdrienR09
Copy link

A new Qudi scientific spectrometer full chain for advanced spectroscopic usage

Description

This work is a continuation of PR #598 (which will be closed).
We added a brand new dummies/interface/logic/gui chain to use scientific spectrometer with advanced features with Qudi. The current qudi spectrometer module doesn't provide all the functionalities that a standard grating spectrometer can provide (selecting tracks of interest on the camera, changing the spectrometer calibration, switching between image/alignment/spectrum modes...) and doesn't separate camera and spectrometer hardwares which could be bring more modularity. We then created a completely new spectrometer module with a full dummies/interface/logic/gui chain which fulfill these lacks and we expect this module to be beneficial for a lot of Qudi users. This PR aims to share our work on this new Qudi module offering a new era to the Qudi spectrometer. Beside, we developed two hardware modules which should be compatible with all Andor devices.

Motivation and Context

The current Qudi spectrometer offers only few features and a lot of functionalities are missing. Based on our experience with several spectrometer softwares and the needs in spectroscopy for our research works, we wanted to develop a completely different interface than what has been done until now. This interface must implement some original features which facilitate the work of spectroscopist. The main features added are :

  • To switch the spectrometer gratings
  • To control the input and output port
  • To control the slit width of the corresponding ports if motorized
  • To choose the center wavelength of the current grating
  • To choose the read mode (simple, live and multi scan)
  • To control the shutter if installed
  • To control the camera temperature if necessary
  • The possibility to switch between acquisition mode : image modes, spectrum modes and alignment modes (different type of integration at the level of the hardware on the camera)
  • The functionality to select manually the active tracks on the image where the spectra will be measured.
  • The functionality to select a ROI on the image to display a sub image focus on a certain point.
  • The ability to change the wavelength range calibration directly through the interface.

How Has This Been Tested?

We start to use this spectrometer module with our Andor spectrometer since November 2020 for our research work with a windows 10 environment. We think that this spectrometer module is now mature enough to be used and tested by other labs.

Screenshots (only if appropriate, delete if not):

Capture d’écran 2021-03-29 à 15 45 17

Capture d’écran 2021-03-29 à 15 44 40

Capture d’écran 2021-03-29 à 15 42 56

Capture d’écran 2021-03-29 à 15 42 04

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.

@Neverhorst Neverhorst added this to In progress in Laserstuff via automation Mar 29, 2021
@Neverhorst Neverhorst added this to In progress in Magnetstuff via automation Mar 29, 2021
@Neverhorst Neverhorst removed this from In progress in Magnetstuff Mar 29, 2021
@Neverhorst Neverhorst added this to In progress in Camera via automation Mar 29, 2021
@Neverhorst
Copy link
Member

Thank you very much for this huge contribution. I'm sure this will come in handy for the qudi community.

Review will take a while due to this PR being quite a big chunk of code and also because we are in the middle of preparing the release of a new qudi core based on "Qt for Python" (PySide) instead of PyQt5. We are currently checking whether it makes more sense to postpone the merging of this PR until after the new core release to avoid additional porting.

@Maabur
Copy link

Maabur commented Sep 23, 2021

Thanks again for this contribution, we should start testing it in a couple of weeks. We keep you informed.
All the best

- Add feature to move the center wavelength in multiple scan mode
- Cleaning the code
- Resolving bugs and improving UX
@timoML
Copy link
Contributor

timoML commented Jan 21, 2022

Short update:
We decided to integrate your toolchain into our new core as development of the 'qudi' repo has ceased. The new core will be announced publically soonish - right now the last parts are going through rework.

In order to make you the transition as easy as possible, we ported your spectrometer branch already (here) and finished dummy testing on it. Since we can't ensure seamingless operation of real hardware (that we don't have available here) on the new core, we would like to ask you to do basic hardware testing of the spectrometer module, again. Probably it makes sense to start with this testing only after the confocal module is properly working again. I'll keep you posted about the progress.

Some more thoughts:

  • To avoid conflicts, I had to rename a few files (assuming you're from Dundee university). Probably there are better naming options, though...
  • For the future PR to the new repo 'qudi-iqo-modules', feel free to create a new branch that preserves your authorship of the original contribution and just copy and paste our changes.
  • Alternatively, you may also want to create your own 'modules' repo. The new core supports including multiple modules sources. We are also happy to distribute it via 'qudi-iqo-modules'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Camera
  
In progress
Laserstuff
  
In progress
Development

Successfully merging this pull request may close these issues.

None yet

7 participants