Changelog

Next 3.x feature release

  • [Support]: Implemented the src package layout to separate source code from packaging

  • [Support]: Added continuous integration using Travis CI for automatic source code builds, linting and pytest (coverage still very low…)

  • [Support]: Moved continuous integration from Travis to Github actions

  • [Support]: Fixed broken documentation build since new src layout

Next 2.x feature release

  • [Feature]: The configuration file can be edited from a GUI (opened from the Dashboard menu)

  • [Feature]: Multiple plugins repository was making installation of plugins tiresome. Introduction of the Plugin Manager that contains/fetch information on available plugins for installation, update or removal.

Next 1.x feature release

  • [Feature]: Added sending detector axis from tcp/ip back to tcp server for correct plotting

  • [Feature] #13: Added axes labels and units within h5 browser when looking at live scan registered data

  • [Support] #7: Changed Licence specification to CECILL-B

  • [Support] #12: Changed the case to lower in the github repo (was done in windows who doesn’t care between lower or upper so was not applying changes on github…

  • [Support]: Changed the getLineInfo output for the logging to obtain exact location of the exception

Next 1.x bugfix release

  • [Bug]: viewer1D displayed incorrectly the legend, now fixed

  • [Bug]: Error in a tcp/ip communication (wrong signature of send_string method)

  • [Bug]: pep8 related modification of variable names not taken into account in version 1.6.1 and producing errors in daq_scan module

  • [Bug]: Small bugs cleaning for more stability of the code

  • [Bug]: patch to allow the ‘values’ key in the def of a group Parameter so that scalable groups can have programmatic entries, see DAQ_0DViewer_NIDAQmx params for instance

  • [Bug]: NDViewers (within DAQ_Viewer) display correctly the axes as exported from the plugins

  • [Bug]: ROIs saving as xml file and reloading patched

3.0.4 2021-01-12

  • [Bug]: Wrong call to version in the dashboard

3.0.3 2021-01-08

  • [Bug]: LCD widget displaying correct label

  • [Bug]: python 3.8 included metadata module in standard library (importlib.metadata)

3.0.0 2020-11-25

  • [Support]: Developer mistake in the versioning leading to version 2.2.6 to 3.0.2 without any real justification… Mistake related to the new way of giving the version number to the source code, there’s been a copy paste with the version file of the pymodaq_plugins repository… Anyhow this new main version reflects new compatibility with last developments of the pyqtgraph package and compatibility with python >= 3.8

  • [Support]: compatibility with python < 3.9 (was <3.8 before)

  • [Support]: compatibility with pyqtgraph >= 0.11. This package development restarted

  • [Support]: flake8 syntax checking and cleaning

2.2.0 2020-10-19

  • [Feature]: A local configuration file is now available and editable as a toml file to pre-fill information on default settings such as Author name, preset_file if DAQ_Scan started directly, log level, network IP/port …

  • [Feature]: Plugins are now discoverable using entry points. Separated repository for the base plugins to ease development of each and let other developers publish their own plugins

2.1.0 2020-10-10

  • [Feature]: Introduction of the remote manager. Than let the user controls DAQ_Moves and DAQ_Viewers in the Dashboard using keyboard shortcuts or gamepad joysticks and buttons

  • [Support]: Added documentation and code example to write custom applications using PyMoDAQ modules

2.0.0 2020-06-21

  • [Feature]: DAQ_Scan: possibility to load a dataset h5file in order to pursue scans within a given dataset (mostly in case of program crashing, so preventing the automated new dataset file creation at program load)

  • [Feature]: DAQ_Scan: Sequential Scan (no actuator limit) is introduced

  • [Feature]: Plugins can emit a specific signal to modify UI general settings (of Daq_Move or DAQ_Viewer)

  • [Feature]: Rotating logging file enabled with subnames from the script where the log entry comes from

  • [Feature]: Plugins can save temporary data into h5files (if high throughput needed)

  • [Feature]: ROI manager added to dashboard to configure ROIs for all detectors within the dashboard

  • [Feature]: A Chrono/Timer UI is available in src/pymodaq/daq_utils/chrono_timer.py

  • [Feature]: hdf5 saving and browsing is now a module wrapping various backends: pytable, h5py or h5pyd. This module includes the H5Saver, H5Backends, H5Browser objects

  • [Feature]: Separated DAQ_Scan and Dashboard as two objects and two graphical interfaces. Dashboard is now the main start point for pymodaq enabling extensions to be written (such as the DAQ_Scan)

  • [Feature]: New extension: DAQ_Logger to easily log data from multiple DAQ_Viewers towards SQL databases or h5 files

  • [Feature]: Viewer2D can now plot a series of points not on grid using Triangulation

  • [Feature]: Tabular Scans now available: List of discrete points for selected actuators

  • [Feature]: Adaptive Scans now available. Needed the development of a module manager to select active actuators and detectors.

  • [Feature]: Specific plotting for tabular/adaptive scans included in DAQ_Scan live and H5Browser

  • [Support]: Cleaned and documented the TCP/IP communication for DAQ_Move and Daq_Viewers

  • [Support]: rewritten scan features inside a dedicated module to ease subsequent scan type development

1.6.4 2019-11-12

  • [Bug]: Small bugs cleaning for more stability of the code

1.6.3 2019-10-14

  • [Bug] #6: Removed dependance of unnecessary Dask package

  • [Bug] #12: Removed too specific package requirements for plugins (win32com for instance)

  • [Bug] #14: Logger node was not saved properly from daq_scan

1.6.2 2019-09-16

  • [Bug]: pep8 related modification of variable names not taken into account in version 1.6.1 and producing errors in daq_scan module

1.6.1 2019-09-10

  • [Bug]: Error in a tcp/ip communication (wrong signature of send_string method)

1.6.0 2019-09-04

  • [Feature]: General use of PyMoDAQ Viewer and Move modules can now be done using TCP/IP. A TCP Server plugin is available for each, to be loaded on the main computer. Then Any Module on distant computer can be linked to this server

1.5.1 2019-07-22

  • [Bug] #3: PID models package installation added to pymodaq setup

1.5.0 2019-07-22

  • [Feature]: added a field ‘acq_time_s’ in the exported data from each viewer. To be used to track at what time a given dataset has been recorded

  • [Feature]: creation of the H5Saver object: simplifies the data saving from pymodaq modules and adds all mandatory metadata

  • [Feature]: Uniformity of the saved h5 files. Axes labels and units are added as metadata and displayed in H5Browser

  • [Feature]: Viewers: exported data now contains axis information as a dict containing data (values of the axis), label and units and type of data (raw or generated from a ROI)

  • [Feature]: pid_controller module added in daq_utils module: enable a PID loop using pymodaq modules and custom written PID models (see documentation)

  • [Feature]: pid_controller module modified to work in a parallel thread

  • [Feature]: DAQ_Scan module has now its acquisition loop within a parallel thread

  • [Feature]: The pid_module can be used as an actuator within DAQ_Scan (using the preset_manager configuration)

  • [Feature]: Viewer 1D and 2D share now the same object ROIManager to deal with their regions of interest

  • [Feature]: DAQ_Scan module’s H5Saver object has now by default the option to not save the ROI generated data. Only the live plots datas are still saved by default.

1.4.2 2019-04-22

  • [Bug]: issue with ctypes imports in daq_utils on macos Now ok

1.4.1 2019-02-16

  • [Bug]: cleaning up of a few bugs

1.4.0 2019-02-15

  • [Feature]: module scanner (daq_utils.scanner) has been created. Deals with lines or area selections within any viewer2D modules. Used for DAQ_Scan and some others plugins (for area selection if needed). Most of the scan type settings (of daq_scan) have been moved to scanner that is now a subobject of daq_scan

  • [Feature]: h5_browser: a right click on tree items shows a context menu. so far possibility to export current item (data) in ascii text file (%.6e precision format).

  • [Feature]: all modules: debug info contains now name of package, method and script line where the error has been generated

1.3.0 2019-02-15

  • [Feature]: DAQ_Move_plugins: added the _controller_units parameter. Holds the native units used with the Move instance

  • [Feature]: DAQ_Scan: added the navigator option. It is a 2D area-like object where to define scans. All 2D scans in the current h5file are plotted in this area and at their corresponding position. Each scan plotability can be set.

1.2.0 2019-01-11

  • [Feature]: DAQ_Scan updated with averaging possibility. Opens up a new dock showing the current scan average. All scan in the average are saved

  • [Feature]: DAQ_Scan: Overshoot configuration is now available: set DAQ_Move actions depending on detected values

  • [Feature]: DAQ_Scan: possibility to save all datas in independent files or not (default is not)

  • [Feature]: DAQ_Scan: Huge modification related to the scanning. Now you can select an area in one of the opened 2DViewers This viewer could for instance be a calibrated camera referring to the x and y positions of a XY stage. The Plot2D scan 2D viewer can also be used. Say that you just did a 2D scan and now you want to scan a cross-section within!! This area can be a 2D one (rectangle, 2D scan type) or a PolyLines (linked segments, 1D scan type). Random modes and others are still available in this mode

1.1.2 2018-12-18

  • [Bug]: Corrected the background substraction in DAQ_Viewer

1.1.1 2018-12-18

  • [Bug]: Some wrong call to plugins in preset_manager

1.1.0 2018-12-18

  • [Feature]: Tested entry-points after installation.*.exe files created successfully with manual setup install. But the link to working python is missing with pip install (python.exe and pythonw.exe) must be on the PATH

  • [Feature]: Moved the preset_mode folder out the pymodaq tree, but relative to HOMEPATH (windows) or HOME (linux & OSX) environment variable

  • [Feature]: When started from DAQ_scan, all Quit pushbutton are disabled within individual Move and Viewer modules.

  • [Feature]: removed plugins from tree structure. May be installed from github or pypi as external library

1.0.1 2018-12-16

  • [Bug]: Some wrong path to save/get preset modes

1.0.0 2018-12-10

  • [Feature]: Renamed all modules with lowercase. Renamed image viewer_multicolor as viewer2D