pymodaq 3.6.12__py3-none-any.whl → 4.0.1__py3-none-any.whl

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.

Files changed (233) hide show
  1. pymodaq/__init__.py +13 -6
  2. pymodaq/control_modules/__init__.py +0 -7
  3. pymodaq/control_modules/daq_move.py +965 -2
  4. pymodaq/control_modules/daq_move_ui.py +319 -0
  5. pymodaq/control_modules/daq_viewer.py +1573 -3
  6. pymodaq/control_modules/daq_viewer_ui.py +393 -0
  7. pymodaq/control_modules/mocks.py +51 -0
  8. pymodaq/control_modules/move_utility_classes.py +709 -8
  9. pymodaq/control_modules/utils.py +256 -0
  10. pymodaq/control_modules/viewer_utility_classes.py +663 -6
  11. pymodaq/daq_utils.py +89 -0
  12. pymodaq/dashboard.py +91 -72
  13. pymodaq/examples/custom_app.py +12 -11
  14. pymodaq/examples/custom_viewer.py +10 -10
  15. pymodaq/examples/function_plotter.py +16 -13
  16. pymodaq/examples/nonlinearscanner.py +8 -6
  17. pymodaq/examples/parameter_ex.py +7 -7
  18. pymodaq/examples/preset_MockCamera.xml +1 -0
  19. pymodaq/extensions/__init__.py +16 -0
  20. pymodaq/extensions/console.py +76 -0
  21. pymodaq/{daq_logger.py → extensions/daq_logger.py} +115 -65
  22. pymodaq/extensions/daq_scan.py +1339 -0
  23. pymodaq/extensions/daq_scan_ui.py +240 -0
  24. pymodaq/extensions/h5browser.py +23 -0
  25. pymodaq/{pid → extensions/pid}/__init__.py +4 -2
  26. pymodaq/{pid → extensions/pid}/daq_move_PID.py +2 -2
  27. pymodaq/{pid → extensions/pid}/pid_controller.py +48 -36
  28. pymodaq/{pid → extensions/pid}/utils.py +52 -6
  29. pymodaq/extensions/utils.py +40 -0
  30. pymodaq/post_treatment/__init__.py +6 -0
  31. pymodaq/{daq_analysis → post_treatment/daq_analysis}/daq_analysis_main.py +17 -17
  32. pymodaq/{daq_measurement → post_treatment/daq_measurement}/daq_measurement_main.py +8 -14
  33. pymodaq/post_treatment/load_and_plot.py +219 -0
  34. pymodaq/post_treatment/process_to_scalar.py +263 -0
  35. pymodaq/resources/QtDesigner_Ressources/Icon_Library/run_all.png +0 -0
  36. pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop_all.png +0 -0
  37. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.bat +1 -1
  38. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.qrc +1 -0
  39. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources_rc.py +109784 -109173
  40. pymodaq/resources/QtDesigner_Ressources/icons.svg +142 -0
  41. pymodaq/resources/VERSION +1 -1
  42. pymodaq/resources/config_template.toml +32 -13
  43. pymodaq/resources/preset_default.xml +1 -1
  44. pymodaq/{daq_utils → utils}/Tuto innosetup/script_full_setup.iss +1 -1
  45. pymodaq/utils/__init__.py +0 -29
  46. pymodaq/utils/abstract/__init__.py +48 -0
  47. pymodaq/{daq_utils → utils}/abstract/logger.py +7 -3
  48. pymodaq/utils/array_manipulation.py +379 -8
  49. pymodaq/{daq_utils → utils}/calibration_camera.py +6 -6
  50. pymodaq/{daq_utils → utils}/chrono_timer.py +1 -1
  51. pymodaq/utils/config.py +448 -0
  52. pymodaq/utils/conftests.py +5 -0
  53. pymodaq/utils/daq_utils.py +828 -8
  54. pymodaq/utils/data.py +1873 -7
  55. pymodaq/{daq_utils → utils}/db/db_logger/db_logger.py +86 -47
  56. pymodaq/{daq_utils → utils}/db/db_logger/db_logger_models.py +31 -10
  57. pymodaq/{daq_utils → utils}/enums.py +12 -7
  58. pymodaq/utils/exceptions.py +37 -0
  59. pymodaq/utils/factory.py +82 -0
  60. pymodaq/{daq_utils → utils}/gui_utils/__init__.py +1 -1
  61. pymodaq/utils/gui_utils/custom_app.py +129 -0
  62. pymodaq/utils/gui_utils/file_io.py +66 -0
  63. pymodaq/{daq_utils → utils}/gui_utils/layout.py +2 -2
  64. pymodaq/{daq_utils → utils}/gui_utils/utils.py +13 -3
  65. pymodaq/{daq_utils → utils}/gui_utils/widgets/__init__.py +2 -2
  66. pymodaq/utils/gui_utils/widgets/label.py +24 -0
  67. pymodaq/{daq_utils → utils}/gui_utils/widgets/lcd.py +12 -7
  68. pymodaq/{daq_utils → utils}/gui_utils/widgets/push.py +66 -2
  69. pymodaq/{daq_utils → utils}/gui_utils/widgets/qled.py +6 -4
  70. pymodaq/utils/gui_utils/widgets/spinbox.py +24 -0
  71. pymodaq/{daq_utils → utils}/gui_utils/widgets/table.py +2 -2
  72. pymodaq/utils/h5modules/__init__.py +1 -0
  73. pymodaq/{daq_utils/h5backend.py → utils/h5modules/backends.py} +200 -112
  74. pymodaq/utils/h5modules/browsing.py +683 -0
  75. pymodaq/utils/h5modules/data_saving.py +839 -0
  76. pymodaq/utils/h5modules/h5logging.py +110 -0
  77. pymodaq/utils/h5modules/module_saving.py +350 -0
  78. pymodaq/utils/h5modules/saving.py +914 -0
  79. pymodaq/utils/h5modules/utils.py +85 -0
  80. pymodaq/utils/logger.py +64 -6
  81. pymodaq/utils/managers/action_manager.py +460 -0
  82. pymodaq/{daq_utils → utils}/managers/batchscan_manager.py +144 -112
  83. pymodaq/{daq_utils → utils}/managers/modules_manager.py +188 -114
  84. pymodaq/{daq_utils → utils}/managers/overshoot_manager.py +3 -3
  85. pymodaq/utils/managers/parameter_manager.py +110 -0
  86. pymodaq/{daq_utils → utils}/managers/preset_manager.py +17 -13
  87. pymodaq/{daq_utils → utils}/managers/preset_manager_utils.py +8 -7
  88. pymodaq/{daq_utils → utils}/managers/remote_manager.py +7 -6
  89. pymodaq/{daq_utils → utils}/managers/roi_manager.py +148 -57
  90. pymodaq/utils/math_utils.py +546 -10
  91. pymodaq/{daq_utils → utils}/messenger.py +5 -1
  92. pymodaq/utils/parameter/__init__.py +2 -15
  93. pymodaq/{daq_utils → utils}/parameter/ioxml.py +12 -6
  94. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/__init__.py +1 -3
  95. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/filedir.py +1 -1
  96. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/itemselect.py +3 -0
  97. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/led.py +1 -1
  98. pymodaq/utils/parameter/pymodaq_ptypes/pixmap.py +161 -0
  99. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/slide.py +1 -1
  100. pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/table.py +1 -1
  101. pymodaq/utils/parameter/utils.py +206 -11
  102. pymodaq/utils/plotting/data_viewers/__init__.py +6 -0
  103. pymodaq/utils/plotting/data_viewers/viewer.py +393 -0
  104. pymodaq/utils/plotting/data_viewers/viewer0D.py +251 -0
  105. pymodaq/utils/plotting/data_viewers/viewer1D.py +574 -0
  106. pymodaq/{daq_utils → utils}/plotting/data_viewers/viewer1Dbasic.py +8 -3
  107. pymodaq/{daq_utils → utils}/plotting/data_viewers/viewer2D.py +292 -357
  108. pymodaq/{daq_utils → utils}/plotting/data_viewers/viewer2D_basic.py +58 -75
  109. pymodaq/utils/plotting/data_viewers/viewerND.py +738 -0
  110. pymodaq/{daq_utils → utils}/plotting/gant_chart.py +2 -2
  111. pymodaq/{daq_utils → utils}/plotting/items/axis_scaled.py +4 -2
  112. pymodaq/{daq_utils → utils}/plotting/items/image.py +8 -6
  113. pymodaq/utils/plotting/navigator.py +355 -0
  114. pymodaq/utils/plotting/scan_selector.py +480 -0
  115. pymodaq/utils/plotting/utils/axes_viewer.py +88 -0
  116. pymodaq/utils/plotting/utils/filter.py +538 -0
  117. pymodaq/utils/plotting/utils/lineout.py +224 -0
  118. pymodaq/{daq_utils → utils}/plotting/utils/plot_utils.py +196 -84
  119. pymodaq/{daq_utils → utils}/plotting/utils/signalND.py +21 -13
  120. pymodaq/utils/plotting/widgets.py +76 -0
  121. pymodaq/utils/scanner/__init__.py +10 -0
  122. pymodaq/utils/scanner/scan_factory.py +204 -0
  123. pymodaq/utils/scanner/scanner.py +271 -0
  124. pymodaq/utils/scanner/scanners/_1d_scanners.py +117 -0
  125. pymodaq/utils/scanner/scanners/_2d_scanners.py +293 -0
  126. pymodaq/utils/scanner/scanners/sequential.py +192 -0
  127. pymodaq/utils/scanner/scanners/tabular.py +294 -0
  128. pymodaq/utils/scanner/utils.py +83 -0
  129. pymodaq/utils/slicing.py +47 -0
  130. pymodaq/utils/svg/__init__.py +6 -0
  131. pymodaq/utils/svg/svg_renderer.py +20 -0
  132. pymodaq/utils/svg/svg_view.py +35 -0
  133. pymodaq/utils/svg/svg_viewer2D.py +51 -0
  134. pymodaq/{daq_utils → utils}/tcp_server_client.py +36 -37
  135. pymodaq/{daq_utils → utils}/tree_layout/tree_layout_main.py +50 -35
  136. pymodaq/utils/units.py +216 -0
  137. pymodaq-4.0.1.dist-info/METADATA +159 -0
  138. {pymodaq-3.6.12.dist-info → pymodaq-4.0.1.dist-info}/RECORD +167 -170
  139. {pymodaq-3.6.12.dist-info → pymodaq-4.0.1.dist-info}/WHEEL +1 -2
  140. pymodaq-4.0.1.dist-info/entry_points.txt +8 -0
  141. pymodaq/daq_move/daq_move_gui.py +0 -279
  142. pymodaq/daq_move/daq_move_gui.ui +0 -534
  143. pymodaq/daq_move/daq_move_main.py +0 -1042
  144. pymodaq/daq_move/process_from_QtDesigner_DAQ_Move_GUI.bat +0 -2
  145. pymodaq/daq_move/utility_classes.py +0 -671
  146. pymodaq/daq_scan.py +0 -2160
  147. pymodaq/daq_utils/array_manipulation.py +0 -386
  148. pymodaq/daq_utils/config.py +0 -273
  149. pymodaq/daq_utils/conftests.py +0 -7
  150. pymodaq/daq_utils/custom_parameter_tree.py +0 -9
  151. pymodaq/daq_utils/daq_enums.py +0 -133
  152. pymodaq/daq_utils/daq_utils.py +0 -1402
  153. pymodaq/daq_utils/exceptions.py +0 -71
  154. pymodaq/daq_utils/gui_utils/custom_app.py +0 -103
  155. pymodaq/daq_utils/gui_utils/file_io.py +0 -75
  156. pymodaq/daq_utils/gui_utils/widgets/spinbox.py +0 -9
  157. pymodaq/daq_utils/h5exporter_hyperspy.py +0 -115
  158. pymodaq/daq_utils/h5exporters.py +0 -242
  159. pymodaq/daq_utils/h5modules.py +0 -1559
  160. pymodaq/daq_utils/h5utils.py +0 -241
  161. pymodaq/daq_utils/managers/action_manager.py +0 -236
  162. pymodaq/daq_utils/managers/parameter_manager.py +0 -57
  163. pymodaq/daq_utils/math_utils.py +0 -705
  164. pymodaq/daq_utils/parameter/__init__.py +0 -1
  165. pymodaq/daq_utils/parameter/oldpymodaq_ptypes.py +0 -1626
  166. pymodaq/daq_utils/parameter/pymodaq_ptypes/pixmap.py +0 -85
  167. pymodaq/daq_utils/parameter/utils.py +0 -136
  168. pymodaq/daq_utils/plotting/data_viewers/__init__.py +0 -0
  169. pymodaq/daq_utils/plotting/data_viewers/process_from_QtDesigner_0DViewer_GUI.bat +0 -2
  170. pymodaq/daq_utils/plotting/data_viewers/viewer0D.py +0 -204
  171. pymodaq/daq_utils/plotting/data_viewers/viewer0D_GUI.py +0 -89
  172. pymodaq/daq_utils/plotting/data_viewers/viewer0D_GUI.ui +0 -131
  173. pymodaq/daq_utils/plotting/data_viewers/viewer1D.py +0 -781
  174. pymodaq/daq_utils/plotting/data_viewers/viewerND.py +0 -894
  175. pymodaq/daq_utils/plotting/data_viewers/viewerbase.py +0 -64
  176. pymodaq/daq_utils/plotting/items/__init__.py +0 -0
  177. pymodaq/daq_utils/plotting/navigator.py +0 -500
  178. pymodaq/daq_utils/plotting/scan_selector.py +0 -289
  179. pymodaq/daq_utils/plotting/utils/__init__.py +0 -0
  180. pymodaq/daq_utils/plotting/utils/filter.py +0 -236
  181. pymodaq/daq_utils/plotting/viewer0D/__init__.py +0 -0
  182. pymodaq/daq_utils/plotting/viewer0D/viewer0D_main.py +0 -4
  183. pymodaq/daq_utils/plotting/viewer1D/__init__.py +0 -0
  184. pymodaq/daq_utils/plotting/viewer1D/viewer1D_main.py +0 -4
  185. pymodaq/daq_utils/plotting/viewer1D/viewer1Dbasic.py +0 -4
  186. pymodaq/daq_utils/plotting/viewer2D/viewer_2D_basic.py +0 -4
  187. pymodaq/daq_utils/plotting/viewer2D/viewer_2D_main.py +0 -4
  188. pymodaq/daq_utils/plotting/viewerND/__init__.py +0 -0
  189. pymodaq/daq_utils/plotting/viewerND/viewerND_main.py +0 -4
  190. pymodaq/daq_utils/scanner.py +0 -1289
  191. pymodaq/daq_utils/tree_layout/__init__.py +0 -0
  192. pymodaq/daq_viewer/__init__.py +0 -0
  193. pymodaq/daq_viewer/daq_gui_settings.py +0 -237
  194. pymodaq/daq_viewer/daq_gui_settings.ui +0 -441
  195. pymodaq/daq_viewer/daq_viewer_main.py +0 -2225
  196. pymodaq/daq_viewer/process_from_QtDesigner_DAQ_GUI_settings.bat +0 -2
  197. pymodaq/daq_viewer/utility_classes.py +0 -673
  198. pymodaq/examples/logger_image/__init__.py +0 -0
  199. pymodaq/examples/logger_image/logger_displayer.py +0 -121
  200. pymodaq/examples/logger_image/setup.svg +0 -3119
  201. pymodaq/examples/logger_image/setup_svg.py +0 -114
  202. pymodaq/h5browser.py +0 -39
  203. pymodaq/utils/scanner.py +0 -15
  204. pymodaq-3.6.12.dist-info/METADATA +0 -39
  205. pymodaq-3.6.12.dist-info/entry_points.txt +0 -8
  206. pymodaq-3.6.12.dist-info/top_level.txt +0 -1
  207. /pymodaq/{daq_analysis → post_treatment/daq_analysis}/__init__.py +0 -0
  208. /pymodaq/{daq_measurement → post_treatment/daq_measurement}/__init__.py +0 -0
  209. /pymodaq/{daq_measurement → post_treatment/daq_measurement}/daq_measurement_GUI.py +0 -0
  210. /pymodaq/{daq_measurement → post_treatment/daq_measurement}/daq_measurement_GUI.ui +0 -0
  211. /pymodaq/{daq_measurement → post_treatment/daq_measurement}/process_from_QtDesigner_DAQ_Measurement_GUI.bat +0 -0
  212. /pymodaq/{daq_utils → utils}/Tuto innosetup/Tuto innosetup.odt +0 -0
  213. /pymodaq/{daq_utils → utils}/Tuto innosetup/Tuto innosetup.pdf +0 -0
  214. /pymodaq/{daq_move → utils/db}/__init__.py +0 -0
  215. /pymodaq/{daq_utils → utils/db/db_logger}/__init__.py +0 -0
  216. /pymodaq/{daq_utils → utils}/gui_utils/dock.py +0 -0
  217. /pymodaq/{daq_utils → utils}/gui_utils/list_picker.py +0 -0
  218. /pymodaq/{daq_utils/abstract → utils/managers}/__init__.py +0 -0
  219. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/bool.py +0 -0
  220. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/date.py +0 -0
  221. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/list.py +0 -0
  222. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/numeric.py +0 -0
  223. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/tableview.py +0 -0
  224. /pymodaq/{daq_utils → utils}/parameter/pymodaq_ptypes/text.py +0 -0
  225. /pymodaq/{daq_utils/db → utils/plotting}/__init__.py +0 -0
  226. /pymodaq/{daq_utils → utils}/plotting/image_viewer.py +0 -0
  227. /pymodaq/{daq_utils/db/db_logger → utils/plotting/items}/__init__.py +0 -0
  228. /pymodaq/{daq_utils → utils}/plotting/items/crosshair.py +0 -0
  229. /pymodaq/{daq_utils/managers → utils/plotting/utils}/__init__.py +0 -0
  230. /pymodaq/{daq_utils → utils}/qvariant.py +0 -0
  231. /pymodaq/{daq_utils/plotting/viewer2D → utils/scanner/scanners}/__init__.py +0 -0
  232. /pymodaq/{daq_utils/plotting → utils/tree_layout}/__init__.py +0 -0
  233. {pymodaq-3.6.12.dist-info → pymodaq-4.0.1.dist-info/licenses}/LICENSE +0 -0
pymodaq/daq_utils.py ADDED
@@ -0,0 +1,89 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created the 27/10/2022
4
+
5
+ @author: Sebastien Weber
6
+ """
7
+ import sys
8
+ from importlib import import_module
9
+
10
+ from pymodaq.utils.messenger import deprecation_msg
11
+
12
+ deprecation_msg('Importing from pymodaq.daq_utils is deprecated, use pymodaq.utils.'
13
+ 'It will cause an error in version 4.1.0', 3)
14
+ # import_module('.utils', 'pymodaq')
15
+ # sys.modules['pymodaq.daq_utils'] = import_module('.utils', 'pymodaq')
16
+ # sys.modules['pymodaq.daq_utils.abstract.logger'] = import_module('.abstract.logger', 'pymodaq.utils')
17
+ # sys.modules['pymodaq.daq_utils.array_manipulation'] = import_module('.array_manipulation', 'pymodaq.utils')
18
+ # sys.modules['pymodaq.daq_utils.calibration_camera'] = import_module('.calibration_camera', 'pymodaq.utils')
19
+ # sys.modules['pymodaq.daq_utils.chrono_timer'] = import_module('.chrono_timer', 'pymodaq.utils')
20
+ # sys.modules['pymodaq.daq_utils.config'] = import_module('.config', 'pymodaq.utils')
21
+ # sys.modules['pymodaq.daq_utils.conftests'] = import_module('.conftests', 'pymodaq.utils')
22
+ # sys.modules['pymodaq.daq_utils.daq_enums'] = import_module('.enums', 'pymodaq.utils')
23
+ # sys.modules['pymodaq.daq_utils.daq_utils'] = import_module('.daq_utils', 'pymodaq.utils')
24
+ # try:
25
+ # import sqlalchemy
26
+ # sys.modules['pymodaq.daq_utils.db.db_logger.db_logger'] = import_module('.db.db_logger.db_logger', 'pymodaq.utils')
27
+ # sys.modules['pymodaq.daq_utils.db.db_logger.db_logger_models'] = import_module('.db.db_logger.db_logger_models', 'pymodaq.utils')
28
+ # except ModuleNotFoundError:
29
+ # pass
30
+ # sys.modules['pymodaq.daq_utils.exceptions'] = import_module('.exceptions', 'pymodaq.utils')
31
+ # sys.modules['pymodaq.daq_utils.gui_utils.custom_app'] = import_module('.gui_utils.custom_app', 'pymodaq.utils')
32
+ # sys.modules['pymodaq.daq_utils.gui_utils.dock'] = import_module('.gui_utils.dock', 'pymodaq.utils')
33
+ # sys.modules['pymodaq.daq_utils.gui_utils.file_io'] = import_module('.gui_utils.file_io', 'pymodaq.utils')
34
+ # sys.modules['pymodaq.daq_utils.gui_utils.layout'] = import_module('.gui_utils.layout', 'pymodaq.utils')
35
+ # sys.modules['pymodaq.daq_utils.gui_utils.list_picker'] = import_module('.gui_utils.list_picker', 'pymodaq.utils')
36
+ # sys.modules['pymodaq.daq_utils.gui_utils.utils'] = import_module('.gui_utils.utils', 'pymodaq.utils')
37
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.label'] = import_module('.gui_utils.widgets.label', 'pymodaq.utils')
38
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.lcd'] = import_module('.gui_utils.widgets.lcd', 'pymodaq.utils')
39
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.push'] = import_module('.gui_utils.widgets.push', 'pymodaq.utils')
40
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.qled'] = import_module('.gui_utils.widgets.qled', 'pymodaq.utils')
41
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.spinbox'] = import_module('.gui_utils.widgets.spinbox', 'pymodaq.utils')
42
+ # sys.modules['pymodaq.daq_utils.gui_utils.widgets.table'] = import_module('.gui_utils.widgets.table', 'pymodaq.utils')
43
+ # sys.modules['pymodaq.daq_utils.h5modules'] = import_module('.h5modules', 'pymodaq.utils')
44
+ # sys.modules['pymodaq.daq_utils.managers.action_manager'] = import_module('.managers.action_manager', 'pymodaq.utils')
45
+ # sys.modules['pymodaq.daq_utils.managers.batchscan_manager'] = import_module('.managers.batchscan_manager', 'pymodaq.utils')
46
+ # sys.modules['pymodaq.daq_utils.managers.modules_manager'] = import_module('.managers.modules_manager', 'pymodaq.utils')
47
+ # sys.modules['pymodaq.daq_utils.managers.overshoot_manager'] = import_module('.managers.overshoot_manager', 'pymodaq.utils')
48
+ # sys.modules['pymodaq.daq_utils.managers.parameter_manager'] = import_module('.managers.parameter_manager', 'pymodaq.utils')
49
+ # sys.modules['pymodaq.daq_utils.managers.preset_manager'] = import_module('.managers.preset_manager', 'pymodaq.utils')
50
+ # sys.modules['pymodaq.daq_utils.managers.preset_manager_utils'] = import_module('.managers.preset_manager_utils', 'pymodaq.utils')
51
+ # sys.modules['pymodaq.daq_utils.managers.remote_manager'] = import_module('.managers.remote_manager', 'pymodaq.utils')
52
+ # sys.modules['pymodaq.daq_utils.managers.roi_manager'] = import_module('.managers.roi_manager', 'pymodaq.utils')
53
+ # sys.modules['pymodaq.daq_utils.math_utils'] = import_module('.math_utils', 'pymodaq.utils')
54
+ # sys.modules['pymodaq.daq_utils.messenger'] = import_module('.messenger', 'pymodaq.utils')
55
+ # sys.modules['pymodaq.daq_utils.parameter.ioxml'] = import_module('.parameter.ioxml', 'pymodaq.utils')
56
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.bool'] = import_module('.parameter.pymodaq_ptypes.bool', 'pymodaq.utils')
57
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.date'] = import_module('.parameter.pymodaq_ptypes.date', 'pymodaq.utils')
58
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.filedir'] = import_module('.parameter.pymodaq_ptypes.filedir', 'pymodaq.utils')
59
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.itemselect'] = import_module('.parameter.pymodaq_ptypes.itemselect', 'pymodaq.utils')
60
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.led'] = import_module('.parameter.pymodaq_ptypes.led', 'pymodaq.utils')
61
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.list'] = import_module('.parameter.pymodaq_ptypes.list', 'pymodaq.utils')
62
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.numeric'] = import_module('.parameter.pymodaq_ptypes.numeric', 'pymodaq.utils')
63
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.pixmap'] = import_module('.parameter.pymodaq_ptypes.pixmap', 'pymodaq.utils')
64
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.slide'] = import_module('.parameter.pymodaq_ptypes.slide', 'pymodaq.utils')
65
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.table'] = import_module('.parameter.pymodaq_ptypes.table', 'pymodaq.utils')
66
+ # import_module('.parameter.pymodaq_ptypes.tableview', 'pymodaq.utils')
67
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.tableview'] = import_module('.parameter.pymodaq_ptypes.tableview', 'pymodaq.utils')
68
+ # sys.modules['pymodaq.daq_utils.parameter.pymodaq_ptypes.text'] = import_module('.parameter.pymodaq_ptypes.text', 'pymodaq.utils')
69
+ # sys.modules['pymodaq.daq_utils.parameter.utils'] = import_module('.parameter.utils', 'pymodaq.utils')
70
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewer0D'] = import_module('.plotting.data_viewers.viewer0D', 'pymodaq.utils')
71
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewer1D'] = import_module('.plotting.data_viewers.viewer1D', 'pymodaq.utils')
72
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewer1Dbasic'] = import_module('.plotting.data_viewers.viewer1Dbasic', 'pymodaq.utils')
73
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewer2D'] = import_module('.plotting.data_viewers.viewer2D', 'pymodaq.utils')
74
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewer2D_basic'] = import_module('.plotting.data_viewers.viewer2D_basic', 'pymodaq.utils')
75
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewerbase'] = import_module('.plotting.data_viewers.viewer', 'pymodaq.utils')
76
+ # sys.modules['pymodaq.daq_utils.plotting.data_viewers.viewerND'] = import_module('.plotting.data_viewers.viewerND', 'pymodaq.utils')
77
+ # sys.modules['pymodaq.daq_utils.plotting.image_viewer'] = import_module('.plotting.image_viewer', 'pymodaq.utils')
78
+ # sys.modules['pymodaq.daq_utils.plotting.items.axis_scaled'] = import_module('.plotting.items.axis_scaled', 'pymodaq.utils')
79
+ # sys.modules['pymodaq.daq_utils.plotting.items.crosshair'] = import_module('.plotting.items.crosshair', 'pymodaq.utils')
80
+ # sys.modules['pymodaq.daq_utils.plotting.items.image'] = import_module('.plotting.items.image', 'pymodaq.utils')
81
+ # sys.modules['pymodaq.daq_utils.plotting.navigator'] = import_module('.plotting.navigator', 'pymodaq.utils')
82
+ # sys.modules['pymodaq.daq_utils.plotting.scan_selector'] = import_module('.plotting.scan_selector', 'pymodaq.utils')
83
+ # sys.modules['pymodaq.daq_utils.plotting.utils.filter'] = import_module('.plotting.utils.filter', 'pymodaq.utils')
84
+ # sys.modules['pymodaq.daq_utils.plotting.utils.plot_utils'] = import_module('.plotting.utils.plot_utils', 'pymodaq.utils')
85
+ # sys.modules['pymodaq.daq_utils.plotting.utils.signalND'] = import_module('.plotting.utils.signalND', 'pymodaq.utils')
86
+ # sys.modules['pymodaq.daq_utils.qvariant'] = import_module('.qvariant', 'pymodaq.utils')
87
+ # sys.modules['pymodaq.daq_utils.scanner'] = import_module('.scanner', 'pymodaq.utils')
88
+ # sys.modules['pymodaq.daq_utils.tcp_server_client'] = import_module('.tcp_server_client', 'pymodaq.utils')
89
+ # sys.modules['pymodaq.daq_utils.tree_layout.tree_layout_main'] = import_module('.tree_layout.tree_layout_main', 'pymodaq.utils')
pymodaq/dashboard.py CHANGED
@@ -4,42 +4,41 @@
4
4
  import sys
5
5
  import datetime
6
6
  import subprocess
7
- import pickle
8
7
  import logging
9
8
  from pathlib import Path
10
9
  from importlib import import_module
11
10
  from packaging import version as version_mod
12
11
  from pyqtgraph.parametertree import Parameter, ParameterTree
13
12
  from qtpy import QtGui, QtWidgets, QtCore
14
- from qtpy.QtCore import Qt, QObject, Slot, QThread, Signal, QLocale
13
+ from qtpy.QtCore import Qt, QObject, Slot, QThread, Signal
15
14
  from time import perf_counter
15
+ import numpy as np
16
+
17
+ from pymodaq.utils.logger import set_logger, get_module_name
18
+ from pymodaq.utils.gui_utils import DockArea, Dock, select_file
19
+ import pymodaq.utils.gui_utils.layout as layout_mod
20
+ from pymodaq.utils.messenger import messagebox
21
+ from pymodaq.utils.parameter import utils as putils
22
+ from pymodaq.utils import daq_utils as utils
23
+ from pymodaq.utils.managers.modules_manager import ModulesManager
24
+ from pymodaq.utils.daq_utils import get_version
25
+ from pymodaq.utils.managers.preset_manager import PresetManager
26
+ from pymodaq.utils.managers.overshoot_manager import OvershootManager
27
+ from pymodaq.utils.managers.remote_manager import RemoteManager
28
+ from pymodaq.utils.managers.roi_manager import ROISaver
29
+ from pymodaq.utils.exceptions import DetectorError, ActuatorError
30
+ from pymodaq.utils import config as configmod
31
+
32
+ from pymodaq.control_modules.daq_move import DAQ_Move
33
+ from pymodaq.control_modules.daq_viewer import DAQ_Viewer
34
+
35
+ from pymodaq import extensions as extmod
16
36
 
17
- from pymodaq.daq_utils.gui_utils import DockArea, Dock, select_file
18
- import pymodaq.daq_utils.gui_utils.layout as layout_mod
19
- from pymodaq.daq_utils.messenger import messagebox
20
- from pymodaq.daq_utils.parameter import utils as putils
21
- import pymodaq.daq_utils.parameter.pymodaq_ptypes as ptypes # to be placed after importing Parameter
22
- from pymodaq.daq_utils import daq_utils as utils
23
- from pymodaq.daq_utils.managers.modules_manager import ModulesManager
24
- from pymodaq.daq_utils.daq_utils import get_version
25
- from pymodaq.daq_utils.managers.preset_manager import PresetManager
26
- from pymodaq.daq_utils.managers.overshoot_manager import OvershootManager
27
- from pymodaq.daq_utils.managers.remote_manager import RemoteManager
28
- from pymodaq.daq_utils.managers.roi_manager import ROISaver
29
- from pymodaq.daq_utils.exceptions import DetectorError, ActuatorError
30
- from pymodaq.daq_utils import config as configmod
31
-
32
- from pymodaq.daq_move.daq_move_main import DAQ_Move
33
- from pymodaq.daq_viewer.daq_viewer_main import DAQ_Viewer
34
-
35
- from pymodaq.daq_scan import DAQ_Scan
36
- from pymodaq.daq_logger import DAQ_Logger
37
- from pymodaq.pid.pid_controller import DAQ_PID
38
37
  from pymodaq_plugin_manager.manager import PluginManager
39
38
  from pymodaq_plugin_manager.validate import get_pypi_pymodaq
40
39
 
41
40
 
42
- logger = utils.set_logger(utils.get_module_name(__file__))
41
+ logger = set_logger(get_module_name(__file__))
43
42
 
44
43
  config = configmod.Config()
45
44
 
@@ -52,7 +51,7 @@ overshoot_path = configmod.get_set_overshoot_path()
52
51
  roi_path = configmod.get_set_roi_path()
53
52
  remote_path = configmod.get_set_remote_path()
54
53
 
55
- extensions = utils.get_extensions()
54
+ extensions = extmod.get_extensions()
56
55
 
57
56
 
58
57
  class DashBoard(QObject):
@@ -94,7 +93,7 @@ class DashBoard(QObject):
94
93
  self.splash_sc = QtWidgets.QSplashScreen(splash, Qt.WindowStaysOnTopHint)
95
94
  self.overshoot_manager = None
96
95
  self.preset_manager = None
97
- self.roi_saver = None
96
+ self.roi_saver: ROISaver = None
98
97
 
99
98
  self.remote_timer = QtCore.QTimer()
100
99
  self.remote_manager = None
@@ -102,7 +101,7 @@ class DashBoard(QObject):
102
101
  self.joysticks = dict([])
103
102
  self.ispygame_init = False
104
103
 
105
- self.modules_manager: ModulesManager = None
104
+ self.modules_manager = None
106
105
 
107
106
  self.overshoot = False
108
107
  self.preset_file = None
@@ -124,7 +123,6 @@ class DashBoard(QObject):
124
123
  self.extra_params = params
125
124
  self.preset_manager = PresetManager(path=self.preset_path, extra_params=params, param_options=param_options)
126
125
 
127
- @Slot(str)
128
126
  def add_status(self, txt):
129
127
  """
130
128
  Add the QListWisgetItem initialized with txt informations to the User Interface logger_list and to the save_parameters.logger array.
@@ -171,18 +169,18 @@ class DashBoard(QObject):
171
169
  win = QtWidgets.QMainWindow()
172
170
  area = DockArea()
173
171
  win.setCentralWidget(area)
174
- self.scan_module = DAQ_Scan(dockarea=area, dashboard=self)
175
- self.extensions['DAQ_Scan'] = self.scan_module
172
+ self.scan_module = extmod.DAQScan(dockarea=area, dashboard=self)
173
+ self.extensions['DAQScan'] = self.scan_module
176
174
  self.scan_module.status_signal.connect(self.add_status)
177
175
  win.show()
178
176
  return self.scan_module
179
177
 
180
- def load_log_module(self, win=None) -> DAQ_Logger:
178
+ def load_log_module(self, win=None):
181
179
  if win is None:
182
180
  win = QtWidgets.QMainWindow()
183
181
  area = DockArea()
184
182
  win.setCentralWidget(area)
185
- self.log_module = DAQ_Logger(dockarea=area, dashboard=self)
183
+ self.log_module = extmod.DAQ_Logger(dockarea=area, dashboard=self)
186
184
  self.extensions['DAQ_Logger'] = self.log_module
187
185
  self.log_module.status_signal.connect(self.add_status)
188
186
  win.show()
@@ -196,12 +194,25 @@ class DashBoard(QObject):
196
194
  dockarea = DockArea()
197
195
  self.pid_window.setCentralWidget(dockarea)
198
196
  self.pid_window.setWindowTitle('PID Controller')
199
- self.pid_module = DAQ_PID(dockarea=dockarea)
197
+ self.pid_module = extmod.DAQ_PID(dockarea=dockarea)
200
198
  self.pid_module.set_module_manager(self.detector_modules, self.actuators_modules)
201
199
  self.extensions['DAQ_PID'] = self.pid_module
202
200
  self.pid_window.show()
203
201
  return self.pid_module
204
202
 
203
+ def load_console(self):
204
+ dock_console = Dock('QTConsole')
205
+ self.dockarea.addDock(dock_console, 'bottom')
206
+ qtconsole = extmod.QtConsole(style_sheet=config('style', 'syntax_highlighting'),
207
+ syntax_style=config('style', 'syntax_highlighting'),
208
+ custom_banner=extmod.console.BANNER)
209
+ dock_console.addWidget(qtconsole)
210
+ self.extensions['qtconsole'] = qtconsole
211
+
212
+ qtconsole.push_variables(dict(dashboard=self, mods=self.modules_manager, np=np))
213
+
214
+ return qtconsole
215
+
205
216
  def load_extensions_module(self, ext):
206
217
  self.extension_windows.append(QtWidgets.QMainWindow())
207
218
  area = DockArea()
@@ -316,6 +327,8 @@ class DashBoard(QObject):
316
327
  action_log.triggered.connect(lambda: self.load_log_module())
317
328
  action_pid = self.actions_menu.addAction('PID module')
318
329
  action_pid.triggered.connect(lambda: self.load_pid_module())
330
+ action_console = self.actions_menu.addAction('IPython Console')
331
+ action_console.triggered.connect(lambda: self.load_console())
319
332
 
320
333
  extensions_actions = []
321
334
  for ext in extensions:
@@ -563,13 +576,13 @@ class DashBoard(QObject):
563
576
  move_forms.append(QtWidgets.QWidget())
564
577
  mov_mod_tmp = DAQ_Move(move_forms[-1], plug_name)
565
578
 
566
- mov_mod_tmp.ui.Stage_type_combo.setCurrentText(plug_type)
567
- mov_mod_tmp.ui.Quit_pb.setEnabled(False)
579
+ mov_mod_tmp.actuator = plug_type
568
580
  QtWidgets.QApplication.processEvents()
581
+ mov_mod_tmp.manage_ui_actions('quit', 'setEnabled', False)
569
582
 
570
583
  if plug_settings is not None:
571
584
  try:
572
- utils.set_param_from_param(mov_mod_tmp.settings, plug_settings)
585
+ putils.set_param_from_param(mov_mod_tmp.settings, plug_settings)
573
586
  except KeyError as e:
574
587
  mssg = f'Could not set this setting: {str(e)}\n' \
575
588
  f'The Preset is no more compatible with the plugin {plug_type}'
@@ -581,6 +594,37 @@ class DashBoard(QObject):
581
594
  move_docks[-1].addWidget(move_forms[-1])
582
595
  actuators_modules.append(mov_mod_tmp)
583
596
 
597
+ def add_det(self, plug_name, plug_settings, det_docks_settings, det_docks_viewer, detector_modules):
598
+
599
+ plug_type = plug_settings.child('main_settings', 'DAQ_type').value()
600
+ plug_subtype = plug_settings.child('main_settings', 'detector_type').value()
601
+ det_docks_settings.append(Dock(plug_name + " settings", size=(150, 250)))
602
+ det_docks_viewer.append(Dock(plug_name + " viewer", size=(350, 350)))
603
+ if len(detector_modules) == 0:
604
+ self.logger_dock.area.addDock(det_docks_settings[-1], 'bottom') # dockarea of the logger dock
605
+ else:
606
+ self.dockarea.addDock(det_docks_settings[-1], 'right',
607
+ detector_modules[-1].viewers_docks[-1])
608
+ self.dockarea.addDock(det_docks_viewer[-1], 'right', det_docks_settings[-1])
609
+ det_mod_tmp = DAQ_Viewer(self.dockarea, title=plug_name, daq_type=plug_type,
610
+ dock_settings=det_docks_settings[-1],
611
+ dock_viewer=det_docks_viewer[-1])
612
+ QtWidgets.QApplication.processEvents()
613
+ det_mod_tmp.detector = plug_subtype
614
+ QtWidgets.QApplication.processEvents()
615
+ det_mod_tmp.manage_ui_actions('quit', 'setEnabled', False)
616
+
617
+ if plug_settings is not None:
618
+ try:
619
+ putils.set_param_from_param(det_mod_tmp.settings, plug_settings)
620
+ except KeyError as e:
621
+ mssg = f'Could not set this setting: {str(e)}\n' \
622
+ f'The Preset is no more compatible with the plugin {plug_subtype}'
623
+ logger.warning(mssg)
624
+ self.splash_sc.showMessage(mssg, color=Qt.white)
625
+
626
+ detector_modules.append(det_mod_tmp)
627
+
584
628
  def set_file_preset(self, filename):
585
629
  """
586
630
  Set a file managers from the converted xml file given by the filename parameter.
@@ -629,14 +673,14 @@ class DashBoard(QObject):
629
673
  path.extend(preset_path)
630
674
  self.pid_module.settings.child(*path).setValue(child.value())
631
675
 
632
- model_class = utils.get_models(
676
+ model_class = extmod.get_models(
633
677
  self.preset_manager.preset_params.child('pid_models').value())['class']
634
678
  for setp in model_class.setpoints_names:
635
679
  self.add_move(setp, None, 'PID', move_docks, move_forms, actuators_modules)
636
680
  actuators_modules[-1].controller = dict(curr_point=self.pid_module.curr_points_signal,
637
681
  setpoint=self.pid_module.setpoints_signal,
638
682
  emit_curr_points=self.pid_module.emit_curr_points_sig)
639
- actuators_modules[-1].ui.IniStage_pb.click()
683
+ actuators_modules[-1].init_hardware_ui()
640
684
  QtWidgets.QApplication.processEvents()
641
685
  self.poll_init(actuators_modules[-1])
642
686
  QtWidgets.QApplication.processEvents()
@@ -689,13 +733,14 @@ class DashBoard(QObject):
689
733
  if plugin['type'] == 'move':
690
734
  try:
691
735
  plug_type = plug_settings.child('main_settings', 'move_type').value()
692
- self.add_move(plug_name, plug_settings, plug_type, move_docks, move_forms, actuators_modules)
736
+ self.add_move(plug_name, plug_settings, plug_type, move_docks, move_forms,
737
+ actuators_modules)
693
738
 
694
739
  if ind_plugin == 0: # should be a master type plugin
695
740
  if plugin['status'] != "Master":
696
741
  logger.error('error in the master/slave type for plugin {}'.format(plug_name))
697
742
  if plug_init:
698
- actuators_modules[-1].ui.IniStage_pb.click()
743
+ actuators_modules[-1].init_hardware_ui()
699
744
  QtWidgets.QApplication.processEvents()
700
745
  self.poll_init(actuators_modules[-1])
701
746
  QtWidgets.QApplication.processEvents()
@@ -705,7 +750,7 @@ class DashBoard(QObject):
705
750
  logger.error('error in the master/slave type for plugin {}'.format(plug_name))
706
751
  if plug_init:
707
752
  actuators_modules[-1].controller = master_controller
708
- actuators_modules[-1].ui.IniStage_pb.click()
753
+ actuators_modules[-1].init_hardware_ui()
709
754
  QtWidgets.QApplication.processEvents()
710
755
  self.poll_init(actuators_modules[-1])
711
756
  QtWidgets.QApplication.processEvents()
@@ -718,32 +763,8 @@ class DashBoard(QObject):
718
763
  else:
719
764
  try:
720
765
  ind_det += 1
721
- plug_type = plug_settings.child('main_settings', 'DAQ_type').value()
722
- plug_subtype = plug_settings.child('main_settings', 'detector_type').value()
723
-
724
- det_docks_settings.append(Dock(plug_name + " settings", size=(150, 250)))
725
- det_docks_viewer.append(Dock(plug_name + " viewer", size=(350, 350)))
726
- if ind_det == 0:
727
- self.logger_dock.area.addDock(det_docks_settings[-1],
728
- 'bottom') # dockarea of the logger dock
729
- else:
730
- self.dockarea.addDock(det_docks_settings[-1], 'right', det_docks_viewer[-2])
731
- self.dockarea.addDock(det_docks_viewer[-1], 'right', det_docks_settings[-1])
732
- det_mod_tmp = DAQ_Viewer(self.dockarea, dock_settings=det_docks_settings[-1],
733
- dock_viewer=det_docks_viewer[-1], title=plug_name,
734
- DAQ_type=plug_type, parent_scan=self)
735
- det_mod_tmp.detector = plug_subtype
736
- det_mod_tmp.ui.Quit_pb.setEnabled(False)
737
- detector_modules.append(det_mod_tmp)
738
-
739
- try:
740
- utils.set_param_from_param(det_mod_tmp.settings, plug_settings)
741
- except KeyError as e:
742
- mssg = f'Could not set this setting: {str(e)}\n'\
743
- f'The Preset is no more compatible with the plugin {plug_subtype}'
744
- logger.warning(mssg)
745
- self.splash_sc.showMessage(mssg, color=Qt.white)
746
-
766
+ self.add_det(plug_name, plug_settings, det_docks_settings, det_docks_viewer,
767
+ detector_modules)
747
768
  QtWidgets.QApplication.processEvents()
748
769
 
749
770
  try:
@@ -751,7 +772,7 @@ class DashBoard(QObject):
751
772
  if plugin['status'] != "Master":
752
773
  logger.error('error in the master/slave type for plugin {}'.format(plug_name))
753
774
  if plug_init:
754
- detector_modules[-1].ui.IniDet_pb.click()
775
+ detector_modules[-1].init_hardware()
755
776
  QtWidgets.QApplication.processEvents()
756
777
  self.poll_init(detector_modules[-1])
757
778
  QtWidgets.QApplication.processEvents()
@@ -761,7 +782,7 @@ class DashBoard(QObject):
761
782
  logger.error('error in the master/slave type for plugin {}'.format(plug_name))
762
783
  if plug_init:
763
784
  detector_modules[-1].controller = master_controller
764
- detector_modules[-1].ui.IniDet_pb.click()
785
+ detector_modules[-1].init_hardware()
765
786
  QtWidgets.QApplication.processEvents()
766
787
  self.poll_init(detector_modules[-1])
767
788
  QtWidgets.QApplication.processEvents()
@@ -1086,10 +1107,8 @@ class DashBoard(QObject):
1086
1107
 
1087
1108
  # connecting to logger
1088
1109
  for mov in actuators_modules:
1089
- mov.status_signal[str].connect(self.add_status)
1090
1110
  mov.init_signal.connect(self.update_init_tree)
1091
1111
  for det in detector_modules:
1092
- det.status_signal[str].connect(self.add_status)
1093
1112
  det.init_signal.connect(self.update_init_tree)
1094
1113
 
1095
1114
  self.splash_sc.close()
@@ -1352,7 +1371,7 @@ def main(init_qt=True):
1352
1371
  # win.setVisible(False)
1353
1372
  prog = DashBoard(area)
1354
1373
  if init_qt:
1355
- sys.exit(app.exec_())
1374
+ sys.exit(app.exec())
1356
1375
  return prog, win
1357
1376
 
1358
1377
 
@@ -1,24 +1,25 @@
1
1
  from collections import OrderedDict
2
2
  import datetime
3
3
  import numpy as np
4
- from pymodaq.daq_utils.gui_utils.custom_app import CustomApp
5
- from pymodaq.daq_utils.gui_utils.dock import DockArea, Dock
6
- from pymodaq.daq_utils.gui_utils.file_io import select_file
7
- from pymodaq.daq_utils.config import Config
4
+
5
+ from pymodaq.utils.logger import set_logger, get_module_name
6
+ from pymodaq.utils.gui_utils.custom_app import CustomApp
7
+ from pymodaq.utils.gui_utils.dock import DockArea, Dock
8
+ from pymodaq.utils.gui_utils.file_io import select_file
9
+ from pymodaq.utils.config import Config
8
10
 
9
11
  from qtpy import QtWidgets
10
12
  from qtpy.QtCore import Slot, QDate, QThread
11
13
 
12
- from pymodaq.daq_utils import gui_utils as gutils
13
- from pymodaq.daq_utils import daq_utils as utils
14
- from pymodaq.daq_utils.parameter import ioxml
15
- from pymodaq.daq_viewer.daq_viewer_main import DAQ_Viewer
16
- from pymodaq.daq_utils.plotting.data_viewers.viewer0D import Viewer0D
14
+ from pymodaq.utils import daq_utils as utils
15
+ from pymodaq.utils.parameter import ioxml
16
+ from pymodaq.control_modules.daq_viewer import DAQ_Viewer
17
+ from pymodaq.utils.plotting.data_viewers.viewer0D import Viewer0D
17
18
 
18
- from pymodaq.daq_utils.h5modules import H5Browser, H5Saver
19
+ from pymodaq.utils.h5modules import H5Browser, H5Saver
19
20
 
20
21
  config = Config()
21
- logger = utils.set_logger(utils.get_module_name(__file__))
22
+ logger = set_logger(get_module_name(__file__))
22
23
 
23
24
 
24
25
  class CustomAppExample(CustomApp):
@@ -1,11 +1,11 @@
1
- from pymodaq.daq_utils.gui_utils.widgets.table import SpinBoxDelegate
2
- from pymodaq.daq_utils.parameter.utils import get_widget_from_tree
3
- from pymodaq.daq_utils.plotting.data_viewers.viewer2D import Viewer2D
4
- from pymodaq.daq_utils import gui_utils as gutils
1
+ from pymodaq.utils.gui_utils.widgets.table import SpinBoxDelegate
2
+ from pymodaq.utils.parameter.utils import get_widget_from_tree
3
+ from pymodaq.utils.plotting.data_viewers.viewer2D import Viewer2D
4
+ from pymodaq.utils import gui_utils as gutils
5
5
  from pyqtgraph.dockarea import Dock
6
6
  from pyqtgraph.parametertree import ParameterTree, Parameter
7
- from pymodaq.daq_utils.parameter.pymodaq_ptypes.tableview import TableViewCustom
8
- from pymodaq.daq_utils.scanner import TableModelTabular
7
+ from pymodaq.utils.parameter.pymodaq_ptypes.tableview import TableViewCustom
8
+ from pymodaq.utils.scanner import TableModelTabular
9
9
  from qtpy.QtCore import QObject, Qt, Slot
10
10
  from qtpy import QtWidgets
11
11
 
@@ -58,7 +58,7 @@ class ViewerPointList(QObject):
58
58
  self.table_view = get_widget_from_tree(self.settings_tree, TableViewCustom)[0]
59
59
  self.settings.child(('tabular_table')).setValue(self.table_model)
60
60
 
61
- self.table_view.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
61
+ self.table_view.horizontalHeader().setResizeMode(QtWidgets.QHeaderView.ResizeToContents)
62
62
  self.table_view.horizontalHeader().setStretchLastSection(True)
63
63
  self.table_view.setSelectionBehavior(QtWidgets.QTableView.SelectRows)
64
64
  self.table_view.setSelectionMode(QtWidgets.QTableView.SingleSelection)
@@ -81,8 +81,8 @@ class ViewerPointList(QObject):
81
81
 
82
82
 
83
83
  if __name__ == '__main__':
84
- from pymodaq.daq_utils.gui_utils import DockArea
85
- from pymodaq.daq_utils.daq_utils import Axis
84
+ from pymodaq.utils.gui_utils import DockArea
85
+ from pymodaq.utils.data import Axis
86
86
  import sys
87
87
  import numpy as np
88
88
 
@@ -96,7 +96,7 @@ if __name__ == '__main__':
96
96
  Ny = 200
97
97
  x = (np.linspace(0, Nx - 1, Nx) + 100) / 2
98
98
  y = (np.linspace(0, Ny - 1, Ny) - 10) * 2
99
- from pymodaq.daq_utils.daq_utils import gauss2D
99
+ from pymodaq.utils.daq_utils import gauss2D
100
100
 
101
101
  data_red = 3 * gauss2D(x, np.mean(x), (np.max(x)-np.min(x)) / 5, y, np.mean(y), (np.max(y)-np.min(y)) / 5, 1)
102
102
  data_red += np.random.random(data_red.shape)
@@ -9,20 +9,22 @@ import numpy as np
9
9
  from qtpy import QtWidgets
10
10
  from qtpy.QtCore import Slot, QDate, QThread, QTimer
11
11
 
12
- from pymodaq.daq_utils.gui_utils.custom_app import CustomApp
13
- from pymodaq.daq_utils.gui_utils.dock import DockArea, Dock
14
- from pymodaq.daq_utils.gui_utils.file_io import select_file
15
- from pymodaq.daq_utils.config import Config
12
+ from pymodaq.utils import data as data_mod
13
+ from pymodaq.utils.logger import set_logger, get_module_name
14
+ from pymodaq.utils.gui_utils.custom_app import CustomApp
15
+ from pymodaq.utils.gui_utils.dock import DockArea, Dock
16
+ from pymodaq.utils.gui_utils.file_io import select_file
17
+ from pymodaq.utils.config import Config
16
18
 
17
- from pymodaq.daq_utils import gui_utils as gutils
18
- from pymodaq.daq_utils import daq_utils as utils
19
+ from pymodaq.utils import gui_utils as gutils
20
+ from pymodaq.utils import daq_utils as utils
19
21
 
20
- from pymodaq.daq_utils.parameter import ioxml
21
- from pymodaq.daq_utils.plotting.data_viewers.viewer1D import Viewer1D
22
- from pymodaq.daq_utils.h5modules import H5Browser, H5Saver
22
+ from pymodaq.utils.parameter import ioxml
23
+ from pymodaq.utils.plotting.data_viewers.viewer1D import Viewer1D
24
+ from pymodaq.utils.h5modules import H5Browser, H5Saver
23
25
 
24
26
  config = Config()
25
- logger = utils.set_logger(utils.get_module_name(__file__))
27
+ logger = set_logger(get_module_name(__file__))
26
28
 
27
29
 
28
30
  class FunctionPlotter(CustomApp):
@@ -34,7 +36,8 @@ class FunctionPlotter(CustomApp):
34
36
  {'title': 'File name:', 'name': 'target_filename', 'type': 'str', 'value': "", 'readonly': True},
35
37
  {'title': 'Date:', 'name': 'date', 'type': 'date', 'value': QDate.currentDate()},
36
38
 
37
- {'title': 'Functions:', 'name': 'functions', 'type': 'list', 'values': ['exp(-(x/5)**2)', 'sin(x)', 'arctan(x)']},
39
+ {'title': 'Functions:', 'name': 'functions', 'type': 'list',
40
+ 'limits': ['exp(-(x/5)**2)', 'sin(x)', 'arctan(x)']},
38
41
  {'title': 'Function:', 'name': 'function', 'type': 'str', 'value': 'sinc(x)'},
39
42
  {'title': 'Add function:', 'label': 'Add!', 'name': 'add_function', 'type': 'bool_push', 'value': False},
40
43
  {'title': 'Plot refresh (ms):', 'name': 'plot_refresh', 'type': 'int', 'value': 2000},
@@ -110,8 +113,8 @@ class FunctionPlotter(CustomApp):
110
113
 
111
114
  function_vals = eval(f'np.{function_str}')
112
115
 
113
- self.viewer.show_data([function_vals], labels=[function_str], x_axis=utils.Axis(x, label='An axis',
114
- units='arb. units'))
116
+ self.viewer.show_data([function_vals], labels=[function_str], x_axis=data_mod.Axis(x, label='An axis',
117
+ units='arb. units'))
115
118
 
116
119
  def value_changed(self, param):
117
120
  if param.name() == 'add_function':
@@ -1,17 +1,19 @@
1
1
 
2
2
  import numpy as np
3
- from pymodaq.daq_utils.gui_utils.custom_app import CustomApp
4
- from pymodaq.daq_utils.gui_utils.dock import DockArea, Dock
5
- from pymodaq.daq_utils.config import Config, get_set_preset_path
3
+
4
+ from pymodaq.utils.logger import set_logger, get_module_name
5
+ from pymodaq.utils.gui_utils.custom_app import CustomApp
6
+ from pymodaq.utils.gui_utils.dock import DockArea, Dock
7
+ from pymodaq.utils.config import Config, get_set_preset_path
6
8
  from qtpy import QtWidgets
7
9
  from qtpy.QtCore import Signal, QLocale
8
10
 
9
- from pymodaq.daq_utils import gui_utils as gutils
10
- from pymodaq.daq_utils import daq_utils as utils
11
+ from pymodaq.utils import gui_utils as gutils
12
+ from pymodaq.utils import daq_utils as utils
11
13
 
12
14
 
13
15
  config = Config()
14
- logger = utils.set_logger(utils.get_module_name(__file__))
16
+ logger = set_logger(get_module_name(__file__))
15
17
 
16
18
 
17
19
  class NonLinearScanner(CustomApp):
@@ -4,12 +4,12 @@ Examples of custome parameter types derived from pyqtgraph
4
4
  """
5
5
  import sys
6
6
 
7
- import pymodaq.daq_utils.gui_utils.widgets.table
7
+ import pymodaq.utils.gui_utils.widgets.table
8
8
  from qtpy import QtWidgets, QtCore
9
9
  from pyqtgraph.parametertree import Parameter, ParameterTree
10
10
  from collections import OrderedDict
11
- from pymodaq.daq_utils import gui_utils as gutils
12
- from pymodaq.daq_utils.parameter import pymodaq_ptypes
11
+ from pymodaq.utils import gui_utils as gutils
12
+ from pymodaq.utils.parameter import pymodaq_ptypes
13
13
  from pymodaq.resources.QtDesigner_Ressources import QtDesigner_ressources_rc
14
14
 
15
15
 
@@ -80,13 +80,13 @@ class ParameterEx:
80
80
  {'title': 'Table widget', 'name': 'tablewidget', 'type': 'table', 'value':
81
81
  OrderedDict(key1='data1', key2=24), 'header': ['keys', 'limits'], 'height': 100},
82
82
  {'title': 'Table view', 'name': 'tabular_table', 'type': 'table_view',
83
- 'delegate': pymodaq.daq_utils.gui_utils.widgets.table.SpinBoxDelegate, 'menu': True,
84
- 'value': pymodaq.daq_utils.gui_utils.widgets.table.TableModel([[0.1, 0.2, 0.3]], ['value1', 'value2', 'value3']),
83
+ 'delegate': pymodaq.utils.gui_utils.widgets.table.SpinBoxDelegate, 'menu': True,
84
+ 'value': pymodaq.utils.gui_utils.widgets.table.TableModel([[0.1, 0.2, 0.3]], ['value1', 'value2', 'value3']),
85
85
  'tip': 'The advantage of the Table model lies in its modularity.\n For concrete examples see the'
86
86
  'TableModelTabular and the TableModelSequential custom models in the'
87
- ' pymodaq.daq_utils.scanner module'},
87
+ ' pymodaq.utils.scanner module'},
88
88
  ]}, # The advantage of the Table model lies in its modularity for concrete examples see the
89
- # TableModelTabular and the TableModelSequential custom models in the pymodaq.daq_utils.scanner module
89
+ # TableModelTabular and the TableModelSequential custom models in the pymodaq.utils.scanner module
90
90
  ]
91
91
 
92
92
  def __init__(self, tree):