Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into Basic_field_calcula…
Browse files Browse the repository at this point in the history
…tion

# Conflicts:
#	documentation/changelog.md
  • Loading branch information
liuyanulm committed Apr 14, 2021
2 parents 140365b + 3043322 commit a9db9f9
Show file tree
Hide file tree
Showing 28 changed files with 5,242 additions and 1,049 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# qudi
Qudi is a suite of tools for operating multi-instrument and multi-computer laboratory experiments.
Originally built around a confocal fluorescence microscope experiments, it has grown to be a generally applicaple framework for controlling experiments.
Originally built around a confocal fluorescence microscope experiments, it has grown to be a generally applicable framework for controlling experiments.

## Features
* A modular and extendable architecture
Expand All @@ -16,7 +16,7 @@ Originally built around a confocal fluorescence microscope experiments, it has g
* etc.

## Citation
If you are publishing scientific results, mentioning Qudi in your methods decscription is the least you can do as good scientific practice.
If you are publishing scientific results, mentioning Qudi in your methods description is the least you can do as good scientific practice.
You should cite our paper [Qudi: A modular python suite for experiment control and data processing](http://doi.org/10.1016/j.softx.2017.02.001) for this purpose.

## Documentation
Expand Down
23 changes: 22 additions & 1 deletion config/example/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,21 @@ hardware:

mydummyswitch1:
module.Class: 'switches.switch_dummy.SwitchDummy'
name: 'First' # optional
remember_states: True # optional
switches:
one: ['down', 'up']
two: ['down', 'up']
three: ['low', 'middle', 'high']

mydummyswitch2:
module.Class: 'switches.switch_dummy.SwitchDummy'
name: 'Second' # optional
remember_states: True # optional
switches:
'An even longer name of the switch itself':
- 'Very long name of a random state'
- 'Another very long name of a random state'

myspectrometer:
module.Class: 'spectrometer.spectrometer_dummy.SpectrometerInterfaceDummy'
Expand Down Expand Up @@ -121,6 +133,7 @@ logic:

pidlogic:
module.Class: 'pid_logic.PIDLogic'
timestep: 0.1
connect:
controller: 'softpid'
savelogic: 'savelogic'
Expand Down Expand Up @@ -180,9 +193,17 @@ logic:

switchlogic:
module.Class: 'switch_logic.SwitchLogic'
watchdog_interval: 1
autostart_watchdog: True
connect:
switch: 'switchinterfuse'

switchinterfuse:
module.Class: 'interfuse.switch_combiner_interfuse.SwitchCombinerInterfuse'
connect:
switch1: 'mydummyswitch1'
switch2: 'mydummyswitch2'
extend_hardware_name: True

scannerlogic:
module.Class: 'confocal_logic.ConfocalLogic'
Expand Down Expand Up @@ -402,7 +423,7 @@ gui:
savelogic: 'savelogic'

switches:
module.Class: 'switcher.switchgui.SwitchGui'
module.Class: 'switch.switch_gui.SwitchGui'
connect:
switchlogic: 'switchlogic'

Expand Down
29 changes: 19 additions & 10 deletions documentation/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

Changes/New features:

* Added functionality to simultaneously record multiple frequency ranges in the ODMR toolchain
* Added support for Keysight M8195A and M8190A AWGs.
* Added functionality to simultaneously record multiple frequency ranges in the ODMR toolchain
in case the hardware supports it.
* Cleanup/Improvement/Debug of POI manager (logic and GUI)
* New POI manager tool _POI selector_ which allows adding of new POIs by clicking inside the scan
Expand Down Expand Up @@ -57,11 +58,11 @@ The potential sequence_options are:
* `FORCED` (only output as sequence possible)
* Added interfuse to correct geometrical aberration on scanner via polynomial transformations
* added the option to do a purely analog ODMR scan.
* Added new GUI, logic, interface and hardware modules to replace the "slow counter" tool in the
future. The new tools are designed to be able to stream any kind of time series data efficiently
for multiple analog and digital channels. See example config on how to set up the
time series/streaming modules (_time_series_gui.py_, _time_series_reader_logic.py_).
For a drop-in replacement of the obsolete slow counter together with a NI x-series card,
* Added new GUI, logic, interface and hardware modules to replace the "slow counter" tool in the
future. The new tools are designed to be able to stream any kind of time series data efficiently
for multiple analog and digital channels. See example config on how to set up the
time series/streaming modules (_time_series_gui.py_, _time_series_reader_logic.py_).
For a drop-in replacement of the obsolete slow counter together with a NI x-series card,
please use _ni_x_series_in_streamer.py_ as hardware module.
* added multi channel option to process_interface and process_control_interface
* added the option of an additional path for fit methods
Expand All @@ -75,7 +76,7 @@ please use _ni_x_series_in_streamer.py_ as hardware module.
* Added a config option to fastcomtec7887 module to support 7889 model
* Added fastcomec 7887/9 support of dma mode through config option
* Fixed bug in spincore pulseblaster hardware that affected only old models
* Added a netobtain in spincore pulseblaster hardware to speedup remote loading
* Added a netobtain in spincore pulseblaster hardware to speedup remote loading
* Adding hardware file of HydraHarp 400 from Pico Quant, basing on the 3.0.0.2 version of function library and user manual.
* reworked the QDPlotter to now contain fits and a scalable number of plots. Attention: custom notebooks might break by this change.
* Set proper minimum wavelength value in constraints of Tektronix AWG7k series HW module
Expand All @@ -86,6 +87,12 @@ please use _ni_x_series_in_streamer.py_ as hardware module.
* Update hardware module controlling the cryocon temperature regulator
* Added a hardware file to interface Thorlabs filter wheels via scripts
* Bug fixes to core: made error messages sticky, respecting dependencies when restarting.
* Added a config option to regulate pid logic timestep length
* New SwitchInterface and updated logic plus GUI
* Added biexponential fit function, model and estimator
* Added custom circular loading indicator widget `qtwidgets.loading_indicator.CircleLoadingIndicator`
* added property disable_wheel to custom ScienSponBox and ScienDSpinBox to deactivate wheel scrolling if required
* Added possibility to fit data of all ranges in ODMR module when Fit range is -1
*
* Added basic field calculation tool with NV center.

Expand All @@ -96,10 +103,11 @@ Config changes:
of the `SequenceGeneratorLogic` can now either be a string for a single path
or a list of strings for multiple paths.
* There is an option for the fit logic, to give an additional path: `additional_fit_methods_path`
* Added NVcalculator_logic and NVcalculator_gui.
* There is an option for the fit logic, to give an additional path: `additional_fit_methods_path`
* The connectors and file names of the GUI and logic modules of the QDPlotter have been changed.
* QDPlotter now needs a new connection to the fit logic.
* QDPlotter now needs a new connection to the fit logic.
* The tool chain for the switch logic has changed.
To combine multiple switches one needs to use the `switch_combiner_interfuse`
instead of multiple connectors in the logic.

## Release 0.10
Released on 14 Mar 2019
Expand Down Expand Up @@ -235,6 +243,7 @@ This can be used to specify the axis labels for the measurement (excluding units
* Introduced separate fit tools for each of the two plots in the pulsed analysis tab
* Automatically clears fit data when changing the alternative plot type or starting a new
measurement.
* Adding in NI switches the possibility to invert the output and to use PFI channels.

Config changes:
* **All** pulsed related logic module paths need to be changed because they have been moved in the logic
Expand Down
2 changes: 2 additions & 0 deletions gui/odmr/odmrgui.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ def on_activate(self):
constraints = self._odmr_logic.get_hw_constraints()

# Adjust range of scientific spinboxes above what is possible in Qt Designer
self._mw.cw_frequency_DoubleSpinBox.setMaximum(constraints.max_frequency)
self._mw.cw_frequency_DoubleSpinBox.setMinimum(constraints.min_frequency)
self._mw.cw_power_DoubleSpinBox.setMaximum(constraints.max_power)
self._mw.cw_power_DoubleSpinBox.setMinimum(constraints.min_power)
self._mw.sweep_power_DoubleSpinBox.setMaximum(constraints.max_power)
Expand Down
4 changes: 2 additions & 2 deletions gui/odmr/ui_odmrgui.ui
Original file line number Diff line number Diff line change
Expand Up @@ -626,14 +626,14 @@
<item row="1" column="1">
<widget class="QSpinBox" name="fit_range_SpinBox">
<property name="maximum">
<number>0</number>
<number>-1</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="fit_range_Label">
<property name="text">
<string>Range</string>
<string>Fit range</string>
</property>
</widget>
</item>
Expand Down
Loading

0 comments on commit a9db9f9

Please sign in to comment.