Skip to content

Releases: OE-FET/customxepr

v3.1.2

11 Dec 21:32
a299e48
Compare
Choose a tag to compare

Added:

  • Added support to parse and plot the pulse sequence information stored in the Bruker DSC
    file in the tables Psd1 to Psd36:

    >>> from customxepr.experiment import XeprData
    >>> dset = XeprData("path")
    >>> dset.pulse_sequence.plot()
    >>> print(dset.pulse_sequence.pulse_channels[5])
    <PulseChannel(Psd6: +x)>
    >>> print(dset.pulse_sequence.pulse_channels[5].pulses)
    [<Pulse(position=276, length=4)>, <Pulse(position=676, length=44)>]
  • Added a keyword argument settling_time to runXeprExperiment to wait between
    individual scans. This can be useful in case of temperature fluctuations between
    scans.

Changed:

  • Remove custom exit_customxepr() function. Instead, close the console to exit
    CustomXepr or run exit when started from an IPython or Jupyter shell.
  • Increase default maximum cooling temperature to 20°C.
  • Remember the location of the console window between restarts.
  • Set current directory of Xepr to directory of last-saved data.
  • The Qt event loop is no longer started on every import but just when actually starting
    the GUI or plotting a figure.
  • getValueXepr no longer accepts a path argument.
  • getQValueCalc no longer saves two files but the mode picture only. The given path
    must now be the full file path. The temperature data will now be saved together with
    the mode picture.
  • getQValueCalc no longer accepts a temperature argument. Instead, the temperature
    will be read from the Mercury if available.
  • The ModePicture class now accepts arbitrary metadata in dictionary form. This data
    will be saved as tab-delimited metadata in the mode picture file.

Fixed:

  • Fixed an issue when saving a dateset through Xepr when the path contains whitespace or
    backslashes. The path is now quoted with shlex.quote before being passed to Xepr.

v2.3.3

12 Jul 13:32
Compare
Choose a tag to compare

Changed:

  • Small tweaks to dialog windows (update info, about window, etc.).
  • Preserve order of entries in DSC files in Python 2. Previoursly, the order of sections
    and parameter would be randomized when loading and saving a Bruker DSC files with
    CustomXepr in Python 2.7.
  • Moved some custom widgets which are shared between customxepr, keithleygui and
    mercurygui to a common submodule pyqt_labutils.

v2.3.2

12 Jul 13:32
Compare
Choose a tag to compare

Fixes a critical errors when saving XeprData to DSC files.

Added:

  • Allow configuration of a custom SMTP server for email notifications in the config file
    '~/.CustomXepr/CustomXepr.ini'.
  • Save the standard error from fitting the Q-Value as a new parameter 'QValueErr' in the
    DSC file, if available.

Changed:

  • Improved the usefulness of some log messages.
  • Keep measurement logs for 356 days instead of 7 days.

Fixed:

  • Fixed a bug in XeprData which would save y-axis and z-axis data files with the wrong
    byte-order. Ordinate data and x-axis data was not affected. Xepr expects data files to
    be save with little-endian byte-order.
  • Fixed a bug in XeprData when saving the 'PolyCof' parameter or other array data to
    DSC files: The array shape would be incorrectly saved in the header (with row and
    column numbers swapped).
  • Fixed a deadlock when removing an item from the result queue.
  • Fixed an issue where the job status icons might not update until the user clicks on the
    CustomXepr window.

v2.3.1

12 Jul 13:31
Compare
Choose a tag to compare

Added:

  • Added a keyword argument low_q to customtune to enable tuning with low Q-values (default: low_q=False).
  • Added a keyword argument auto_gf to setTemperature to disable or enable automatic gasflow control (default: auto_gf=True).
  • Added an keyword argument to heater_target to select a custom heater target file.
  • Double click on a result item in the GUI to plot it.
  • Enable editing of ordinate data in XeprData instance.

Changed:

  • Simplified access and modification of XeprData paramaters. Parameters can now be updated by assigning a value to their dictionary entry.
  • Updated default heater target table for MercuryITC.
  • Delete log files older than 7 days on startup.
  • Removed all Qt related depencies from non-GUI modules. This makes it easier to run CustomXepr in headless mode from the command line.

Removed:

  • Deprecated set_param and get_param methods of XeprData. Use the pars attribute and with dictionary type access instead.

v2.3.0

20 Mar 15:01
Compare
Choose a tag to compare

This release focuses on under-the-hood improvements and provides significant speedups to the user interface (plotting data, deleting a large number of queued jobs, etc).

Changed:

  • Reduced the startup time when no instruments can be found.
  • Added info messages to the splash screen.
  • Swtiched plotting library for Mercury ITC and Keithley 2600 from Matplotlib to pyqtgraph. This allows for smoother user interactions with plots.
  • Bug fixes for PyQt 5.12.
  • Performance improvements when deleting a large number of results or pending jobs: previously O(n^2), now O(n) performance.
  • Better organization of code into submodules.

v2.2.2

19 Feb 20:28
Compare
Choose a tag to compare

Added:

  • runXeprExperiment now accepts a path parameter. If given, the resulting data
    will be saved to the specified path, togther with the last-measured Q-value
    and temperature setpoint.
  • Added XeprData class to hold, read and save Xepr measurement data files. XeprData
    provides methods to access and modifiy measurement parameters and to plot the data.
    It is compalitble with all Xepr Experiment types, saved in the Bruker BES3T file format
    up to version 1.2 (currently used by Xepr).

Changed:

  • Tweaked icons in user interface.

Removed:

  • Removed the option to specify a title when saving an ESR data file. The file
    name is now always used as title.
  • saveCurrentData will be removed in a future version of CustomXepr. Use the path
    keyword of runXeprExperiment to save the measurement data instead.

v2.2.1

31 Jan 20:32
Compare
Choose a tag to compare

Added:

Changed:

  • Switched from custom TslSMTPHandler to python-bundled SMTPHandler for email
    notifications.
  • Improved docstrings.

v2.2.0

17 Jan 18:01
Compare
Choose a tag to compare

Added:

  • Added terminal / command line script "CustomXepr".
  • Added confidence interval for Q-value calculation in ModePicture class.
  • Window positions and sizes are saved and restored between sessions.
  • Show errors during job excecution in GUI in addition to email notifications.
  • Nicely colored tracebacks for error messages.

Changed:

  • CustomXepr is now distributed as a python package and can be installed with pip.

Fixed:

  • Fixed a bug that could result in values inside spin-boxes to be displayed without their decimal marker on some
    systems.
  • Fixed a bug that could result in crashes after closing the keithley or mercury control windows.

Removed:

  • Removed all ETA estimates for experiments.

v2.0.1

17 Jan 17:54
Compare
Choose a tag to compare

Changed:

  • Moved default driver backends from NI-VISA to pyvisa-py. It is no longer necessary to install NI-VISA from National
    Instruments on your system.
  • Moved drivers to external packages. Install with pip before first use.
  • Improved data plotting in Mercury user interface:
    • heater output and gasflow are plotted alongside the temperature
    • major speedups in plotting framerate by relying on numpy for updating the data and redrawing only changed elements
      of plot widget
    • allow real-time panning and zooming of plots
  • Started working on Python 3 compatability.