pymodaq 4.1.5__tar.gz → 4.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pymodaq might be problematic. Click here for more details.
- {pymodaq-4.1.5 → pymodaq-4.2.1}/.gitignore +5 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/PKG-INFO +4 -2
- {pymodaq-4.1.5 → pymodaq-4.2.1}/pyproject.toml +4 -2
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/__init__.py +23 -4
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/daq_move.py +32 -73
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/daq_viewer.py +73 -98
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/daq_viewer_ui.py +2 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/move_utility_classes.py +17 -7
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/utils.py +153 -5
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/viewer_utility_classes.py +31 -20
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/dashboard.py +23 -5
- pymodaq-4.2.1/src/pymodaq/examples/tcp_client.py +97 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/__init__.py +4 -0
- pymodaq-4.2.1/src/pymodaq/extensions/bayesian/__init__.py +2 -0
- pymodaq-4.2.1/src/pymodaq/extensions/bayesian/bayesian_optimisation.py +673 -0
- pymodaq-4.2.1/src/pymodaq/extensions/bayesian/utils.py +403 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/daq_scan.py +4 -4
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/daq_scan_ui.py +2 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/pid/pid_controller.py +12 -7
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/pid/utils.py +9 -26
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/utils.py +3 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/load_and_plot.py +42 -19
- pymodaq-4.2.1/src/pymodaq/resources/VERSION +1 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/config_template.toml +9 -24
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/setup_plugin.py +1 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/config.py +103 -5
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/daq_utils.py +35 -134
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/data.py +614 -95
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/enums.py +17 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/factory.py +2 -2
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/custom_app.py +5 -2
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/dock.py +33 -4
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/utils.py +14 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/backends.py +9 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/data_saving.py +254 -57
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/saving.py +1 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/__init__.py +25 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/daq_move_LECODirector.py +172 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/daq_xDviewer_LECODirector.py +170 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/desktop.ini +2 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/director_utils.py +58 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/leco_director.py +88 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/pymodaq_listener.py +279 -0
- pymodaq-4.2.1/src/pymodaq/utils/leco/utils.py +41 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/action_manager.py +20 -6
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/parameter_manager.py +6 -4
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/roi_manager.py +63 -54
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/math_utils.py +1 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/__init__.py +3 -1
- pymodaq-4.2.1/src/pymodaq/utils/plotting/data_viewers/base.py +286 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewer.py +29 -202
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewer0D.py +94 -47
- pymodaq-4.2.1/src/pymodaq/utils/plotting/data_viewers/viewer1D.py +820 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewer1Dbasic.py +1 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewer2D.py +271 -181
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewerND.py +26 -22
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/items/crosshair.py +3 -3
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/items/image.py +2 -1
- pymodaq-4.2.1/src/pymodaq/utils/plotting/plotter/plotter.py +94 -0
- pymodaq-4.2.1/src/pymodaq/utils/plotting/plotter/plotters/matplotlib_plotters.py +134 -0
- pymodaq-4.2.1/src/pymodaq/utils/plotting/plotter/plotters/qt_plotters.py +78 -0
- pymodaq-4.2.1/src/pymodaq/utils/plotting/utils/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/utils/axes_viewer.py +1 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/utils/filter.py +194 -147
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/utils/lineout.py +13 -11
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/utils/plot_utils.py +89 -12
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/__init__.py +0 -3
- pymodaq-4.2.1/src/pymodaq/utils/scanner/scan_config.py +16 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scan_factory.py +10 -36
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanner.py +3 -2
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanners/_1d_scanners.py +7 -5
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanners/_2d_scanners.py +36 -49
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanners/sequential.py +10 -4
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanners/tabular.py +10 -5
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/slicing.py +1 -1
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/tcp_ip/serializer.py +38 -5
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/tcp_ip/tcp_server_client.py +25 -17
- pymodaq-4.1.5/src/pymodaq/resources/VERSION +0 -1
- pymodaq-4.1.5/src/pymodaq/resources/config_scan_template.toml +0 -42
- pymodaq-4.1.5/src/pymodaq/utils/plotting/data_viewers/viewer1D.py +0 -653
- pymodaq-4.1.5/src/pymodaq/utils/scanner/scan_config.py +0 -24
- {pymodaq-4.1.5 → pymodaq-4.2.1}/LICENSE +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/README.rst +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/daq_move_ui.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/control_modules/mocks.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.aliases +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvlps +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvproj +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_1Dgaussian.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_2Dgaussian.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_cmd.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_float.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_int.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_data.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_int.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_scalar.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_string.vi +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/client_state.ctl +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/Labview_TCP_Client/cmd_types.ctl +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/custom_app.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/custom_viewer.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/function_plotter.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/nonlinearscanner.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/parameter_ex.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/examples/preset_MockCamera.xml +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/console.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/daq_logger.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/h5browser.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/pid/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/extensions/pid/daq_move_PID.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/icon.ico +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_analysis/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_measurement/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.ui +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_measurement/daq_measurement_main.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/daq_measurement/process_from_QtDesigner_DAQ_Measurement_GUI.bat +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/post_treatment/process_to_scalar.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/1d.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/2d.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/3d.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Add2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Add_Step.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Approve.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Approve_All.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Browse_Dir_Path.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Calculator.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnGroup.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnNum.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnText.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnTime.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnWave.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Close3.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/CollapseAll.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/CollapseAll_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ColorPicker.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Contract.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Create.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/DeleteLayer.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditOpen.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditRedo.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditUndo.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Ellipse.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/EllipseFilled.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Error.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ErrorMessage.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Error_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Exit.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Expand.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ExpandAll.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ExpandAll_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/FFT.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/HLM.ico +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Help.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Help_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Histogram.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/LUT_LookUpTable.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/MagnifyingGlass.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/MagnifyingGlass_24.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Marker.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Math.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/MeasurementStudio_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Move.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/MoveDown.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/MoveUp.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Multiply.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/NewFile.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/NewLayer.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/New_File.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/New_Folder.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_1D.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_2D.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_File.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_File_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_sim.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Options.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Oscilloscope.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Oscilloscope_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Pass.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/RGB.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Rectangle.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/RectangleFilled.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Redo.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Region.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Rendezvous.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SELECT.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAll.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAll_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAs.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAs_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save_24.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Search.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/SelectPolygon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Select_24.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Settings.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snap&Save.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Spreadsheet.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Statistics.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Statistics2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Status.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Subtract.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Vision.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Volts.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Wait2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_1_1.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_in.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_out.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_to_Selection.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/abort.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/advanced2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/autoscale.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/b_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/back.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/bg_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/camera.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/camera_snap.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/cartesian.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/clear2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/clear_ROI.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/close2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/cluster2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/color.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/color2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/continuous.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/data.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/delay.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/download.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/download2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/error2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ethernet.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/exit2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/fan.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/filter2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/g_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/gear2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to_1.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to_2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/grab.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/graph.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/greenLight2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/greenLight2_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/green_light.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/grey_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/greyscale.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/help1.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/help1_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/home2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/information2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/ini.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/integrator.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/joystick.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_green.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_green_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_red.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_red_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_yellow.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_yellow_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/limiter.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/load_ROI.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/meshPlot.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/move_contour.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/move_straight_line.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/movie.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/multi_point.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/multiplexer.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/new.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/openArrow.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/openTree.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/oscilloscope2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/oscilloscope3.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/overlay.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass2_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/pause.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/permute.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/phase.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/play.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/polar.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/pole_zero.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerMeter.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerSwitch.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerSwitch_16.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/print2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/print2_32.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/properties.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/r_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/radiocontrolbutton.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/read2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/red_light.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/remove.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/reset.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/rgb_icon.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/robot.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/rotation2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/run2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/run_all.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/saturation.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/saveTree.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/save_ROI.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/scale_horizontally.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/scale_vertically.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/search2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/select2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_all.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_all2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_none.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/sequence.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/sequence2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/snap.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/sort_ascend.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/spectrumAnalyzer.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/start.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/status_cancelled.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop3.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop_all.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/sum.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/surfacePlot.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/tree.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/updateTree.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/utility2.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/utility_small.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/vector.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/verify.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/video.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/wait.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/waterfallPlot.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/watershed.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/yellow_light.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/zip_file.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/zoomAuto.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/Icon_Library/zoomReset.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.bat +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.qrc +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources_rc.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/QtDesigner_Ressources/icons.svg +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/preset_default.xml +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/resources/triangulation_data.npy +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/splash.png +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/abstract/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/abstract/logger.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/array_manipulation.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/calibration_camera.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/chrono_timer.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/conftests.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/db/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/db/db_logger/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/db/db_logger/db_logger.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/db/db_logger/db_logger_models.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/exceptions.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/file_io.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/layout.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/list_picker.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/label.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/lcd.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/push.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/qled.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/spinbox.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/table.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/tree_layout.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/gui_utils/widgets/tree_toml.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/browsing.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/exporter.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/exporters/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/exporters/base.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/exporters/flimj.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/exporters/hyperspy.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/h5logging.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/module_saving.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/h5modules/utils.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/logger.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/batchscan_manager.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/modules_manager.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/overshoot_manager.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/preset_manager.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/preset_manager_utils.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/managers/remote_manager.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/messenger.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/ioxml.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/bool.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/date.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/filedir.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/itemselect.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/led.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/list.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/numeric.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/pixmap.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/slide.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/table.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/tableview.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/pymodaq_ptypes/text.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/parameter/utils.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/data_viewers/viewer2D_basic.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/gant_chart.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/image_viewer.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/items/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/items/axis_scaled.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/navigator.py +0 -0
- {pymodaq-4.1.5/src/pymodaq/utils/plotting/utils → pymodaq-4.2.1/src/pymodaq/utils/plotting/plotter/plotters}/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/scan_selector.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/utils/signalND.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/plotting/widgets.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/qvariant.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/scanners/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/scanner/utils.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/svg/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/svg/svg_renderer.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/svg/svg_view.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/svg/svg_viewer2D.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/tcp_ip/__init__.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/tcp_ip/mysocket.py +0 -0
- {pymodaq-4.1.5 → pymodaq-4.2.1}/src/pymodaq/utils/units.py +0 -0
|
@@ -104,6 +104,9 @@ venv.bak/
|
|
|
104
104
|
.spyderproject
|
|
105
105
|
.spyproject
|
|
106
106
|
|
|
107
|
+
# VS code project settings
|
|
108
|
+
.vscode/*
|
|
109
|
+
|
|
107
110
|
# Rope project settings
|
|
108
111
|
.ropeproject
|
|
109
112
|
|
|
@@ -119,6 +122,8 @@ venv.bak/
|
|
|
119
122
|
|
|
120
123
|
.tox
|
|
121
124
|
*.h5
|
|
125
|
+
!data.h5
|
|
126
|
+
|
|
122
127
|
*yacctab.py
|
|
123
128
|
*lextab.py
|
|
124
129
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pymodaq
|
|
3
|
-
Version: 4.1
|
|
3
|
+
Version: 4.2.1
|
|
4
4
|
Summary: Modular Data Acquisition with Python
|
|
5
5
|
Project-URL: Homepage, http://pymodaq.cnrs.fr
|
|
6
6
|
Project-URL: Source, https://github.com/PyMoDAQ/PyMoDAQ
|
|
@@ -44,15 +44,17 @@ Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
|
44
44
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
45
45
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
46
46
|
Requires-Python: >=3.7
|
|
47
|
+
Requires-Dist: bayesian-optimization
|
|
47
48
|
Requires-Dist: easydict
|
|
48
49
|
Requires-Dist: importlib-metadata; python_version < '3.8'
|
|
49
50
|
Requires-Dist: multipledispatch
|
|
50
51
|
Requires-Dist: numpy<2.0.0
|
|
51
52
|
Requires-Dist: packaging
|
|
52
53
|
Requires-Dist: pint
|
|
54
|
+
Requires-Dist: pyleco; python_version >= '3.8'
|
|
53
55
|
Requires-Dist: pymodaq-plugin-manager>=0.0.17
|
|
54
56
|
Requires-Dist: pymodaq-plugins-mock
|
|
55
|
-
Requires-Dist: pyqtgraph
|
|
57
|
+
Requires-Dist: pyqtgraph>=0.12
|
|
56
58
|
Requires-Dist: python-dateutil
|
|
57
59
|
Requires-Dist: qdarkstyle
|
|
58
60
|
Requires-Dist: qtconsole
|
|
@@ -36,12 +36,12 @@ dependencies = [
|
|
|
36
36
|
"easydict",
|
|
37
37
|
"importlib_metadata; python_version<\"3.8\"",
|
|
38
38
|
"multipledispatch",
|
|
39
|
-
"numpy < 2.0.0",
|
|
39
|
+
"numpy < 2.0.0",
|
|
40
40
|
"packaging",
|
|
41
41
|
"pint",
|
|
42
42
|
"pymodaq_plugin_manager>=0.0.17",
|
|
43
43
|
"pymodaq_plugins_mock",
|
|
44
|
-
"pyqtgraph
|
|
44
|
+
"pyqtgraph>=0.12",
|
|
45
45
|
"python-dateutil",
|
|
46
46
|
"qdarkstyle",
|
|
47
47
|
"qtpy",
|
|
@@ -51,6 +51,8 @@ dependencies = [
|
|
|
51
51
|
"toml",
|
|
52
52
|
"qtconsole",
|
|
53
53
|
"tables<3.9", # issue with some version of required package blosc2>=2.2.8
|
|
54
|
+
"pyleco; python_version>=\"3.8\"",
|
|
55
|
+
"bayesian-optimization"
|
|
54
56
|
]
|
|
55
57
|
|
|
56
58
|
[project.scripts]
|
|
@@ -39,9 +39,10 @@ try:
|
|
|
39
39
|
# in a try statement for compilation on readthedocs server but if this fail, you cannot use the code
|
|
40
40
|
from pymodaq.utils.plotting import data_viewers # imported here as to avoid circular imports later on
|
|
41
41
|
from pymodaq.utils.daq_utils import copy_preset, setLocale, set_qt_backend
|
|
42
|
-
|
|
42
|
+
from pymodaq.utils.daq_utils import get_instrument_plugins
|
|
43
43
|
from pymodaq.utils.config import Config
|
|
44
|
-
|
|
44
|
+
from pymodaq.utils.scanner.utils import register_scanners
|
|
45
|
+
from pymodaq.utils.plotting.plotter.plotter import register_plotter, PlotterFactory
|
|
45
46
|
|
|
46
47
|
# issue on windows when using .NET code within multithreads, this below allows it but requires the
|
|
47
48
|
# pywin32 (pythoncom) package
|
|
@@ -66,8 +67,8 @@ try:
|
|
|
66
67
|
logger.info('')
|
|
67
68
|
logger.info('************************')
|
|
68
69
|
logger.info(f"Setting Qt backend to: {config['qtbackend']['backend']} ...")
|
|
69
|
-
logger.info('************************')
|
|
70
70
|
set_qt_backend()
|
|
71
|
+
logger.info('************************')
|
|
71
72
|
logger.info('')
|
|
72
73
|
logger.info('')
|
|
73
74
|
logger.info('************************')
|
|
@@ -83,8 +84,26 @@ try:
|
|
|
83
84
|
Q_ = ureg.Quantity
|
|
84
85
|
logger.info('')
|
|
85
86
|
logger.info('')
|
|
86
|
-
logger.info('
|
|
87
|
+
logger.info('*************************************************************************')
|
|
87
88
|
logger.info(f"Getting the list of instrument plugins...")
|
|
89
|
+
logger.info('')
|
|
90
|
+
get_instrument_plugins()
|
|
91
|
+
logger.info('*************************************************************************')
|
|
92
|
+
|
|
93
|
+
logger.info('')
|
|
94
|
+
logger.info('')
|
|
95
|
+
logger.info('************************')
|
|
96
|
+
logger.info(f"Registering Scanners...")
|
|
97
|
+
register_scanners()
|
|
98
|
+
logger.info(f"Done")
|
|
99
|
+
logger.info('************************')
|
|
100
|
+
|
|
101
|
+
logger.info('')
|
|
102
|
+
logger.info('')
|
|
103
|
+
logger.info('************************')
|
|
104
|
+
logger.info(f"Registering plotters...")
|
|
105
|
+
register_plotter()
|
|
106
|
+
logger.info(f"Done")
|
|
88
107
|
logger.info('************************')
|
|
89
108
|
|
|
90
109
|
except Exception as e:
|
|
@@ -10,8 +10,9 @@ from __future__ import annotations
|
|
|
10
10
|
import numbers
|
|
11
11
|
from importlib import import_module
|
|
12
12
|
from numbers import Number
|
|
13
|
+
from random import randint
|
|
13
14
|
import sys
|
|
14
|
-
from typing import List, Tuple, Union
|
|
15
|
+
from typing import List, Tuple, Union, Optional, Type
|
|
15
16
|
import numpy as np
|
|
16
17
|
|
|
17
18
|
from qtpy.QtCore import QObject, Signal, QThread, Slot, Qt, QTimer
|
|
@@ -20,15 +21,12 @@ from qtpy import QtWidgets
|
|
|
20
21
|
from easydict import EasyDict as edict
|
|
21
22
|
|
|
22
23
|
from pymodaq.utils.logger import set_logger, get_module_name
|
|
23
|
-
from pymodaq.control_modules.utils import
|
|
24
|
-
from pymodaq.utils.parameter import ioxml
|
|
24
|
+
from pymodaq.control_modules.utils import ParameterControlModule
|
|
25
25
|
from pymodaq.control_modules.daq_move_ui import DAQ_Move_UI, ThreadCommand
|
|
26
|
-
from pymodaq.utils.managers.parameter_manager import ParameterManager, Parameter
|
|
27
26
|
from pymodaq.control_modules.move_utility_classes import MoveCommand, DAQ_Move_base
|
|
28
|
-
from pymodaq.utils.tcp_ip.tcp_server_client import TCPClient
|
|
29
27
|
from pymodaq.control_modules.move_utility_classes import params as daq_move_params
|
|
30
28
|
from pymodaq.utils import daq_utils as utils
|
|
31
|
-
from pymodaq.utils.parameter import utils as putils
|
|
29
|
+
from pymodaq.utils.parameter import Parameter, utils as putils
|
|
32
30
|
from pymodaq.utils.gui_utils import get_splash_sc
|
|
33
31
|
from pymodaq.utils import config as config_mod
|
|
34
32
|
from pymodaq.utils.exceptions import ActuatorError
|
|
@@ -37,6 +35,8 @@ from pymodaq.utils.h5modules import module_saving
|
|
|
37
35
|
from pymodaq.utils.data import DataRaw, DataToExport, DataFromPlugins, DataActuator
|
|
38
36
|
from pymodaq.utils.h5modules.backends import Node
|
|
39
37
|
|
|
38
|
+
from pymodaq.utils.leco.pymodaq_listener import MoveActorListener, LECOMoveCommands
|
|
39
|
+
|
|
40
40
|
|
|
41
41
|
local_path = config_mod.get_set_local_dir()
|
|
42
42
|
sys.path.append(str(local_path))
|
|
@@ -52,7 +52,7 @@ if len(ACTUATOR_TYPES) == 0:
|
|
|
52
52
|
STATUS_WAIT_TIME = 1000
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
class DAQ_Move(
|
|
55
|
+
class DAQ_Move(ParameterControlModule):
|
|
56
56
|
""" Main PyMoDAQ class to drive actuators
|
|
57
57
|
|
|
58
58
|
Qt object and generic UI to drive actuators.
|
|
@@ -75,12 +75,13 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
75
75
|
|
|
76
76
|
move_done_signal = Signal(DataActuator)
|
|
77
77
|
current_value_signal = Signal(DataActuator)
|
|
78
|
-
_update_settings_signal = Signal(edict)
|
|
79
78
|
bounds_signal = Signal(bool)
|
|
80
79
|
|
|
81
80
|
params = daq_move_params
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
listener_class = MoveActorListener
|
|
83
|
+
|
|
84
|
+
def __init__(self, parent=None, title="DAQ Move", **kwargs):
|
|
84
85
|
"""
|
|
85
86
|
|
|
86
87
|
Parameters
|
|
@@ -95,15 +96,13 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
95
96
|
self.logger = set_logger(f'{logger.name}.{title}')
|
|
96
97
|
self.logger.info(f'Initializing DAQ_Move: {title}')
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
ParameterManager.__init__(self, action_list= ('save', 'update'))
|
|
100
|
-
ControlModule.__init__(self)
|
|
99
|
+
super().__init__(action_list=('save', 'update'), **kwargs)
|
|
101
100
|
|
|
102
101
|
self.parent = parent
|
|
103
102
|
if parent is not None:
|
|
104
103
|
self.ui = DAQ_Move_UI(parent, title)
|
|
105
104
|
else:
|
|
106
|
-
self.ui: DAQ_Move_UI = None
|
|
105
|
+
self.ui: Optional[DAQ_Move_UI] = None
|
|
107
106
|
|
|
108
107
|
if self.ui is not None:
|
|
109
108
|
self.ui.actuators = ACTUATOR_TYPES
|
|
@@ -172,7 +171,7 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
172
171
|
elif cmd.command == 'rel_value':
|
|
173
172
|
self._relative_value = cmd.attribute
|
|
174
173
|
|
|
175
|
-
def append_data(self, dte: DataToExport = None, where: Union[Node, str] = None):
|
|
174
|
+
def append_data(self, dte: Optional[DataToExport] = None, where: Union[Node, str, None] = None):
|
|
176
175
|
"""Appends current DataToExport to an ActuatorEnlargeableSaver
|
|
177
176
|
|
|
178
177
|
Parameters
|
|
@@ -374,32 +373,14 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
374
373
|
"""bool: status of the actuator's status (done or not)"""
|
|
375
374
|
return self._move_done_bool
|
|
376
375
|
|
|
377
|
-
def value_changed(self, param):
|
|
376
|
+
def value_changed(self, param: Parameter):
|
|
378
377
|
""" Apply changes of value in the settings"""
|
|
379
|
-
|
|
380
|
-
if param.value():
|
|
381
|
-
self.connect_tcp_ip()
|
|
382
|
-
else:
|
|
383
|
-
self._command_tcpip.emit(ThreadCommand('quit', ))
|
|
384
|
-
|
|
385
|
-
elif param.name() == 'ip_address' or param.name == 'port':
|
|
386
|
-
self._command_tcpip.emit(
|
|
387
|
-
ThreadCommand('update_connection', dict(ipaddress=self.settings.child('main_settings', 'tcpip',
|
|
388
|
-
'ip_address').value(),
|
|
389
|
-
port=self.settings.child('main_settings', 'tcpip',
|
|
390
|
-
'port').value())))
|
|
391
|
-
elif param.name() == 'refresh_timeout':
|
|
392
|
-
self._refresh_timer.setInterval(param.value())
|
|
378
|
+
super().value_changed(param=param)
|
|
393
379
|
|
|
394
|
-
|
|
395
|
-
self.
|
|
380
|
+
if param.name() == 'refresh_timeout':
|
|
381
|
+
self._refresh_timer.setInterval(param.value())
|
|
396
382
|
|
|
397
|
-
|
|
398
|
-
if path is not None:
|
|
399
|
-
if 'main_settings' not in path:
|
|
400
|
-
self._update_settings_signal.emit(edict(path=path, param=param, change='value'))
|
|
401
|
-
if self.settings.child('main_settings', 'tcpip', 'tcp_connected').value():
|
|
402
|
-
self._command_tcpip.emit(ThreadCommand('send_info', dict(path=path, param=param)))
|
|
383
|
+
self._update_settings(param=param)
|
|
403
384
|
|
|
404
385
|
def param_deleted(self, param):
|
|
405
386
|
""" Apply deletion of settings """
|
|
@@ -470,6 +451,8 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
470
451
|
self.current_value_signal.emit(self._current_value)
|
|
471
452
|
if self.settings['main_settings', 'tcpip', 'tcp_connected'] and self._send_to_tcpip:
|
|
472
453
|
self._command_tcpip.emit(ThreadCommand('position_is', status.attribute))
|
|
454
|
+
if self.settings['main_settings', 'leco', 'leco_connected'] and self._send_to_tcpip:
|
|
455
|
+
self._command_tcpip.emit(ThreadCommand(LECOMoveCommands.POSITION, status.attribute))
|
|
473
456
|
|
|
474
457
|
elif status.command == "move_done":
|
|
475
458
|
data_act: DataActuator = status.attribute[0]
|
|
@@ -482,6 +465,8 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
482
465
|
self.move_done_signal.emit(data_act)
|
|
483
466
|
if self.settings.child('main_settings', 'tcpip', 'tcp_connected').value() and self._send_to_tcpip:
|
|
484
467
|
self._command_tcpip.emit(ThreadCommand('move_done', status.attribute))
|
|
468
|
+
if self.settings.child('main_settings', 'leco', 'leco_connected').value() and self._send_to_tcpip:
|
|
469
|
+
self._command_tcpip.emit(ThreadCommand(LECOMoveCommands.MOVE_DONE, status.attribute))
|
|
485
470
|
|
|
486
471
|
elif status.command == 'outofbounds':
|
|
487
472
|
self.bounds_signal.emit(True)
|
|
@@ -586,23 +571,13 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
586
571
|
self.logger.exception(str(e))
|
|
587
572
|
|
|
588
573
|
def connect_tcp_ip(self):
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
tcpclient = TCPClient(self.settings.child('main_settings', 'tcpip', 'ip_address').value(),
|
|
593
|
-
self.settings.child('main_settings', 'tcpip', 'port').value(),
|
|
594
|
-
self.settings.child('move_settings'), client_type="ACTUATOR")
|
|
595
|
-
tcpclient.moveToThread(self._tcpclient_thread)
|
|
596
|
-
self._tcpclient_thread.tcpclient = tcpclient
|
|
597
|
-
tcpclient.cmd_signal.connect(self.process_tcpip_cmds)
|
|
598
|
-
|
|
599
|
-
self._command_tcpip[ThreadCommand].connect(tcpclient.queue_command)
|
|
600
|
-
self._tcpclient_thread.started.connect(tcpclient.init_connection)
|
|
601
|
-
|
|
602
|
-
self._tcpclient_thread.start()
|
|
574
|
+
super().connect_tcp_ip(params_state=self.settings.child('move_settings'),
|
|
575
|
+
client_type="ACTUATOR")
|
|
603
576
|
|
|
604
577
|
@Slot(ThreadCommand)
|
|
605
|
-
def process_tcpip_cmds(self, status):
|
|
578
|
+
def process_tcpip_cmds(self, status: ThreadCommand) -> None:
|
|
579
|
+
if super().process_tcpip_cmds(status=status) is None:
|
|
580
|
+
return
|
|
606
581
|
if 'move_abs' in status.command:
|
|
607
582
|
self.move_abs(status.attribute[0], send_to_tcpip=True)
|
|
608
583
|
|
|
@@ -621,22 +596,6 @@ class DAQ_Move(ParameterManager, ControlModule):
|
|
|
621
596
|
self._send_to_tcpip = True
|
|
622
597
|
self.command_hardware.emit(ThreadCommand('get_actuator_value', ))
|
|
623
598
|
|
|
624
|
-
elif status.command == 'connected':
|
|
625
|
-
self.settings.child('main_settings', 'tcpip', 'tcp_connected').setValue(True)
|
|
626
|
-
|
|
627
|
-
elif status.command == 'disconnected':
|
|
628
|
-
self.settings.child('main_settings', 'tcpip', 'tcp_connected').setValue(False)
|
|
629
|
-
|
|
630
|
-
elif status.command == 'Update_Status':
|
|
631
|
-
self.thread_status(status)
|
|
632
|
-
|
|
633
|
-
elif status.command == 'set_info':
|
|
634
|
-
param_dict = ioxml.XML_string_to_parameter(status.attribute[1])[0]
|
|
635
|
-
param_tmp = Parameter.create(**param_dict)
|
|
636
|
-
param = self.settings.child('move_settings', *status.attribute[0][1:])
|
|
637
|
-
|
|
638
|
-
param.restoreState(param_tmp.saveState())
|
|
639
|
-
|
|
640
599
|
|
|
641
600
|
class DAQ_Move_Hardware(QObject):
|
|
642
601
|
"""
|
|
@@ -658,10 +617,10 @@ class DAQ_Move_Hardware(QObject):
|
|
|
658
617
|
super().__init__()
|
|
659
618
|
self.logger = set_logger(f'{logger.name}.{title}.actuator')
|
|
660
619
|
self._title = title
|
|
661
|
-
self.hardware: DAQ_Move_base = None
|
|
620
|
+
self.hardware: Optional[DAQ_Move_base] = None
|
|
662
621
|
self.actuator_type = actuator_type
|
|
663
622
|
self.current_position: DataActuator = position
|
|
664
|
-
self._target_value: DataActuator = None
|
|
623
|
+
self._target_value: Optional[DataActuator] = None
|
|
665
624
|
self.hardware_adress = None
|
|
666
625
|
self.axis_address = None
|
|
667
626
|
self.motion_stoped = False
|
|
@@ -702,7 +661,7 @@ class DAQ_Move_Hardware(QObject):
|
|
|
702
661
|
=============== =================================== ==========================================================================================================================
|
|
703
662
|
**Parameters** **Type** **Description**
|
|
704
663
|
|
|
705
|
-
*params_state* ordered
|
|
664
|
+
*params_state* ordered dictionary list The parameter state of the hardware class composed by a list representing the tree to keep a temporary save of the tree
|
|
706
665
|
|
|
707
666
|
*controller* one or many instance of DAQ_Move The controller id of the hardware
|
|
708
667
|
|
|
@@ -878,12 +837,12 @@ class DAQ_Move_Hardware(QObject):
|
|
|
878
837
|
@Slot(edict)
|
|
879
838
|
def update_settings(self, settings_parameter_dict):
|
|
880
839
|
"""
|
|
881
|
-
Update settings of hardware with
|
|
840
|
+
Update settings of hardware with dictionary parameters in case of "Move_Settings" path, else update attribute with dictionnary parameters.
|
|
882
841
|
|
|
883
842
|
========================= =========== ======================================================
|
|
884
843
|
**Parameters** **Type** **Description**
|
|
885
844
|
|
|
886
|
-
*settings_parameter_dict*
|
|
845
|
+
*settings_parameter_dict* dictionary Dictionary containing the path and linked parameter
|
|
887
846
|
========================= =========== ======================================================
|
|
888
847
|
|
|
889
848
|
See Also
|