pymodaq 4.4.7__py3-none-any.whl → 5.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 (415) hide show
  1. pymodaq/__init__.py +57 -91
  2. pymodaq/control_modules/daq_move.py +64 -46
  3. pymodaq/control_modules/daq_move_ui.py +34 -12
  4. pymodaq/control_modules/daq_viewer.py +55 -30
  5. pymodaq/control_modules/daq_viewer_ui.py +6 -6
  6. pymodaq/control_modules/mocks.py +1 -1
  7. pymodaq/control_modules/move_utility_classes.py +51 -43
  8. pymodaq/control_modules/utils.py +43 -20
  9. pymodaq/control_modules/viewer_utility_classes.py +54 -18
  10. pymodaq/daq_utils/daq_utils.py +6 -0
  11. pymodaq/dashboard.py +639 -323
  12. pymodaq/examples/function_plotter.py +13 -12
  13. pymodaq/examples/tcp_client.py +1 -1
  14. pymodaq/extensions/__init__.py +1 -1
  15. pymodaq/extensions/bayesian/bayesian_optimisation.py +44 -32
  16. pymodaq/extensions/bayesian/utils.py +10 -10
  17. pymodaq/extensions/console.py +7 -6
  18. pymodaq/extensions/daq_logger/__init__.py +1 -0
  19. pymodaq/extensions/{daq_logger.py → daq_logger/daq_logger.py} +30 -30
  20. pymodaq/{utils/db/db_logger → extensions/daq_logger/db}/db_logger.py +16 -15
  21. pymodaq/{utils/db/db_logger → extensions/daq_logger/db}/db_logger_models.py +2 -0
  22. pymodaq/{utils/h5modules → extensions/daq_logger}/h5logging.py +7 -8
  23. pymodaq/extensions/daq_scan.py +42 -34
  24. pymodaq/extensions/daq_scan_ui.py +18 -18
  25. pymodaq/extensions/h5browser.py +2 -3
  26. pymodaq/extensions/pid/__init__.py +4 -2
  27. pymodaq/extensions/pid/daq_move_PID.py +3 -3
  28. pymodaq/extensions/pid/pid_controller.py +59 -50
  29. pymodaq/extensions/pid/utils.py +10 -5
  30. pymodaq/extensions/utils.py +33 -3
  31. pymodaq/post_treatment/load_and_plot.py +10 -7
  32. pymodaq/resources/preset_default.xml +1 -1
  33. pymodaq/updater.py +107 -0
  34. pymodaq/utils/array_manipulation.py +4 -384
  35. pymodaq/utils/calibration_camera.py +12 -9
  36. pymodaq/utils/chrono_timer.py +11 -10
  37. pymodaq/utils/config.py +3 -458
  38. pymodaq/utils/daq_utils.py +9 -715
  39. pymodaq/utils/data.py +17 -2959
  40. pymodaq/utils/enums.py +4 -74
  41. pymodaq/utils/exceptions.py +0 -4
  42. pymodaq/utils/gui_utils/__init__.py +8 -8
  43. pymodaq/utils/gui_utils/loader_utils.py +26 -1
  44. pymodaq/utils/gui_utils/utils.py +8 -162
  45. pymodaq/utils/gui_utils/widgets/lcd.py +6 -109
  46. pymodaq/utils/h5modules/__init__.py +0 -4
  47. pymodaq/utils/h5modules/module_saving.py +9 -8
  48. pymodaq/utils/leco/__init__.py +2 -2
  49. pymodaq/utils/leco/daq_move_LECODirector.py +3 -6
  50. pymodaq/utils/leco/daq_xDviewer_LECODirector.py +5 -5
  51. pymodaq/utils/leco/director_utils.py +2 -2
  52. pymodaq/utils/leco/leco_director.py +3 -3
  53. pymodaq/utils/leco/pymodaq_listener.py +4 -3
  54. pymodaq/utils/leco/utils.py +11 -9
  55. pymodaq/utils/logger.py +4 -76
  56. pymodaq/utils/managers/batchscan_manager.py +16 -19
  57. pymodaq/utils/managers/modules_manager.py +30 -17
  58. pymodaq/utils/managers/overshoot_manager.py +48 -6
  59. pymodaq/utils/managers/preset_manager.py +39 -59
  60. pymodaq/utils/managers/preset_manager_utils.py +28 -22
  61. pymodaq/utils/managers/remote_manager.py +12 -10
  62. pymodaq/utils/math_utils.py +4 -582
  63. pymodaq/utils/messenger.py +4 -64
  64. pymodaq/utils/parameter/__init__.py +6 -9
  65. pymodaq/utils/parameter/utils.py +4 -328
  66. pymodaq/utils/scanner/scan_config.py +1 -1
  67. pymodaq/utils/scanner/scan_factory.py +16 -12
  68. pymodaq/utils/{plotting → scanner}/scan_selector.py +19 -20
  69. pymodaq/utils/scanner/scanner.py +10 -8
  70. pymodaq/utils/scanner/scanners/_1d_scanners.py +8 -5
  71. pymodaq/utils/scanner/scanners/_2d_scanners.py +5 -5
  72. pymodaq/utils/scanner/scanners/sequential.py +8 -8
  73. pymodaq/utils/scanner/scanners/tabular.py +9 -9
  74. pymodaq/utils/scanner/utils.py +6 -4
  75. pymodaq/utils/svg/svg_viewer2D.py +3 -4
  76. pymodaq/utils/tcp_ip/mysocket.py +4 -110
  77. pymodaq/utils/tcp_ip/serializer.py +4 -801
  78. pymodaq/utils/tcp_ip/tcp_server_client.py +15 -13
  79. pymodaq-5.0.1.dist-info/METADATA +242 -0
  80. pymodaq-5.0.1.dist-info/RECORD +122 -0
  81. {pymodaq-4.4.7.dist-info → pymodaq-5.0.1.dist-info}/WHEEL +1 -1
  82. {pymodaq-4.4.7.dist-info → pymodaq-5.0.1.dist-info}/entry_points.txt +1 -0
  83. pymodaq/examples/custom_app.py +0 -258
  84. pymodaq/examples/custom_viewer.py +0 -112
  85. pymodaq/examples/parameter_ex.py +0 -138
  86. pymodaq/examples/preset_MockCamera.xml +0 -1
  87. pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.py +0 -142
  88. pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.ui +0 -232
  89. pymodaq/post_treatment/daq_measurement/daq_measurement_main.py +0 -391
  90. pymodaq/post_treatment/daq_measurement/process_from_QtDesigner_DAQ_Measurement_GUI.bat +0 -2
  91. pymodaq/post_treatment/process_to_scalar.py +0 -263
  92. pymodaq/resources/QtDesigner_Ressources/Icon_Library/1d.png +0 -0
  93. pymodaq/resources/QtDesigner_Ressources/Icon_Library/2d.png +0 -0
  94. pymodaq/resources/QtDesigner_Ressources/Icon_Library/3d.png +0 -0
  95. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Add2.png +0 -0
  96. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Add_Step.png +0 -0
  97. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Approve.png +0 -0
  98. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Approve_All.png +0 -0
  99. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Browse_Dir_Path.png +0 -0
  100. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Calculator.png +0 -0
  101. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnGroup.png +0 -0
  102. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnNum.png +0 -0
  103. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnText.png +0 -0
  104. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnTime.png +0 -0
  105. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ChnWave.png +0 -0
  106. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Close3.png +0 -0
  107. pymodaq/resources/QtDesigner_Ressources/Icon_Library/CollapseAll.png +0 -0
  108. pymodaq/resources/QtDesigner_Ressources/Icon_Library/CollapseAll_32.png +0 -0
  109. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ColorPicker.png +0 -0
  110. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Contract.png +0 -0
  111. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Create.png +0 -0
  112. pymodaq/resources/QtDesigner_Ressources/Icon_Library/DeleteLayer.png +0 -0
  113. pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditOpen.png +0 -0
  114. pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditRedo.png +0 -0
  115. pymodaq/resources/QtDesigner_Ressources/Icon_Library/EditUndo.png +0 -0
  116. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Ellipse.png +0 -0
  117. pymodaq/resources/QtDesigner_Ressources/Icon_Library/EllipseFilled.png +0 -0
  118. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Error.png +0 -0
  119. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ErrorMessage.png +0 -0
  120. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Error_16.png +0 -0
  121. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Exit.png +0 -0
  122. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Expand.png +0 -0
  123. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ExpandAll.png +0 -0
  124. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ExpandAll_32.png +0 -0
  125. pymodaq/resources/QtDesigner_Ressources/Icon_Library/FFT.png +0 -0
  126. pymodaq/resources/QtDesigner_Ressources/Icon_Library/HLM.ico +0 -0
  127. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Help.png +0 -0
  128. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Help_32.png +0 -0
  129. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Histogram.png +0 -0
  130. pymodaq/resources/QtDesigner_Ressources/Icon_Library/LUT_LookUpTable.png +0 -0
  131. pymodaq/resources/QtDesigner_Ressources/Icon_Library/MagnifyingGlass.png +0 -0
  132. pymodaq/resources/QtDesigner_Ressources/Icon_Library/MagnifyingGlass_24.png +0 -0
  133. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Marker.png +0 -0
  134. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Math.png +0 -0
  135. pymodaq/resources/QtDesigner_Ressources/Icon_Library/MeasurementStudio_32.png +0 -0
  136. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Move.png +0 -0
  137. pymodaq/resources/QtDesigner_Ressources/Icon_Library/MoveDown.png +0 -0
  138. pymodaq/resources/QtDesigner_Ressources/Icon_Library/MoveUp.png +0 -0
  139. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Multiply.png +0 -0
  140. pymodaq/resources/QtDesigner_Ressources/Icon_Library/NewFile.png +0 -0
  141. pymodaq/resources/QtDesigner_Ressources/Icon_Library/NewLayer.png +0 -0
  142. pymodaq/resources/QtDesigner_Ressources/Icon_Library/New_File.png +0 -0
  143. pymodaq/resources/QtDesigner_Ressources/Icon_Library/New_Folder.png +0 -0
  144. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open.png +0 -0
  145. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_1D.png +0 -0
  146. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_2D.png +0 -0
  147. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_File.png +0 -0
  148. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_File_32.png +0 -0
  149. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Open_sim.png +0 -0
  150. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Options.png +0 -0
  151. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Oscilloscope.png +0 -0
  152. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Oscilloscope_16.png +0 -0
  153. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Pass.png +0 -0
  154. pymodaq/resources/QtDesigner_Ressources/Icon_Library/RGB.png +0 -0
  155. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Rectangle.png +0 -0
  156. pymodaq/resources/QtDesigner_Ressources/Icon_Library/RectangleFilled.png +0 -0
  157. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Redo.png +0 -0
  158. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh.png +0 -0
  159. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh2.png +0 -0
  160. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Refresh_32.png +0 -0
  161. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Region.png +0 -0
  162. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Rendezvous.png +0 -0
  163. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SELECT.png +0 -0
  164. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save.png +0 -0
  165. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAll.png +0 -0
  166. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAll_32.png +0 -0
  167. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAs.png +0 -0
  168. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SaveAs_32.png +0 -0
  169. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save_24.png +0 -0
  170. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Save_32.png +0 -0
  171. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Search.png +0 -0
  172. pymodaq/resources/QtDesigner_Ressources/Icon_Library/SelectPolygon.png +0 -0
  173. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Select_24.png +0 -0
  174. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Settings.png +0 -0
  175. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snap&Save.png +0 -0
  176. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot.png +0 -0
  177. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2.png +0 -0
  178. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2_16.png +0 -0
  179. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Snapshot2_32.png +0 -0
  180. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Spreadsheet.png +0 -0
  181. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Statistics.png +0 -0
  182. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Statistics2.png +0 -0
  183. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Status.png +0 -0
  184. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Subtract.png +0 -0
  185. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Vision.png +0 -0
  186. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Volts.png +0 -0
  187. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Wait2.png +0 -0
  188. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_1_1.png +0 -0
  189. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_in.png +0 -0
  190. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_out.png +0 -0
  191. pymodaq/resources/QtDesigner_Ressources/Icon_Library/Zoom_to_Selection.png +0 -0
  192. pymodaq/resources/QtDesigner_Ressources/Icon_Library/abort.png +0 -0
  193. pymodaq/resources/QtDesigner_Ressources/Icon_Library/advanced2.png +0 -0
  194. pymodaq/resources/QtDesigner_Ressources/Icon_Library/algo.png +0 -0
  195. pymodaq/resources/QtDesigner_Ressources/Icon_Library/autoscale.png +0 -0
  196. pymodaq/resources/QtDesigner_Ressources/Icon_Library/b_icon.png +0 -0
  197. pymodaq/resources/QtDesigner_Ressources/Icon_Library/back.png +0 -0
  198. pymodaq/resources/QtDesigner_Ressources/Icon_Library/bg_icon.png +0 -0
  199. pymodaq/resources/QtDesigner_Ressources/Icon_Library/camera.png +0 -0
  200. pymodaq/resources/QtDesigner_Ressources/Icon_Library/camera_snap.png +0 -0
  201. pymodaq/resources/QtDesigner_Ressources/Icon_Library/cartesian.png +0 -0
  202. pymodaq/resources/QtDesigner_Ressources/Icon_Library/clear2.png +0 -0
  203. pymodaq/resources/QtDesigner_Ressources/Icon_Library/clear_ROI.png +0 -0
  204. pymodaq/resources/QtDesigner_Ressources/Icon_Library/close2.png +0 -0
  205. pymodaq/resources/QtDesigner_Ressources/Icon_Library/cluster2.png +0 -0
  206. pymodaq/resources/QtDesigner_Ressources/Icon_Library/color.png +0 -0
  207. pymodaq/resources/QtDesigner_Ressources/Icon_Library/color2.png +0 -0
  208. pymodaq/resources/QtDesigner_Ressources/Icon_Library/continuous.png +0 -0
  209. pymodaq/resources/QtDesigner_Ressources/Icon_Library/data.png +0 -0
  210. pymodaq/resources/QtDesigner_Ressources/Icon_Library/delay.png +0 -0
  211. pymodaq/resources/QtDesigner_Ressources/Icon_Library/download.png +0 -0
  212. pymodaq/resources/QtDesigner_Ressources/Icon_Library/download2.png +0 -0
  213. pymodaq/resources/QtDesigner_Ressources/Icon_Library/error2.png +0 -0
  214. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ethernet.png +0 -0
  215. pymodaq/resources/QtDesigner_Ressources/Icon_Library/exit2.png +0 -0
  216. pymodaq/resources/QtDesigner_Ressources/Icon_Library/fan.png +0 -0
  217. pymodaq/resources/QtDesigner_Ressources/Icon_Library/filter2.png +0 -0
  218. pymodaq/resources/QtDesigner_Ressources/Icon_Library/g_icon.png +0 -0
  219. pymodaq/resources/QtDesigner_Ressources/Icon_Library/gear2.png +0 -0
  220. pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to.png +0 -0
  221. pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to_1.png +0 -0
  222. pymodaq/resources/QtDesigner_Ressources/Icon_Library/go_to_2.png +0 -0
  223. pymodaq/resources/QtDesigner_Ressources/Icon_Library/grab.png +0 -0
  224. pymodaq/resources/QtDesigner_Ressources/Icon_Library/graph.png +0 -0
  225. pymodaq/resources/QtDesigner_Ressources/Icon_Library/greenLight2.png +0 -0
  226. pymodaq/resources/QtDesigner_Ressources/Icon_Library/greenLight2_32.png +0 -0
  227. pymodaq/resources/QtDesigner_Ressources/Icon_Library/green_light.png +0 -0
  228. pymodaq/resources/QtDesigner_Ressources/Icon_Library/grey_icon.png +0 -0
  229. pymodaq/resources/QtDesigner_Ressources/Icon_Library/greyscale.png +0 -0
  230. pymodaq/resources/QtDesigner_Ressources/Icon_Library/help1.png +0 -0
  231. pymodaq/resources/QtDesigner_Ressources/Icon_Library/help1_32.png +0 -0
  232. pymodaq/resources/QtDesigner_Ressources/Icon_Library/home2.png +0 -0
  233. pymodaq/resources/QtDesigner_Ressources/Icon_Library/information2.png +0 -0
  234. pymodaq/resources/QtDesigner_Ressources/Icon_Library/ini.png +0 -0
  235. pymodaq/resources/QtDesigner_Ressources/Icon_Library/input.png +0 -0
  236. pymodaq/resources/QtDesigner_Ressources/Icon_Library/integrator.png +0 -0
  237. pymodaq/resources/QtDesigner_Ressources/Icon_Library/joystick.png +0 -0
  238. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_green.png +0 -0
  239. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_green_16.png +0 -0
  240. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_red.png +0 -0
  241. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_red_16.png +0 -0
  242. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_yellow.png +0 -0
  243. pymodaq/resources/QtDesigner_Ressources/Icon_Library/light_yellow_16.png +0 -0
  244. pymodaq/resources/QtDesigner_Ressources/Icon_Library/limiter.png +0 -0
  245. pymodaq/resources/QtDesigner_Ressources/Icon_Library/load_ROI.png +0 -0
  246. pymodaq/resources/QtDesigner_Ressources/Icon_Library/meshPlot.png +0 -0
  247. pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter.png +0 -0
  248. pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter2.png +0 -0
  249. pymodaq/resources/QtDesigner_Ressources/Icon_Library/meter_32.png +0 -0
  250. pymodaq/resources/QtDesigner_Ressources/Icon_Library/move_contour.png +0 -0
  251. pymodaq/resources/QtDesigner_Ressources/Icon_Library/move_straight_line.png +0 -0
  252. pymodaq/resources/QtDesigner_Ressources/Icon_Library/movie.png +0 -0
  253. pymodaq/resources/QtDesigner_Ressources/Icon_Library/multi_point.png +0 -0
  254. pymodaq/resources/QtDesigner_Ressources/Icon_Library/multiplexer.png +0 -0
  255. pymodaq/resources/QtDesigner_Ressources/Icon_Library/new.png +0 -0
  256. pymodaq/resources/QtDesigner_Ressources/Icon_Library/openArrow.png +0 -0
  257. pymodaq/resources/QtDesigner_Ressources/Icon_Library/openTree.png +0 -0
  258. pymodaq/resources/QtDesigner_Ressources/Icon_Library/oscilloscope2.png +0 -0
  259. pymodaq/resources/QtDesigner_Ressources/Icon_Library/oscilloscope3.png +0 -0
  260. pymodaq/resources/QtDesigner_Ressources/Icon_Library/overlay.png +0 -0
  261. pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass2.png +0 -0
  262. pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass2_16.png +0 -0
  263. pymodaq/resources/QtDesigner_Ressources/Icon_Library/pass_32.png +0 -0
  264. pymodaq/resources/QtDesigner_Ressources/Icon_Library/pause.png +0 -0
  265. pymodaq/resources/QtDesigner_Ressources/Icon_Library/permute.png +0 -0
  266. pymodaq/resources/QtDesigner_Ressources/Icon_Library/phase.png +0 -0
  267. pymodaq/resources/QtDesigner_Ressources/Icon_Library/play.png +0 -0
  268. pymodaq/resources/QtDesigner_Ressources/Icon_Library/polar.png +0 -0
  269. pymodaq/resources/QtDesigner_Ressources/Icon_Library/pole_zero.png +0 -0
  270. pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerMeter.png +0 -0
  271. pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerSwitch.png +0 -0
  272. pymodaq/resources/QtDesigner_Ressources/Icon_Library/powerSwitch_16.png +0 -0
  273. pymodaq/resources/QtDesigner_Ressources/Icon_Library/print2.png +0 -0
  274. pymodaq/resources/QtDesigner_Ressources/Icon_Library/print2_32.png +0 -0
  275. pymodaq/resources/QtDesigner_Ressources/Icon_Library/properties.png +0 -0
  276. pymodaq/resources/QtDesigner_Ressources/Icon_Library/r_icon.png +0 -0
  277. pymodaq/resources/QtDesigner_Ressources/Icon_Library/radiocontrolbutton.png +0 -0
  278. pymodaq/resources/QtDesigner_Ressources/Icon_Library/random.png +0 -0
  279. pymodaq/resources/QtDesigner_Ressources/Icon_Library/read2.png +0 -0
  280. pymodaq/resources/QtDesigner_Ressources/Icon_Library/red_light.png +0 -0
  281. pymodaq/resources/QtDesigner_Ressources/Icon_Library/remove.png +0 -0
  282. pymodaq/resources/QtDesigner_Ressources/Icon_Library/reset.png +0 -0
  283. pymodaq/resources/QtDesigner_Ressources/Icon_Library/rgb_icon.png +0 -0
  284. pymodaq/resources/QtDesigner_Ressources/Icon_Library/robot.png +0 -0
  285. pymodaq/resources/QtDesigner_Ressources/Icon_Library/rotation2.png +0 -0
  286. pymodaq/resources/QtDesigner_Ressources/Icon_Library/run2.png +0 -0
  287. pymodaq/resources/QtDesigner_Ressources/Icon_Library/run_all.png +0 -0
  288. pymodaq/resources/QtDesigner_Ressources/Icon_Library/saturation.png +0 -0
  289. pymodaq/resources/QtDesigner_Ressources/Icon_Library/saveTree.png +0 -0
  290. pymodaq/resources/QtDesigner_Ressources/Icon_Library/save_ROI.png +0 -0
  291. pymodaq/resources/QtDesigner_Ressources/Icon_Library/scale_horizontally.png +0 -0
  292. pymodaq/resources/QtDesigner_Ressources/Icon_Library/scale_vertically.png +0 -0
  293. pymodaq/resources/QtDesigner_Ressources/Icon_Library/search2.png +0 -0
  294. pymodaq/resources/QtDesigner_Ressources/Icon_Library/select2.png +0 -0
  295. pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_all.png +0 -0
  296. pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_all2.png +0 -0
  297. pymodaq/resources/QtDesigner_Ressources/Icon_Library/select_none.png +0 -0
  298. pymodaq/resources/QtDesigner_Ressources/Icon_Library/sequence.png +0 -0
  299. pymodaq/resources/QtDesigner_Ressources/Icon_Library/sequence2.png +0 -0
  300. pymodaq/resources/QtDesigner_Ressources/Icon_Library/snap.png +0 -0
  301. pymodaq/resources/QtDesigner_Ressources/Icon_Library/sort_ascend.png +0 -0
  302. pymodaq/resources/QtDesigner_Ressources/Icon_Library/spectrumAnalyzer.png +0 -0
  303. pymodaq/resources/QtDesigner_Ressources/Icon_Library/start.png +0 -0
  304. pymodaq/resources/QtDesigner_Ressources/Icon_Library/status_cancelled.png +0 -0
  305. pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop.png +0 -0
  306. pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop2.png +0 -0
  307. pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop3.png +0 -0
  308. pymodaq/resources/QtDesigner_Ressources/Icon_Library/stop_all.png +0 -0
  309. pymodaq/resources/QtDesigner_Ressources/Icon_Library/sum.png +0 -0
  310. pymodaq/resources/QtDesigner_Ressources/Icon_Library/surfacePlot.png +0 -0
  311. pymodaq/resources/QtDesigner_Ressources/Icon_Library/target.png +0 -0
  312. pymodaq/resources/QtDesigner_Ressources/Icon_Library/tree.png +0 -0
  313. pymodaq/resources/QtDesigner_Ressources/Icon_Library/updateTree.png +0 -0
  314. pymodaq/resources/QtDesigner_Ressources/Icon_Library/utility2.png +0 -0
  315. pymodaq/resources/QtDesigner_Ressources/Icon_Library/utility_small.png +0 -0
  316. pymodaq/resources/QtDesigner_Ressources/Icon_Library/vector.png +0 -0
  317. pymodaq/resources/QtDesigner_Ressources/Icon_Library/verify.png +0 -0
  318. pymodaq/resources/QtDesigner_Ressources/Icon_Library/video.png +0 -0
  319. pymodaq/resources/QtDesigner_Ressources/Icon_Library/wait.png +0 -0
  320. pymodaq/resources/QtDesigner_Ressources/Icon_Library/waterfallPlot.png +0 -0
  321. pymodaq/resources/QtDesigner_Ressources/Icon_Library/watershed.png +0 -0
  322. pymodaq/resources/QtDesigner_Ressources/Icon_Library/yellow_light.png +0 -0
  323. pymodaq/resources/QtDesigner_Ressources/Icon_Library/zip_file.png +0 -0
  324. pymodaq/resources/QtDesigner_Ressources/Icon_Library/zoomAuto.png +0 -0
  325. pymodaq/resources/QtDesigner_Ressources/Icon_Library/zoomReset.png +0 -0
  326. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.bat +0 -2
  327. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources.qrc +0 -238
  328. pymodaq/resources/QtDesigner_Ressources/QtDesigner_ressources_rc.py +0 -127453
  329. pymodaq/resources/QtDesigner_Ressources/__init__.py +0 -0
  330. pymodaq/resources/QtDesigner_Ressources/credit.rst +0 -7
  331. pymodaq/resources/QtDesigner_Ressources/icons.svg +0 -142
  332. pymodaq/resources/VERSION +0 -2
  333. pymodaq/resources/config_template.toml +0 -96
  334. pymodaq/resources/triangulation_data.npy +0 -0
  335. pymodaq/utils/abstract/__init__.py +0 -48
  336. pymodaq/utils/db/__init__.py +0 -0
  337. pymodaq/utils/db/db_logger/__init__.py +0 -0
  338. pymodaq/utils/factory.py +0 -82
  339. pymodaq/utils/gui_utils/custom_app.py +0 -133
  340. pymodaq/utils/gui_utils/dock.py +0 -107
  341. pymodaq/utils/gui_utils/file_io.py +0 -94
  342. pymodaq/utils/gui_utils/layout.py +0 -34
  343. pymodaq/utils/gui_utils/list_picker.py +0 -38
  344. pymodaq/utils/gui_utils/widgets/__init__.py +0 -5
  345. pymodaq/utils/gui_utils/widgets/label.py +0 -24
  346. pymodaq/utils/gui_utils/widgets/push.py +0 -149
  347. pymodaq/utils/gui_utils/widgets/qled.py +0 -62
  348. pymodaq/utils/gui_utils/widgets/spinbox.py +0 -24
  349. pymodaq/utils/gui_utils/widgets/table.py +0 -263
  350. pymodaq/utils/gui_utils/widgets/tree_layout.py +0 -188
  351. pymodaq/utils/gui_utils/widgets/tree_toml.py +0 -110
  352. pymodaq/utils/h5modules/backends.py +0 -1022
  353. pymodaq/utils/h5modules/browsing.py +0 -627
  354. pymodaq/utils/h5modules/data_saving.py +0 -1107
  355. pymodaq/utils/h5modules/exporter.py +0 -119
  356. pymodaq/utils/h5modules/exporters/__init__.py +0 -0
  357. pymodaq/utils/h5modules/exporters/base.py +0 -111
  358. pymodaq/utils/h5modules/exporters/flimj.py +0 -63
  359. pymodaq/utils/h5modules/exporters/hyperspy.py +0 -143
  360. pymodaq/utils/h5modules/saving.py +0 -866
  361. pymodaq/utils/h5modules/utils.py +0 -115
  362. pymodaq/utils/managers/action_manager.py +0 -489
  363. pymodaq/utils/managers/parameter_manager.py +0 -279
  364. pymodaq/utils/managers/roi_manager.py +0 -740
  365. pymodaq/utils/parameter/ioxml.py +0 -545
  366. pymodaq/utils/parameter/pymodaq_ptypes/__init__.py +0 -38
  367. pymodaq/utils/parameter/pymodaq_ptypes/bool.py +0 -31
  368. pymodaq/utils/parameter/pymodaq_ptypes/date.py +0 -126
  369. pymodaq/utils/parameter/pymodaq_ptypes/filedir.py +0 -143
  370. pymodaq/utils/parameter/pymodaq_ptypes/itemselect.py +0 -265
  371. pymodaq/utils/parameter/pymodaq_ptypes/led.py +0 -44
  372. pymodaq/utils/parameter/pymodaq_ptypes/list.py +0 -150
  373. pymodaq/utils/parameter/pymodaq_ptypes/numeric.py +0 -18
  374. pymodaq/utils/parameter/pymodaq_ptypes/pixmap.py +0 -175
  375. pymodaq/utils/parameter/pymodaq_ptypes/slide.py +0 -166
  376. pymodaq/utils/parameter/pymodaq_ptypes/table.py +0 -135
  377. pymodaq/utils/parameter/pymodaq_ptypes/tableview.py +0 -149
  378. pymodaq/utils/parameter/pymodaq_ptypes/text.py +0 -142
  379. pymodaq/utils/plotting/__init__.py +0 -0
  380. pymodaq/utils/plotting/data_viewers/__init__.py +0 -10
  381. pymodaq/utils/plotting/data_viewers/base.py +0 -286
  382. pymodaq/utils/plotting/data_viewers/viewer.py +0 -275
  383. pymodaq/utils/plotting/data_viewers/viewer0D.py +0 -298
  384. pymodaq/utils/plotting/data_viewers/viewer1D.py +0 -826
  385. pymodaq/utils/plotting/data_viewers/viewer1Dbasic.py +0 -231
  386. pymodaq/utils/plotting/data_viewers/viewer2D.py +0 -1118
  387. pymodaq/utils/plotting/data_viewers/viewer2D_basic.py +0 -146
  388. pymodaq/utils/plotting/data_viewers/viewerND.py +0 -800
  389. pymodaq/utils/plotting/gant_chart.py +0 -123
  390. pymodaq/utils/plotting/image_viewer.py +0 -97
  391. pymodaq/utils/plotting/items/__init__.py +0 -0
  392. pymodaq/utils/plotting/items/axis_scaled.py +0 -93
  393. pymodaq/utils/plotting/items/crosshair.py +0 -94
  394. pymodaq/utils/plotting/items/image.py +0 -388
  395. pymodaq/utils/plotting/navigator.py +0 -353
  396. pymodaq/utils/plotting/plotter/plotter.py +0 -94
  397. pymodaq/utils/plotting/plotter/plotters/__init__.py +0 -0
  398. pymodaq/utils/plotting/plotter/plotters/matplotlib_plotters.py +0 -134
  399. pymodaq/utils/plotting/plotter/plotters/qt_plotters.py +0 -78
  400. pymodaq/utils/plotting/utils/__init__.py +0 -0
  401. pymodaq/utils/plotting/utils/axes_viewer.py +0 -88
  402. pymodaq/utils/plotting/utils/filter.py +0 -585
  403. pymodaq/utils/plotting/utils/lineout.py +0 -226
  404. pymodaq/utils/plotting/utils/plot_utils.py +0 -579
  405. pymodaq/utils/plotting/utils/signalND.py +0 -1347
  406. pymodaq/utils/plotting/widgets.py +0 -76
  407. pymodaq/utils/qvariant.py +0 -12
  408. pymodaq/utils/slicing.py +0 -63
  409. pymodaq/utils/units.py +0 -216
  410. pymodaq-4.4.7.dist-info/METADATA +0 -163
  411. pymodaq-4.4.7.dist-info/RECORD +0 -446
  412. /pymodaq/{post_treatment/daq_analysis → daq_utils}/__init__.py +0 -0
  413. /pymodaq/{utils/abstract/logger.py → extensions/daq_logger/abstract.py} +0 -0
  414. /pymodaq/{post_treatment/daq_measurement → extensions/daq_logger/db}/__init__.py +0 -0
  415. {pymodaq-4.4.7.dist-info → pymodaq-5.0.1.dist-info}/licenses/LICENSE +0 -0
@@ -11,17 +11,13 @@ from qtpy.QtCore import Slot, QDate, QThread, QTimer
11
11
 
12
12
  from pymodaq.utils import data as data_mod
13
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
14
+ from pymodaq_gui.utils.custom_app import CustomApp
15
+ from pymodaq_gui.utils.dock import DockArea, Dock
16
+ from pymodaq_data.data import DataRaw, Axis
17
+ from pymodaq_utils.config import Config
18
18
 
19
- from pymodaq.utils import gui_utils as gutils
20
- from pymodaq.utils import daq_utils as utils
19
+ from pymodaq_gui.plotting.data_viewers.viewer1D import Viewer1D
21
20
 
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
25
21
 
26
22
  config = Config()
27
23
  logger = set_logger(get_module_name(__file__))
@@ -113,8 +109,14 @@ class FunctionPlotter(CustomApp):
113
109
 
114
110
  function_vals = eval(f'np.{function_str}')
115
111
 
116
- self.viewer.show_data([function_vals], labels=[function_str], x_axis=data_mod.Axis(x, label='An axis',
117
- units='arb. units'))
112
+ self.viewer.show_data(DataRaw(name=function_str,
113
+ data=[function_vals],
114
+ labels=[function_str],
115
+ axes=[
116
+ data_mod.Axis(
117
+ data=x, label='An axis', units='arb. units')],
118
+ )
119
+ )
118
120
 
119
121
  def value_changed(self, param):
120
122
  if param.name() == 'add_function':
@@ -141,7 +143,6 @@ class FunctionPlotter(CustomApp):
141
143
  self.timer.stop()
142
144
 
143
145
 
144
-
145
146
  def main():
146
147
  import sys
147
148
  app = QtWidgets.QApplication(sys.argv)
@@ -15,7 +15,7 @@ You should see the TCP server printing the sinus in its 0D data viewer
15
15
  import numpy as np
16
16
 
17
17
  from pymodaq.utils.tcp_ip.tcp_server_client import TCPClientTemplate
18
- from pymodaq.utils.data import DataToExport, DataRaw
18
+ from pymodaq_data.data import DataToExport, DataRaw
19
19
 
20
20
 
21
21
  class TCPClient(TCPClientTemplate):
@@ -9,7 +9,7 @@ from .pid.utils import get_models
9
9
 
10
10
  from .console import QtConsole
11
11
  from .daq_scan import DAQScan
12
- from .daq_logger import DAQ_Logger
12
+ from .daq_logger.daq_logger import DAQ_Logger
13
13
  from .pid.pid_controller import DAQ_PID
14
14
  from .h5browser import H5Browser
15
15
 
@@ -6,33 +6,49 @@ from qtpy import QtWidgets, QtCore
6
6
  import time
7
7
  import numpy as np
8
8
 
9
-
10
9
  from pymodaq.utils.data import DataToExport, DataToActuators, DataCalculated, DataActuator
11
- from pymodaq.utils.plotting.data_viewers.viewer0D import Viewer0D
12
- from pymodaq.utils.plotting.data_viewers.viewer import ViewerDispatcher, ViewersEnum
10
+ from pymodaq.utils.managers.modules_manager import ModulesManager
11
+ from pymodaq_utils import utils
12
+ from pymodaq_utils import config as config_mod
13
+ from pymodaq_utils.enums import BaseEnum
14
+
15
+ from pymodaq_gui.config import ConfigSaverLoader
16
+ from pymodaq_utils.logger import set_logger, get_module_name
17
+
18
+ from pymodaq_gui.plotting.data_viewers.viewer0D import Viewer0D
19
+ from pymodaq_gui.plotting.data_viewers.viewer import ViewerDispatcher, ViewersEnum
20
+ from pymodaq_gui.utils import QLED
21
+ from pymodaq_gui.utils.utils import mkQApp
22
+ from pymodaq_gui import utils as gutils
23
+ from pymodaq_gui.parameter import utils as putils
24
+ from pymodaq_gui.h5modules.saving import H5Saver
25
+
26
+ from pymodaq_data.h5modules.data_saving import DataEnlargeableSaver
27
+
28
+
13
29
  from pymodaq.extensions.bayesian.utils import (get_bayesian_models, BayesianModelGeneric,
14
30
  BayesianAlgorithm, UtilityKind,
15
31
  UtilityParameters, StopType, StoppingParameters)
16
- from pymodaq.utils.gui_utils import QLED
17
- from pymodaq.utils.managers.modules_manager import ModulesManager
18
- from pymodaq.utils import gui_utils as gutils
19
- from pymodaq.utils import daq_utils as utils
20
- from pymodaq.utils.parameter import utils as putils
21
- from pymodaq.utils.h5modules.saving import H5Saver
22
- from pymodaq.utils.h5modules.data_saving import DataEnlargeableSaver
23
32
  from pymodaq.post_treatment.load_and_plot import LoaderPlotter
24
33
  from pymodaq.extensions.bayesian.utils import BayesianConfig
25
- from pymodaq.utils import config as configmod
26
- from pymodaq.utils.logger import set_logger, get_module_name
27
-
34
+ from pymodaq.extensions.utils import CustomExt
28
35
 
29
36
  EXTENSION_NAME = 'BayesianOptimisation'
30
37
  CLASS_NAME = 'BayesianOptimisation'
31
38
 
32
39
  logger = set_logger(get_module_name(__file__))
40
+ config = config_mod.Config()
33
41
 
34
42
 
35
- class BayesianOptimisation(gutils.CustomApp):
43
+ class DataNames(BaseEnum):
44
+ Fitness = 0
45
+ Individual = 1
46
+ ProbedData = 2
47
+ Actuators = 3
48
+ Kappa = 4
49
+
50
+
51
+ class BayesianOptimisation(CustomExt):
36
52
  """ PyMoDAQ extension of the DashBoard to perform the optimization of a target signal
37
53
  taken form the detectors as a function of one or more parameters controlled by the actuators.
38
54
  """
@@ -109,7 +125,7 @@ class BayesianOptimisation(gutils.CustomApp):
109
125
  self.setup_ui()
110
126
 
111
127
  self.bayesian_config = BayesianConfig()
112
- self.mainsettings_saver_loader = configmod.ConfigSaverLoader(
128
+ self.mainsettings_saver_loader = ConfigSaverLoader(
113
129
  self.settings.child('main_settings'), self.bayesian_config)
114
130
 
115
131
  self.h5temp: H5Saver = None
@@ -173,7 +189,7 @@ class BayesianOptimisation(gutils.CustomApp):
173
189
  params = getattr(model_class, 'params')
174
190
  self.settings.child('models', 'model_params').addChildren(params)
175
191
 
176
- def setup_menu(self):
192
+ def setup_menu(self, menubar: QtWidgets.QMenuBar = None):
177
193
  '''
178
194
  to be subclassed
179
195
  create menu for actions contained into the self.actions_manager, for instance:
@@ -447,20 +463,20 @@ class BayesianOptimisation(gutils.CustomApp):
447
463
  def process_output(self, dte: DataToExport):
448
464
 
449
465
  self.enl_index += 1
450
- dwa_kappa = dte.remove(dte.get_data_from_name('kappa'))
466
+ dwa_kappa = dte.remove(dte.get_data_from_name(DataNames.Kappa.name))
451
467
  self.settings.child('main_settings', 'utility', 'kappa_actual').setValue(
452
468
  float(dwa_kappa[0][0])
453
469
  )
454
470
 
455
- dwa_data = dte.remove(dte.get_data_from_name('ProbedData'))
456
- dwa_actuators: DataActuator = dte.remove(dte.get_data_from_name('Actuators'))
471
+ dwa_data = dte.remove(dte.get_data_from_name(DataNames.ProbedData.name))
472
+ dwa_actuators: DataActuator = dte.remove(dte.get_data_from_name(DataNames.Actuators.name))
457
473
  self.viewer_observable.show_data(dte)
458
474
 
459
475
  # dwa_observations = self.algorithm.get_dwa_obervations(
460
476
  # self.modules_manager.selected_actuators_name)
461
477
  self.model_class.update_plots()
462
478
 
463
- best_individual = dte.get_data_from_name('Individual')
479
+ best_individual = dte.get_data_from_name(DataNames.Individual.name)
464
480
  best_indiv_as_list = [float(best_individual[ind][0]) for ind in range(len(best_individual))]
465
481
 
466
482
 
@@ -579,7 +595,7 @@ class OptimisationRunner(QtCore.QObject):
579
595
  polling=sync_acts)
580
596
 
581
597
  # Do the evaluation (measurements)
582
- self.det_done_datas = self.modules_manager.grab_datas()
598
+ self.det_done_datas = self.modules_manager.grab_data()
583
599
  self.input_from_dets = self.model_class.convert_input(self.det_done_datas)
584
600
 
585
601
  # Run the algo internal mechanic
@@ -588,17 +604,17 @@ class OptimisationRunner(QtCore.QObject):
588
604
  dte = DataToExport('algo',
589
605
  data=[self.individual_as_data(
590
606
  np.array([self.optimisation_algorithm.best_fitness]),
591
- 'Fitness'),
607
+ DataNames.Fitness.name),
592
608
  self.individual_as_data(
593
609
  self.optimisation_algorithm.best_individual,
594
- 'Individual'),
595
- DataCalculated('ProbedData',
610
+ DataNames.Individual.name),
611
+ DataCalculated(DataNames.ProbedData.name,
596
612
  data=[np.array([self.input_from_dets])],
597
613
  ),
598
- self.output_to_actuators.merge_as_dwa('Data0D',
599
- 'Actuators'),
614
+ self.output_to_actuators.merge_as_dwa(
615
+ 'Data0D', DataNames.Actuators.name),
600
616
  DataCalculated(
601
- 'kappa',
617
+ DataNames.Kappa.name,
602
618
  data=[
603
619
  np.array([self.optimisation_algorithm.kappa])])
604
620
  ])
@@ -635,10 +651,7 @@ def main(init_qt=True):
635
651
  from pymodaq.utils.daq_utils import get_set_preset_path
636
652
 
637
653
  if init_qt: # used for the test suite
638
- app = QtWidgets.QApplication(sys.argv)
639
-
640
- import qdarkstyle
641
- app.setStyleSheet(qdarkstyle.load_stylesheet())
654
+ app = mkQApp("PyMoDAQ Dashboard")
642
655
 
643
656
  from pymodaq.dashboard import DashBoard
644
657
 
@@ -646,7 +659,6 @@ def main(init_qt=True):
646
659
  area = gutils.dock.DockArea()
647
660
  win.setCentralWidget(area)
648
661
  win.resize(1000, 500)
649
- win.setWindowTitle('PyMoDAQ Dashboard')
650
662
 
651
663
  dashboard = DashBoard(area)
652
664
  daq_scan = None
@@ -11,24 +11,24 @@ import importlib
11
11
  import pkgutil
12
12
  import inspect
13
13
  import numpy as np
14
- from qtpy import QtWidgets
15
- import tempfile
16
14
  from collections import namedtuple
17
15
 
18
16
  from bayes_opt import BayesianOptimization
19
17
  from bayes_opt import UtilityFunction
20
18
 
19
+ from pymodaq_utils.utils import find_dict_in_list_from_key_val, get_entrypoints
20
+ from pymodaq_utils.logger import set_logger, get_module_name
21
+ from pymodaq_utils.enums import BaseEnum
22
+ from pymodaq_utils.config import BaseConfig
21
23
 
22
- from pymodaq.utils.h5modules.saving import H5Saver
23
- from pymodaq.utils.data import (DataToExport, DataActuator, DataToActuators, DataCalculated,
24
+ from pymodaq_gui.parameter import Parameter
25
+ from pymodaq_gui.plotting.data_viewers.viewer import ViewersEnum
26
+
27
+ from pymodaq_data.data import (DataToExport, DataCalculated,
24
28
  DataRaw, Axis)
29
+
30
+ from pymodaq.utils.data import DataActuator, DataToActuators
25
31
  from pymodaq.utils.managers.modules_manager import ModulesManager
26
- from pymodaq.utils.daq_utils import find_dict_in_list_from_key_val, get_entrypoints
27
- from pymodaq.utils.logger import set_logger, get_module_name
28
- from pymodaq.utils.plotting.data_viewers.viewer import ViewersEnum
29
- from pymodaq.utils.enums import BaseEnum
30
- from pymodaq.utils.parameter import Parameter
31
- from pymodaq.utils.config import BaseConfig
32
32
 
33
33
 
34
34
  if TYPE_CHECKING:
@@ -4,15 +4,17 @@ Created the 25/10/2022
4
4
 
5
5
  @author: Sebastien Weber
6
6
  """
7
- from qtpy import QtWidgets
7
+
8
8
  from qtconsole.rich_jupyter_widget import RichJupyterWidget
9
9
  from qtconsole.inprocess import QtInProcessKernelManager
10
- from pymodaq.utils import config as configmod
11
- from pymodaq.utils.daq_utils import get_version
10
+
11
+ from pymodaq_utils import config as configmod
12
+ from pymodaq_utils.utils import get_version
12
13
 
13
14
 
14
15
  config = configmod.Config()
15
- BANNER = f'PyMoDAQ v{get_version()}\n' \
16
+
17
+ BANNER = f'PyMoDAQ v{get_version("pymodaq")}\n' \
16
18
  'Main objects available for interaction:\n'\
17
19
  '* dashboard: Main Dashboard Object\n'\
18
20
  '* mods: ModuleManager of the dashboard\'s Control Modules\n'\
@@ -54,8 +56,7 @@ class QtConsole(RichJupyterWidget):
54
56
 
55
57
 
56
58
  def main():
57
- from pymodaq.utils.gui_utils.utils import mkQApp
58
-
59
+ from pymodaq_gui.utils.utils import mkQApp
59
60
 
60
61
  app = mkQApp('Console')
61
62
 
@@ -0,0 +1 @@
1
+ from .daq_logger import main
@@ -11,47 +11,46 @@ from collections import OrderedDict
11
11
  import datetime
12
12
  from typing import TYPE_CHECKING, Union
13
13
 
14
- from pymodaq.utils.logger import set_logger, get_module_name
15
- from pymodaq.utils.gui_utils.custom_app import CustomApp
16
- from pymodaq.utils.gui_utils.dock import Dock
17
- from pymodaq.utils.config import Config, get_set_preset_path
18
- import pymodaq.utils.parameter.ioxml
19
- import numpy as np
14
+ from pymodaq_utils.logger import set_logger, get_module_name
15
+ from pymodaq_gui.utils.dock import Dock, DockArea
16
+ from pymodaq_utils.config import Config
17
+ from pymodaq_gui.parameter import ioxml
18
+
20
19
  from qtpy import QtWidgets
21
20
  from qtpy.QtCore import QObject, Slot, QThread, Signal, Qt
22
- from pymodaq.utils import data as data_mod
23
- from pymodaq.utils.gui_utils.widgets import QLED
24
- from pymodaq.utils.gui_utils.dock import DockArea
25
- from pymodaq.utils import daq_utils as utils
26
- from pymodaq.utils.h5modules.h5logging import H5Logger
27
- from pymodaq.utils.managers.modules_manager import ModulesManager
28
- from pymodaq.utils.data import DataToExport, DataActuator, DataWithAxes
29
21
 
22
+ from pymodaq_gui.utils.widgets import QLED
23
+
24
+
25
+ from pymodaq.extensions.daq_logger.h5logging import H5Logger
26
+ from pymodaq.utils.managers.modules_manager import ModulesManager
27
+ from pymodaq.utils.data import DataActuator, DataToExport
28
+ from pymodaq.extensions.utils import CustomExt
30
29
 
31
30
  if TYPE_CHECKING:
32
31
  from pymodaq.dashboard import DashBoard
33
32
 
34
33
 
35
-
36
34
  config = Config()
37
35
  logger = set_logger(get_module_name(__file__))
38
36
 
39
37
 
40
38
  try:
41
39
  import sqlalchemy
42
- from pymodaq.utils.db.db_logger.db_logger import DataBaseLogger
40
+ from pymodaq.extensions.daq_logger.db.db_logger import DataBaseLogger
43
41
  is_sql = True
44
42
  except Exception as e:
45
43
  is_sql = False
46
- logger.info('To enable logging to database install: sqalchemy and sqlalchemy_utils packages as well as the '
47
- 'backend for your specific database, for instance psycopg2 for PostGreSQL database')
44
+ logger.info('To enable logging to database install: sqalchemy and sqlalchemy_utils packages as'
45
+ ' well as the backend for your specific database, for instance psycopg2 for'
46
+ ' PostGreSQL database')
48
47
 
49
48
  LOG_TYPES = ['None', 'H5 File']
50
49
  if is_sql:
51
50
  LOG_TYPES.append('SQL DataBase')
52
51
 
53
52
 
54
- class DAQ_Logger(CustomApp):
53
+ class DAQ_Logger(CustomExt):
55
54
  """
56
55
  Main class initializing a DAQ_Logger module
57
56
  """
@@ -147,10 +146,10 @@ class DAQ_Logger(CustomApp):
147
146
 
148
147
  self._actions['infos'].connect_to(self.dashboard.show_log)
149
148
 
150
- def setup_menu(self):
149
+ def setup_menu(self, menubar: QtWidgets.QMenuBar = None):
151
150
  """
152
151
  """
153
- file_menu = self.mainwindow.menuBar().addMenu('File')
152
+ file_menu = menubar.addMenu('File')
154
153
  self.affect_to('infos', file_menu)
155
154
 
156
155
  def value_changed(self, param):
@@ -204,17 +203,17 @@ class DAQ_Logger(CustomApp):
204
203
  self.logger.settings.child('N_saved').setValue(0)
205
204
 
206
205
  settings_str = b'<All_settings>'
207
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(self.dashboard.settings)
208
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(
206
+ settings_str += ioxml.parameter_to_xml_string(self.dashboard.settings)
207
+ settings_str += ioxml.parameter_to_xml_string(
209
208
  self.dashboard.preset_manager.preset_params)
210
209
  if self.dashboard.settings.child('loaded_files', 'overshoot_file').value() != '':
211
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(
210
+ settings_str += ioxml.parameter_to_xml_string(
212
211
  self.dashboard.overshoot_manager.overshoot_params)
213
212
  if self.dashboard.settings.child('loaded_files', 'roi_file').value() != '':
214
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(
213
+ settings_str += ioxml.parameter_to_xml_string(
215
214
  self.dashboard.roi_saver.roi_presets)
216
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(self.settings)
217
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(self.logger.settings)
215
+ settings_str += ioxml.parameter_to_xml_string(self.settings)
216
+ settings_str += ioxml.parameter_to_xml_string(self.logger.settings)
218
217
  settings_str += b'</All_settings>'
219
218
 
220
219
  if not self.logger.init_logger(settings_str):
@@ -241,12 +240,12 @@ class DAQ_Logger(CustomApp):
241
240
  # create the detectors in the chosen logger
242
241
  for mod in modules_log:
243
242
  settings_str = b'<All_settings>'
244
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(mod.settings)
243
+ settings_str += ioxml.parameter_to_xml_string(mod.settings)
245
244
 
246
245
  if mod.module_type == 'DAQ_Viewer':
247
246
  for viewer in mod.ui.viewers:
248
247
  if hasattr(viewer, 'roi_manager'):
249
- settings_str += pymodaq.utils.parameter.ioxml.parameter_to_xml_string(
248
+ settings_str += ioxml.parameter_to_xml_string(
250
249
  viewer.roi_manager.settings)
251
250
  settings_str += b'</All_settings>'
252
251
  if mod.module_type == 'DAQ_Viewer':
@@ -446,7 +445,7 @@ class DAQ_Logging(QObject):
446
445
  logger.exception(str(e))
447
446
 
448
447
  def format_actuators_data(self, data_act: DataActuator):
449
- data = data_mod.DataToExport(name=data_act.name, data=[data_act])
448
+ data = DataToExport(name=data_act.name, data=[data_act])
450
449
  self.do_save_continuous(data)
451
450
 
452
451
  def connect_actuators(self, connect=True):
@@ -508,7 +507,7 @@ class DAQ_Logging(QObject):
508
507
 
509
508
 
510
509
  def main():
511
- from pymodaq.utils.gui_utils.utils import mkQApp
510
+ from pymodaq_gui.utils.utils import mkQApp
512
511
  from pymodaq.utils.gui_utils.loader_utils import load_dashboard_with_preset
513
512
 
514
513
  app = mkQApp('DAQLogger')
@@ -520,5 +519,6 @@ def main():
520
519
 
521
520
  return dashboard, extension, win
522
521
 
522
+
523
523
  if __name__ == '__main__':
524
524
  main()
@@ -1,26 +1,27 @@
1
+ from contextlib import contextmanager
1
2
  import logging
2
3
  import datetime
3
4
  from typing import List
4
5
 
5
- from pymodaq.utils.logger import set_logger, get_module_name, get_module_name
6
- from pymodaq.utils.config import Config
7
- from pymodaq.utils.data import DataToExport
8
- from qtpy import QtCore
9
- from contextlib import contextmanager
10
-
11
- from pymodaq.utils.db.db_logger.db_logger_models import Base, Data0D, Data1D, Data2D, LogInfo,\
12
- Configuration, ControlModule
13
- from pymodaq.utils import daq_utils as utils
14
- from pymodaq.utils.gui_utils.utils import dashboard_submodules_params
15
- from pymodaq.utils.messenger import messagebox, deprecation_msg
16
- from pymodaq.utils.abstract.logger import AbstractLogger
17
- from pymodaq.utils.parameter import ParameterTree, Parameter
18
- from pymodaq.utils.managers.parameter_manager import ParameterManager
19
-
20
6
  from sqlalchemy import create_engine
21
7
  from sqlalchemy.orm import sessionmaker
22
8
  from sqlalchemy_utils import database_exists, create_database
23
9
 
10
+ from pymodaq_utils.logger import set_logger, get_module_name
11
+ from pymodaq_utils.config import Config
12
+
13
+ from pymodaq_gui.h5modules.saving import dashboard_submodules_params
14
+ from pymodaq_gui.messenger import messagebox
15
+ from pymodaq_gui.managers.parameter_manager import ParameterManager
16
+
17
+ from pymodaq_data.data import DataToExport
18
+
19
+
20
+ from .db_logger_models import (Base, Data0D, Data1D, Data2D, LogInfo,
21
+ Configuration, ControlModule)
22
+ from ..abstract import AbstractLogger
23
+
24
+
24
25
  logger = set_logger(get_module_name(__file__))
25
26
  config = Config()
26
27
 
@@ -3,6 +3,8 @@ from sqlalchemy.ext.declarative import declarative_base
3
3
  from sqlalchemy.orm import sessionmaker, relationship
4
4
  from sqlalchemy import Column, Integer, String, Float, ForeignKey
5
5
  from sqlalchemy.dialects.postgresql import ARRAY as Array
6
+
7
+
6
8
  Base = declarative_base()
7
9
 
8
10
 
@@ -8,15 +8,14 @@ Created the 15/11/2022
8
8
  import logging
9
9
  import numpy as np
10
10
 
11
- from pymodaq.utils.logger import set_logger, get_module_name
12
- from pymodaq.utils.config import Config
13
- from pymodaq.utils.managers.modules_manager import ModulesManager
14
- from pymodaq.utils.h5modules import module_saving, data_saving
11
+ from pymodaq_utils.logger import set_logger, get_module_name
12
+ from pymodaq_utils.config import Config
13
+ from pymodaq_gui.h5modules.saving import H5Saver
14
+ from pymodaq_data.data import DataToExport
15
15
 
16
- from pymodaq.utils.abstract.logger import AbstractLogger
17
- from pymodaq.utils import daq_utils as utils
18
- from .saving import H5Saver
19
- from pymodaq.utils.data import DataToExport
16
+ from pymodaq.utils.managers.modules_manager import ModulesManager
17
+ from pymodaq.utils.h5modules import module_saving
18
+ from .abstract import AbstractLogger
20
19
 
21
20
 
22
21
  config = Config()
@@ -18,30 +18,29 @@ import numpy as np
18
18
  from qtpy import QtWidgets, QtCore, QtGui
19
19
  from qtpy.QtCore import QObject, Slot, QThread, Signal, QDateTime, QDate, QTime
20
20
 
21
- from pymodaq.utils import data as data_mod
22
- from pymodaq.utils.logger import set_logger, get_module_name
23
- from pymodaq.utils.config import Config, get_set_preset_path
24
- from pymodaq.utils.parameter import ioxml
25
- from pymodaq.utils.plotting.data_viewers import ViewersEnum
26
- from pymodaq.utils.managers.parameter_manager import ParameterManager, Parameter, ParameterTree
27
-
28
- from pymodaq.utils import exceptions
29
- from pymodaq.utils.plotting.data_viewers.viewer2D import Viewer2D
30
- from pymodaq.utils.plotting.data_viewers.viewer1D import Viewer1D
31
- from pymodaq.utils.plotting.navigator import Navigator
32
- from pymodaq.utils.plotting.scan_selector import ScanSelector, SelectorItem
33
- from pymodaq.utils.scanner.scanner import Scanner, scanner_factory #, adaptive, adaptive_losses
21
+ from pymodaq_utils.logger import set_logger, get_module_name
22
+ from pymodaq_utils.config import Config
23
+ from pymodaq_utils import utils
24
+
25
+ from pymodaq_data import data as data_mod
26
+ from pymodaq_data.h5modules import data_saving
27
+
28
+ from pymodaq_gui.parameter import ioxml
29
+ from pymodaq_gui.plotting.data_viewers import ViewersEnum
30
+ from pymodaq_gui.managers.parameter_manager import ParameterManager, Parameter, ParameterTree
31
+ from pymodaq_gui.plotting.navigator import Navigator
32
+ from pymodaq_gui.messenger import messagebox
33
+ from pymodaq_gui import utils as gutils
34
+ from pymodaq_gui.h5modules.saving import H5Saver
35
+
36
+ from pymodaq.utils.scanner.scanner import Scanner
34
37
  from pymodaq.utils.managers.batchscan_manager import BatchScanner
35
38
  from pymodaq.utils.managers.modules_manager import ModulesManager
36
39
  from pymodaq.post_treatment.load_and_plot import LoaderPlotter
37
- from pymodaq.utils.messenger import messagebox
38
40
  from pymodaq.extensions.daq_scan_ui import DAQScanUI
39
-
40
- from pymodaq.utils import daq_utils as utils
41
- from pymodaq.utils import gui_utils as gutils
42
- from pymodaq.utils.h5modules.saving import H5Saver
43
- from pymodaq.utils.h5modules import module_saving, data_saving
44
- from pymodaq.utils.data import DataToExport, DataActuator
41
+ from pymodaq.utils.h5modules import module_saving
42
+ from pymodaq.utils.scanner.scan_selector import ScanSelector, SelectorItem
43
+ from pymodaq.utils.data import DataActuator
45
44
 
46
45
 
47
46
  if TYPE_CHECKING:
@@ -54,6 +53,11 @@ logger = set_logger(get_module_name(__file__))
54
53
  SHOW_POPUPS = config('scan', 'show_popups')
55
54
 
56
55
 
56
+ class DAQ_ScanException(Exception):
57
+ """Raised when an error occur within the DAQScan"""
58
+ pass
59
+
60
+
57
61
  class ScanDataTemp:
58
62
  """Convenience class to hold temporary data to be plotted in the live plots"""
59
63
  def __init__(self, scan_index: int, indexes: Tuple[int], data: data_mod.DataToExport):
@@ -589,7 +593,7 @@ class DAQScan(QObject, ParameterManager):
589
593
  positions = [posx, posy]
590
594
  positions = positions[:self.scanner.n_axes]
591
595
  actuators = self.modules_manager.actuators
592
- dte = DataToExport(name="move_at")
596
+ dte = data_mod.DataToExport(name="move_at")
593
597
  for ind, pos in enumerate(positions):
594
598
  dte.append(DataActuator(actuators[ind].title, data=float(pos)))
595
599
 
@@ -745,7 +749,8 @@ class DAQScan(QObject, ParameterManager):
745
749
 
746
750
  def set_scan(self, scan=None) -> bool:
747
751
  """
748
- Sets the current scan given the selected settings. Makes some checks, increments the h5 file scans.
752
+ Sets the current scan given the selected settings. Makes some checks,
753
+ increments the h5 file scans.
749
754
  In case the dialog is cancelled, return False and aborts the scan
750
755
  """
751
756
  try:
@@ -755,22 +760,25 @@ class DAQScan(QObject, ParameterManager):
755
760
 
756
761
  is_oversteps = self.scanner.set_scan()
757
762
  if is_oversteps:
758
- messagebox(text=f"An error occurred when establishing the scan steps. Actual settings "
759
- f"gives approximately {int(self.scanner.n_steps)} steps."
760
- f" Please check the steps number "
761
- f"limit in the config file ({config['scan']['steps_limit']}) or modify"
762
- f" your scan settings.")
763
+ messagebox(
764
+ text=f"An error occurred when establishing the scan steps. Actual settings "
765
+ f"gives approximately {int(self.scanner.n_steps)} steps."
766
+ f" Please check the steps number "
767
+ f"limit in the config file ({config['scan']['steps_limit']}) or modify"
768
+ f" your scan settings.")
763
769
 
764
770
  if self.modules_manager.Nactuators != self.scanner.n_axes:
765
- messagebox(text="There are not enough or too much selected move modules for this scan")
771
+ messagebox(
772
+ text="There are not enough or too much selected move modules for this scan")
766
773
  return False
767
774
 
768
775
  if self.scanner.scan_sub_type == 'Adaptive':
769
776
  #todo include this in scanners objects for the adaptive scanners
770
777
  if len(self.modules_manager.get_selected_probed_data('0D')) == 0:
771
- messagebox(text="In adaptive mode, you have to pick a 0D signal from which the algorithm will"
772
- " determine the next positions to scan, see 'probe_data' in the modules selector"
773
- " panel")
778
+ messagebox(
779
+ text="In adaptive mode, you have to pick a 0D signal from which the "
780
+ "algorithm will determine the next positions to scan, see 'probe_data'"
781
+ " in the modules selector panel")
774
782
  return False
775
783
 
776
784
  self.ui.n_scan_steps = self.scanner.n_steps
@@ -778,11 +786,11 @@ class DAQScan(QObject, ParameterManager):
778
786
  # check if the modules are initialized
779
787
  for module in self.modules_manager.actuators:
780
788
  if not module.initialized_state:
781
- raise exceptions.DAQ_ScanException('module ' + module.title + " is not initialized")
789
+ raise DAQ_ScanException('module ' + module.title + " is not initialized")
782
790
 
783
791
  for module in self.modules_manager.detectors:
784
792
  if not module.initialized_state:
785
- raise exceptions.DAQ_ScanException('module ' + module.title + " is not initialized")
793
+ raise DAQ_ScanException('module ' + module.title + " is not initialized")
786
794
 
787
795
  self.ui.enable_start_stop(True)
788
796
  return True
@@ -1166,7 +1174,7 @@ class DAQScanAcquisition(QObject):
1166
1174
 
1167
1175
 
1168
1176
  def main():
1169
- from pymodaq.utils.gui_utils.utils import mkQApp
1177
+ from pymodaq_gui.utils.utils import mkQApp
1170
1178
  from pymodaq.utils.gui_utils.loader_utils import load_dashboard_with_preset
1171
1179
 
1172
1180
  app = mkQApp('DAQScan')