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
File without changes
@@ -1,7 +0,0 @@
1
- Icon Credits
2
- ############
3
-
4
-
5
- * target.png: "Target Flat Icon.svg de Wikimedia Commons par Videoplasty.com, CC-BY-SA 4.0"
6
- https://fr.wikipedia.org/wiki/Fichier:Target_Flat_Icon.svg
7
- * algo.png: <a href="https://www.flaticon.com/fr/icones-gratuites/algorithme" title="algorithme icônes">Algorithme icônes créées par phatplus - Flaticon</a>
@@ -1,142 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
- sodipodi:docname="icons.svg"
11
- inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
12
- id="svg8"
13
- version="1.1"
14
- viewBox="0 0 210 297"
15
- height="297mm"
16
- width="210mm">
17
- <defs
18
- id="defs2" />
19
- <sodipodi:namedview
20
- inkscape:window-maximized="1"
21
- inkscape:window-y="-8"
22
- inkscape:window-x="1912"
23
- inkscape:window-height="1017"
24
- inkscape:window-width="1920"
25
- showgrid="false"
26
- inkscape:document-rotation="0"
27
- inkscape:current-layer="layer1"
28
- inkscape:document-units="mm"
29
- inkscape:cy="251.2671"
30
- inkscape:cx="161.985"
31
- inkscape:zoom="2.8"
32
- inkscape:pageshadow="2"
33
- inkscape:pageopacity="0.0"
34
- borderopacity="1.0"
35
- bordercolor="#666666"
36
- pagecolor="#ffffff"
37
- id="base" />
38
- <metadata
39
- id="metadata5">
40
- <rdf:RDF>
41
- <cc:Work
42
- rdf:about="">
43
- <dc:format>image/svg+xml</dc:format>
44
- <dc:type
45
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
- <dc:title></dc:title>
47
- </cc:Work>
48
- </rdf:RDF>
49
- </metadata>
50
- <g
51
- id="layer1"
52
- inkscape:groupmode="layer"
53
- inkscape:label="Calque 1">
54
- <rect
55
- inkscape:export-ydpi="300"
56
- inkscape:export-xdpi="300"
57
- y="18.174328"
58
- x="18.174328"
59
- height="10.958051"
60
- width="10.958051"
61
- id="rect833"
62
- style="fill:#ff1c00;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;paint-order:fill markers stroke;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
63
- <rect
64
- inkscape:export-ydpi="300"
65
- inkscape:export-xdpi="300"
66
- style="fill:#ff1c00;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
67
- id="rect833-2"
68
- width="10.958051"
69
- height="10.958051"
70
- x="22.851545"
71
- y="20.446119" />
72
- <rect
73
- inkscape:export-ydpi="300"
74
- inkscape:export-xdpi="300"
75
- style="fill:#ff1c00;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
76
- id="rect833-1"
77
- width="10.958051"
78
- height="10.958051"
79
- x="28.464205"
80
- y="22.317005" />
81
- <path
82
- inkscape:export-ydpi="300"
83
- inkscape:export-xdpi="300"
84
- inkscape:export-filename="C:\Users\weber\Labo\Programmes Python\PyMoDAQ_Git\pymodaq\src\pymodaq\resources\QtDesigner_Ressources\Icon_Library\run_all.png"
85
- transform="matrix(1.3430998,0,0,1,-6.6389431,1.2737737e-6)"
86
- inkscape:transform-center-x="-2.441257"
87
- d="m 19.34992,58.681279 0,-12.592905 10.905775,6.296453 z"
88
- inkscape:randomized="0"
89
- inkscape:rounded="0"
90
- inkscape:flatsided="true"
91
- sodipodi:arg2="3.1415927"
92
- sodipodi:arg1="2.0943951"
93
- sodipodi:r2="3.6352587"
94
- sodipodi:r1="7.2705169"
95
- sodipodi:cy="52.384827"
96
- sodipodi:cx="22.985178"
97
- sodipodi:sides="3"
98
- id="path856"
99
- style="fill:#16ff00;fill-opacity:1;stroke:#000000;stroke-width:0.862871;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
100
- sodipodi:type="star" />
101
- <path
102
- inkscape:export-ydpi="300"
103
- inkscape:export-xdpi="300"
104
- inkscape:export-filename="C:\Users\weber\Labo\Programmes Python\PyMoDAQ_Git\pymodaq\src\pymodaq\resources\QtDesigner_Ressources\Icon_Library\run_all.png"
105
- sodipodi:type="star"
106
- style="fill:#16ff00;fill-opacity:1;stroke:#000000;stroke-width:0.862871;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
107
- id="path856-6"
108
- sodipodi:sides="3"
109
- sodipodi:cx="22.985178"
110
- sodipodi:cy="52.384827"
111
- sodipodi:r1="7.2705169"
112
- sodipodi:r2="3.6352587"
113
- sodipodi:arg1="2.0943951"
114
- sodipodi:arg2="3.1415927"
115
- inkscape:flatsided="true"
116
- inkscape:rounded="0"
117
- inkscape:randomized="0"
118
- d="m 19.34992,58.681279 0,-12.592905 10.905775,6.296453 z"
119
- inkscape:transform-center-x="-2.441257"
120
- transform="matrix(1.3430998,0,0,1,-3.817297,2.8172591)" />
121
- <path
122
- inkscape:export-ydpi="300"
123
- inkscape:export-xdpi="300"
124
- inkscape:export-filename="C:\Users\weber\Labo\Programmes Python\PyMoDAQ_Git\pymodaq\src\pymodaq\resources\QtDesigner_Ressources\Icon_Library\run_all.png"
125
- sodipodi:type="star"
126
- style="fill:#16ff00;fill-opacity:1;stroke:#000000;stroke-width:0.862871;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
127
- id="path856-4"
128
- sodipodi:sides="3"
129
- sodipodi:cx="22.985178"
130
- sodipodi:cy="52.384827"
131
- sodipodi:r1="7.2705169"
132
- sodipodi:r2="3.6352587"
133
- sodipodi:arg1="2.0943951"
134
- sodipodi:arg2="3.1415927"
135
- inkscape:flatsided="true"
136
- inkscape:rounded="0"
137
- inkscape:randomized="0"
138
- d="m 19.34992,58.681279 0,-12.592905 10.905775,6.296453 z"
139
- inkscape:transform-center-x="-2.441257"
140
- transform="matrix(1.3430998,0,0,1,-0.99565079,5.6345168)" />
141
- </g>
142
- </svg>
pymodaq/resources/VERSION DELETED
@@ -1,2 +0,0 @@
1
- version = '4.4.7'
2
-
@@ -1,96 +0,0 @@
1
- #this is the configuration file of PyMoDAQ
2
- [style]
3
- darkstyle = true
4
- syntax_highlighting = 'github-dark'
5
- language = "English"
6
- country = "UnitedStates"
7
-
8
- [qtbackend]
9
- backends = [ "pyqt5", "pyqt6", "pyside2", "pyside6",]
10
- backend = "pyqt5"
11
-
12
-
13
- [data_saving]
14
- [data_saving.h5file]
15
- save_path = "C:\\Data" #base path where data are automatically saved
16
- compression_level = 5 # for hdf5 files between 0(min) and 9 (max)
17
-
18
- [data_saving.hsds] #hsds connection option (https://www.hdfgroup.org/solutions/highly-scalable-data-service-hsds/)
19
- #to save data in pymodaq using hpyd backend towards distant server or cloud (mimicking hdf5 files)
20
- root_url = "http://hsds.sebastienweber.fr"
21
- username = "pymodaq_user"
22
- pwd = "pymodaq"
23
-
24
- [data_saving.data_type]
25
- dynamic = 'float64' # choose from below. This will force the datatype to be saved to
26
- dynamics = ['uint8', 'int8', 'uint16', 'int16', 'uint32', 'int32', 'uint64', 'int64', 'float64']
27
-
28
-
29
- [general]
30
- debug_level = "INFO" #either "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"
31
- debug_levels = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
32
- check_version = true # automatically check version at startup (or not if False)
33
- message_status_persistence = 1000 # ms
34
-
35
- hdf5_backend = 'tables' # could be among ['tables', 'h5py', 'h5pyd'], mostly tested with tables
36
-
37
- [user]
38
- name = "User name" # default name used as author in the hdf5 saving files
39
-
40
-
41
- [plotting]
42
- backend = 'matplotlib' # either 'matplotlib' or 'qt' or any other custom backend
43
- plot_colors = [[255, 255, 255], [255, 0, 0], [0, 255, 0], [0, 0, 255], [14, 207, 189], [207, 14, 166], [207, 204, 14]]
44
-
45
- [network]
46
- [network.logging]
47
- [network.logging.user]
48
- username = "pymodaq_user"
49
- pwd = "pymodaq"
50
-
51
- [network.logging.sql] #location of the postgresql database server and options where the DAQ_Logger will log data
52
- ip = "10.47.3.22"
53
- port = 5432
54
-
55
- [network.tcp-server]
56
- ip = "10.47.0.39"
57
- port = 6341
58
-
59
- [network.leco-server]
60
- run_coordinator_at_startup = false
61
- host = "localhost"
62
- port = 12300 # pyleco default Coordinator port
63
-
64
- [presets]
65
- default_preset_for_scan = "preset_default"
66
- default_preset_for_logger = "preset_default"
67
- default_preset_for_pid = "beam_steering_mock"
68
-
69
- [actuator]
70
- epsilon_default = 1
71
- polling_interval_ms = 100 # ms Careful when using TCP/IP connection as you can saturate the connection with too much polling
72
- polling_timeout_s = 20 # s
73
- refresh_timeout_ms = 500 # ms
74
- timeout = 10000 # default duration in ms to wait for data to be acquirred
75
- siprefix = true # tell if printing of current value use a SI prefix or not (µ, m, k, M...)
76
- display_units = true # display units in the SpinBoxes
77
-
78
- [viewer]
79
- daq_type = 'DAQ0D' #either "DAQ0D", "DAQ1D", "DAQ2D", "DAQND"
80
- viewer_in_thread = true
81
- timeout = 10000 # default duration in ms to wait for data to be acquirred
82
- allow_settings_edition = false
83
-
84
- [scan]
85
- scan_in_thread = true
86
- show_popups = true
87
- default = "Scan2D"
88
- Naverage = 1 # minimum is 1
89
- steps_limit = 1000 # the limit of the number of steps you can set in a given scan
90
- sort1D = true
91
-
92
- [scan.timeflow]
93
- wait_time = 0
94
- wait_time_between = 0
95
- timeout = 10000 # in millisecond
96
-
Binary file
@@ -1,48 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- """
3
- Created the 21/11/2022
4
-
5
- @author: Sebastien Weber
6
-
7
- Introduce some nice ABCMeta class allowing that a particular attribute has been declared when instantiating
8
- See https://stackoverflow.com/a/50381071/8090831
9
- """
10
-
11
- from abc import ABCMeta as NativeABCMeta
12
- from abc import abstractmethod
13
- from typing import cast, Any, Callable, TypeVar
14
-
15
-
16
- R = TypeVar('R')
17
-
18
-
19
- class DummyAttribute:
20
- pass
21
-
22
-
23
- def abstract_attribute(obj: Callable[[Any], R] = None) -> R:
24
- _obj = cast(Any, obj)
25
- if obj is None:
26
- _obj = DummyAttribute()
27
- _obj.__is_abstract_attribute__ = True
28
- return cast(R, _obj)
29
-
30
-
31
- class ABCMeta(NativeABCMeta):
32
-
33
- def __call__(cls, *args, **kwargs):
34
- instance = NativeABCMeta.__call__(cls, *args, **kwargs)
35
- abstract_attributes = {
36
- name
37
- for name in dir(instance)
38
- if getattr(getattr(instance, name), '__is_abstract_attribute__', False)
39
- }
40
- if abstract_attributes:
41
- raise NotImplementedError(
42
- "Can't instantiate abstract class {} with"
43
- " abstract attributes: {}".format(
44
- cls.__name__,
45
- ', '.join(abstract_attributes)
46
- )
47
- )
48
- return instance
File without changes
File without changes
pymodaq/utils/factory.py DELETED
@@ -1,82 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- """
3
- Created the 04/11/2022
4
-
5
- @author: Sebastien Weber
6
- """
7
- from typing import Callable, Union
8
- from abc import ABCMeta, abstractmethod
9
-
10
- from pymodaq.utils.logger import set_logger, get_module_name
11
-
12
- logger = set_logger(get_module_name(__file__))
13
-
14
-
15
- class BuilderBase(ABCMeta):
16
- """Abstract class defining an object/service builder with a callable interface accepting some arguments
17
-
18
- See https://realpython.com/factory-method-python/ for some details
19
-
20
- See Also
21
- --------
22
- pymodaq.post_treatment.process_1d_to_scalar
23
- """
24
- @abstractmethod
25
- def __call__(self, *args, **kwargs):
26
- pass
27
-
28
-
29
- class ObjectFactory(metaclass=ABCMeta):
30
- """Generic ObjectFactory with a decorator register to add object builders to the factory with a
31
- unique key identifier
32
-
33
- See https://realpython.com/factory-method-python/ for some details
34
-
35
- Examples
36
- --------
37
- @ObjectFactory.register('custom')
38
- def my_custom_builder():
39
- pass
40
-
41
- See Also
42
- --------
43
- pymodaq.post_treatment.process_1d_to_scalar.Data1DProcessorFactory
44
- """
45
- _builders = {}
46
-
47
- @classmethod
48
- def register(cls, key: str) -> Callable:
49
- def inner_wrapper(wrapped_class: Union[BuilderBase, Callable]) -> Callable:
50
- if cls.__name__ not in cls._builders:
51
- cls._builders[cls.__name__] = {}
52
- if key not in cls._builders[cls.__name__]:
53
- cls._builders[cls.__name__][key] = wrapped_class
54
- else:
55
- logger.warning(f'The {cls.__name__}/{key} builder is already registered. Replacing it')
56
- return wrapped_class
57
- return inner_wrapper
58
-
59
- @property
60
- def builders(self):
61
- return self._builders
62
-
63
- def keys_function(self, do_sort=True):
64
- if do_sort:
65
- return self.keys
66
- else:
67
- return list(self.builders[self.__class__.__name__].keys())
68
-
69
- @property
70
- def keys(self):
71
- return sorted(list(self.builders[self.__class__.__name__].keys()))
72
-
73
- @classmethod
74
- def create(cls, key, **kwargs):
75
- builder = cls._builders[cls.__name__].get(key)
76
- if not builder:
77
- raise ValueError(key)
78
- return builder(**kwargs)
79
-
80
- @classmethod
81
- def get_class(cls, key):
82
- return cls._builders[cls.__name__].get(key)
@@ -1,133 +0,0 @@
1
- from qtpy.QtCore import QObject, QLocale
2
- from pymodaq.utils.gui_utils.dock import DockArea
3
- from pymodaq.utils.managers.action_manager import ActionManager
4
- from pymodaq.utils.managers.parameter_manager import ParameterManager
5
- from pyqtgraph.dockarea import DockArea
6
- from qtpy import QtCore, QtWidgets
7
- from typing import Union, TYPE_CHECKING
8
- from pymodaq.utils.managers.modules_manager import ModulesManager
9
-
10
- if TYPE_CHECKING:
11
- from pymodaq.dashboard import DashBoard
12
-
13
-
14
- class CustomApp(QObject, ActionManager, ParameterManager):
15
- """Base Class to ease the implementation of User Interfaces
16
-
17
- Inherits the MixIns ActionManager and ParameterManager classes. You have to subclass some methods and make
18
- concrete implementation of a given number of methods:
19
-
20
- * setup_actions: mandatory, see :class:`pymodaq.utils.managers.action_manager.ActionManager`
21
- * value_changed: non mandatory, see :class:`pymodaq.utils.managers.parameter_manager.ParameterManager`
22
- * child_added: non mandatory, see :class:`pymodaq.utils.managers.parameter_manager.ParameterManager`
23
- * param_deleted: non mandatory, see :class:`pymodaq.utils.managers.parameter_manager.ParameterManager`
24
- * setup_docks: mandatory
25
- * setup_menu: non mandatory
26
- * connect_things: mandatory
27
-
28
- Parameters
29
- ----------
30
- parent: DockArea or QtWidget
31
- dashboard: DashBoard, optional
32
-
33
- See Also
34
- --------
35
- :class:`pymodaq.utils.managers.action_manager.ActionManager`,
36
- :class:`pymodaq.utils.managers.parameter_manager.ParameterManager`,
37
- :class:`pymodaq.utils.managers.modules_manager.ModulesManager`,
38
- :class:`pymodaq.dashboard.DashBoard`
39
- """
40
-
41
- log_signal = QtCore.Signal(str)
42
- params = []
43
-
44
- def __init__(self, parent: Union[DockArea, QtWidgets.QWidget], dashboard: 'DashBoard'=None):
45
- QObject.__init__(self)
46
- ActionManager.__init__(self)
47
- ParameterManager.__init__(self)
48
- QLocale.setDefault(QLocale(QLocale.English, QLocale.UnitedStates))
49
-
50
- if not isinstance(parent, DockArea):
51
- if not isinstance(parent, QtWidgets.QWidget):
52
- raise Exception('no valid parent container, expected a DockArea or a least a QWidget')
53
-
54
- self.parent = parent
55
- if isinstance(parent, DockArea):
56
- self.dockarea: DockArea = parent
57
- self.mainwindow: QtWidgets.QMainWindow = parent.parent()
58
- else:
59
- self.dockarea: DockArea = None
60
- self.mainwindow: QtWidgets.QMainWindow = None
61
- self.dashboard = dashboard
62
-
63
- self.docks = dict([])
64
- self.statusbar = None
65
- self._toolbar = QtWidgets.QToolBar()
66
-
67
- if self.mainwindow is not None:
68
- self.mainwindow.addToolBar(self._toolbar)
69
- self.statusbar = self.mainwindow.statusBar()
70
-
71
- self.set_toolbar(self._toolbar)
72
-
73
- def setup_ui(self):
74
- self.setup_docks()
75
-
76
- self.setup_actions() # see ActionManager MixIn class
77
-
78
- self.setup_menu()
79
-
80
- self.connect_things()
81
-
82
- def setup_docks(self):
83
- """Mandatory method to be subclassed to setup the docks layout
84
-
85
- Examples
86
- --------
87
- >>>self.docks['ADock'] = gutils.Dock('ADock name')
88
- >>>self.dockarea.addDock(self.docks['ADock'])
89
- >>>self.docks['AnotherDock'] = gutils.Dock('AnotherDock name')
90
- >>>self.dockarea.addDock(self.docks['AnotherDock'''], 'bottom', self.docks['ADock'])
91
-
92
- See Also
93
- --------
94
- pyqtgraph.dockarea.Dock
95
- """
96
- raise NotImplementedError
97
-
98
- def setup_menu(self):
99
- """Non mandatory method to be subclassed in order to create a menubar
100
-
101
- create menu for actions contained into the self._actions, for instance:
102
-
103
- Examples
104
- --------
105
- >>>file_menu = self._menubar.addMenu('File')
106
- >>>self.affect_to('load', file_menu)
107
- >>>self.affect_to('save', file_menu)
108
-
109
- >>>file_menu.addSeparator()
110
- >>>self.affect_to('quit', file_menu)
111
-
112
- See Also
113
- --------
114
- pymodaq.utils.managers.action_manager.ActionManager
115
- """
116
- pass
117
-
118
- def connect_things(self):
119
- """Connect actions and/or other widgets signal to methods"""
120
- raise NotImplementedError
121
-
122
- @property
123
- def modules_manager(self) -> ModulesManager:
124
- """useful tool to interact with DAQ_Moves and DAQ_Viewers
125
-
126
- Will be available if a DashBoard has been set
127
-
128
- Returns
129
- -------
130
- ModulesManager
131
- """
132
- if self.dashboard is not None:
133
- return self.dashboard.modules_manager
@@ -1,107 +0,0 @@
1
- import warnings
2
-
3
- from qtpy.QtCore import Signal, QObject
4
- from qtpy import QtGui, QtCore, QtWidgets
5
- from pyqtgraph.dockarea import Dock, DockArea, DockLabel
6
- from pyqtgraph.dockarea.DockArea import TempAreaWindow
7
- from pyqtgraph.widgets.VerticalLabel import VerticalLabel
8
-
9
-
10
- class Dock(Dock):
11
- dock_focused = Signal(str)
12
- def __init__(self, name, *args, fontSize='20px', **kwargs):
13
- kwargs['fontSize'] = fontSize
14
- super().__init__(name, *args, **kwargs)
15
-
16
- def removeWidgets(self):
17
- for widget in self.widgets:
18
- self.layout.removeWidget(widget)
19
- widget.close()
20
- self.widgets = []
21
-
22
- def setOrientation(self, o='auto', force=False):
23
- """
24
- Sets the orientation of the title bar for this Dock.
25
- Must be one of 'auto', 'horizontal', or 'vertical'.
26
- By default ('auto'), the orientation is determined
27
- based on the aspect ratio of the Dock.
28
- """
29
- if self.container() is not None: # patch here for when Dock is closed and when the QApplication
30
- # event loop is processed
31
- if o == 'auto' and self.autoOrient:
32
- if self.container().type() == 'tab':
33
- o = 'horizontal'
34
- elif self.width() > self.height() * 1.5:
35
- o = 'vertical'
36
- else:
37
- o = 'horizontal'
38
- if force or self.orientation != o:
39
- self.orientation = o
40
- self.label.setOrientation(o)
41
- self.updateStyle()
42
-
43
-
44
- class DockArea(DockArea, QObject):
45
- """
46
- Custom Dockarea class subclassing from the standard DockArea class and QObject so it can emit a signal when docks
47
- are moved around (one subclassed method: moveDock)
48
- See Also
49
- --------
50
- pyqtgraph.dockarea
51
- """
52
- dock_signal = Signal()
53
-
54
- def __init__(self, parent=None, temporary=False, home=None):
55
- super(DockArea, self).__init__(parent, temporary, home)
56
-
57
- def moveDock(self, dock, position, neighbor):
58
- """
59
- Move an existing Dock to a new location.
60
- """
61
- # Moving to the edge of a tabbed dock causes a drop outside the tab box
62
- if position in ['left', 'right', 'top',
63
- 'bottom'] and neighbor is not None and neighbor.container() is not None and neighbor.container().type() == 'tab':
64
- neighbor = neighbor.container()
65
- self.addDock(dock, position, neighbor)
66
- self.dock_signal.emit()
67
-
68
- def addTempArea(self):
69
- if self.home is None:
70
- area = DockArea(temporary=True, home=self)
71
- self.tempAreas.append(area)
72
- win = TempAreaWindow(area)
73
- area.win = win
74
- win.show()
75
- else:
76
- area = self.home.addTempArea()
77
- # print "added temp area", area, area.window()
78
- return area
79
-
80
-
81
- if __name__ == '__main__':
82
- import sys
83
- from pymodaq.utils.parameter import ParameterTree
84
- app = QtWidgets.QApplication(sys.argv)
85
- import qdarkstyle
86
- app.setStyleSheet(qdarkstyle.load_stylesheet(qdarkstyle.DarkPalette))
87
-
88
- labelv = DockLabel('mysuperlabel', fontSize='25px')
89
- docky = Dock('MysuperDockLogger', fontSize='30px')
90
- dockx = Dock('MysuperDockLoggerx', fontSize='30px')
91
- area = DockArea()
92
- area.addDock(docky)
93
- area.addDock(dockx)
94
- dockx.addWidget(ParameterTree())
95
- labelv.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop | QtCore.Qt.AlignmentFlag.AlignHCenter)
96
- f = labelv.font()
97
- f.setPixelSize(25)
98
- labelv.setFont(f)
99
- docky.label.setFont(f)
100
- labelv.show()
101
- area.show()
102
- QtWidgets.QApplication.processEvents()
103
- print(f'labelv size hint: {labelv.sizeHint()}')
104
- print(f'labelv size: {labelv.size()}')
105
- print(f'labelv margins: {labelv.contentsMargins().top()}, {labelv.contentsMargins().bottom()}')
106
-
107
- sys.exit(app.exec())