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
@@ -10,15 +10,17 @@ from typing import List, TYPE_CHECKING
10
10
  from qtpy import QtWidgets, QtCore
11
11
  from qtpy.QtCore import Signal
12
12
 
13
- from pymodaq.utils.gui_utils import CustomApp
14
- from pymodaq.utils.logger import set_logger, get_module_name
15
- from pymodaq.utils.config import Config, get_set_preset_path
16
- from pymodaq.utils.gui_utils import DockArea, Dock
17
- from pymodaq.utils.gui_utils.widgets.spinbox import QSpinBox_ro
18
- from pymodaq.utils.parameter.pymodaq_ptypes.led import QLED
19
- from pymodaq.utils.plotting.data_viewers.viewer import ViewerDispatcher
20
- from pymodaq.utils.plotting.data_viewers import ViewersEnum
21
- from pymodaq.utils.daq_utils import ThreadCommand
13
+ from pymodaq_utils.utils import ThreadCommand
14
+ from pymodaq_utils.logger import set_logger, get_module_name
15
+ from pymodaq_utils.config import Config
16
+
17
+ from pymodaq_gui.utils import CustomApp
18
+ from pymodaq_gui.utils import DockArea, Dock
19
+ from pymodaq_gui.utils.widgets.spinbox import QSpinBox_ro
20
+ from pymodaq_gui.utils.widgets import QLED
21
+ from pymodaq_gui.plotting.data_viewers.viewer import ViewerDispatcher
22
+ from pymodaq_gui.plotting.data_viewers import ViewersEnum
23
+
22
24
 
23
25
  if TYPE_CHECKING:
24
26
  from pymodaq.utils.parameter import ParameterTree
@@ -36,9 +38,10 @@ class DAQScanUI(CustomApp, ViewerDispatcher):
36
38
  def __init__(self, parent):
37
39
  CustomApp.__init__(self, parent)
38
40
  self.setup_docks()
39
- ViewerDispatcher.__init__(self, self.dockarea, title='Scanner', next_to_dock=self.dock_command)
41
+ ViewerDispatcher.__init__(self, self.dockarea, title='Scanner',
42
+ next_to_dock=self.dock_command)
40
43
 
41
- self.setup_menu()
44
+ self.setup_menu(self._menubar)
42
45
  self.setup_actions()
43
46
  self.connect_things()
44
47
 
@@ -81,13 +84,10 @@ class DAQScanUI(CustomApp, ViewerDispatcher):
81
84
  self.connect_action('navigator', lambda: self.command_sig.emit(ThreadCommand('navigator')))
82
85
  self.connect_action('batch', lambda: self.command_sig.emit(ThreadCommand('batch')))
83
86
 
84
- def setup_menu(self):
85
- self.menubar = QtWidgets.QMenuBar()
86
- self.menubar.setMaximumHeight(30)
87
- self.mainwindow.setMenuBar(self.menubar)
88
- self.file_menu = self.menubar.addMenu('File')
89
- self._extensions_menu = self.menubar.addMenu('Extensions')
90
- self.action_menu = self.menubar.addMenu('Actions')
87
+ def setup_menu(self, menubar: QtWidgets.QMenuBar = None):
88
+ self.file_menu = menubar.addMenu('File')
89
+ self._extensions_menu = menubar.addMenu('Extensions')
90
+ self.action_menu = menubar.addMenu('Actions')
91
91
 
92
92
  def setup_docks(self):
93
93
  self.dock_command = Dock('Scan Command')
@@ -4,16 +4,15 @@ import sys
4
4
  import os
5
5
  from qtpy import QtWidgets
6
6
  os.environ["HDF5_USE_FILE_LOCKING"] = "FALSE"
7
- from pymodaq.utils.h5modules.browsing import H5Browser
7
+ from pymodaq_gui.h5modules.browsing import H5Browser
8
8
  from pymodaq.utils.config import Config
9
9
 
10
10
 
11
-
12
11
  config = Config()
13
12
 
14
13
 
15
14
  def main(h5file_path: Path = None):
16
- from pymodaq.utils.gui_utils.utils import mkQApp
15
+ from pymodaq_gui.utils.utils import mkQApp
17
16
  import sys
18
17
  app = mkQApp('H5Browser')
19
18
 
@@ -1,14 +1,16 @@
1
1
  import importlib
2
2
  from pathlib import Path
3
3
 
4
- from pymodaq.utils.logger import set_logger
4
+ from pymodaq_utils.logger import set_logger, get_module_name
5
5
 
6
6
  logger = set_logger('move_plugins', add_to_console=False)
7
7
 
8
+
8
9
  for path in Path(__file__).parent.iterdir():
9
10
  try:
10
11
  if '__init__' not in str(path):
11
12
  importlib.import_module('.' + path.stem, __package__)
12
13
  except Exception as e:
13
- logger.warning("{:} plugin couldn't be loaded due to some missing packages or errors: {:}".format(path.stem, str(e)))
14
+ logger.warning("{:} plugin couldn't be loaded due to some missing packages or errors:"
15
+ " {:}".format(path.stem, str(e)))
14
16
  pass
@@ -11,8 +11,8 @@ class DAQ_Move_PID(DAQ_Move_base):
11
11
  """
12
12
  _controller_units = ''
13
13
  data_actuator_type = DataActuatorType.DataActuator
14
- is_multiaxes = True
15
- stage_names = []
14
+ is_multiaxes = False
15
+ stage_names = ['',]
16
16
 
17
17
  params = comon_parameters_fun(is_multiaxes, stage_names, master=False)
18
18
 
@@ -36,7 +36,7 @@ class DAQ_Move_PID(DAQ_Move_base):
36
36
  def ini_stage(self, controller=None):
37
37
  """
38
38
  """
39
- self.ini_stage_init(controller, None)
39
+ self.controller = controller
40
40
 
41
41
  self.controller.curr_point.connect(self.update_position)
42
42
 
@@ -1,28 +1,37 @@
1
1
  import time
2
2
  from functools import partial # needed for the button to sync setpoint with currpoint
3
- from typing import Dict
3
+ from typing import Dict, List, TYPE_CHECKING
4
4
 
5
5
  import numpy as np
6
6
 
7
- from pyqtgraph.widgets.SpinBox import SpinBox
8
7
  from qtpy import QtGui, QtWidgets
9
8
  from qtpy.QtCore import QObject, Slot, QThread, Signal
10
9
 
11
10
  from simple_pid import PID
12
11
 
13
- from pymodaq.utils.parameter import utils as putils
14
- from pymodaq.utils.parameter import Parameter, ParameterTree
15
- from pymodaq.utils.logger import set_logger, get_module_name
16
- from pymodaq.utils.daq_utils import ThreadCommand, find_dict_in_list_from_key_val
12
+ from pymodaq_utils.logger import set_logger, get_module_name
13
+ from pymodaq_utils.utils import ThreadCommand, find_dict_in_list_from_key_val
14
+ from pymodaq.utils.exceptions import DetectorError, ActuatorError, PIDError
15
+
16
+ from pymodaq_gui.parameter import utils as putils
17
+ from pymodaq_gui.parameter import Parameter, ParameterTree
18
+ from pymodaq_gui.plotting.data_viewers.viewer0D import Viewer0D
19
+ from pymodaq_gui.utils.widgets import QLED, LabelWithFont, SpinBox
20
+ from pymodaq_gui.utils.dock import DockArea, Dock
21
+
22
+
23
+ from pymodaq_data.data import DataToExport, DataCalculated, DataRaw
24
+ from pymodaq_utils.config import Config
25
+
17
26
  from pymodaq.utils.managers.modules_manager import ModulesManager
18
- from pymodaq.utils.plotting.data_viewers.viewer0D import Viewer0D
19
- from pymodaq.utils.gui_utils.widgets import QLED
20
27
  from pymodaq.extensions.pid.utils import get_models
21
- from pymodaq.utils.gui_utils.dock import DockArea, Dock
22
- from pymodaq.utils.gui_utils.custom_app import CustomApp
23
- from pymodaq.utils.gui_utils.widgets.label import LabelWithFont
24
- from pymodaq.utils.data import DataToExport, DataCalculated, DataActuator, DataRaw, DataToActuators
25
- from pymodaq.utils.config import Config
28
+ from pymodaq.utils.data import DataActuator, DataToActuators
29
+ from pymodaq.extensions.pid.actuator_controller import PIDController
30
+ from pymodaq.extensions.utils import CustomExt
31
+
32
+ if TYPE_CHECKING:
33
+ from pymodaq.control_modules.daq_move import DAQ_Move
34
+
26
35
 
27
36
  config = Config()
28
37
  logger = set_logger(get_module_name(__file__))
@@ -37,7 +46,7 @@ def convert_output_limits(lim_min=-10., min_status=False, lim_max=10., max_statu
37
46
  return output
38
47
 
39
48
 
40
- class DAQ_PID(CustomApp):
49
+ class DAQ_PID(CustomExt):
41
50
  """
42
51
  """
43
52
  command_pid = Signal(ThreadCommand)
@@ -169,7 +178,7 @@ class DAQ_PID(CustomApp):
169
178
  self.set_action_enabled('run', enable)
170
179
  self.set_action_enabled('pause', enable)
171
180
 
172
- def setup_menu(self):
181
+ def setup_menu(self, menubar: QtWidgets.QMenuBar = None):
173
182
  '''
174
183
  to be subclassed
175
184
  create menu for actions contained into the self.actions_manager, for instance:
@@ -240,6 +249,7 @@ class DAQ_PID(CustomApp):
240
249
  logger.debug('connecting actions and other')
241
250
  self.connect_action('quit', self.quit_fun, )
242
251
  self.connect_action('ini_model', self.ini_model)
252
+ self.connect_action('create_setp_actuators', self.create_setp_actuators)
243
253
  self.connect_action('ini_pid', self.ini_PID)
244
254
  self.connect_action('run', self.run_PID)
245
255
  self.connect_action('pause', self.pause_PID)
@@ -251,12 +261,21 @@ class DAQ_PID(CustomApp):
251
261
  self.add_widget('model_label', QtWidgets.QLabel, 'Init Model:')
252
262
  self.add_action('ini_model', 'Init Model', 'ini', tip='Initialize the selected model: algo/data conversion')
253
263
  self.add_widget('model_led', QLED, toolbar=self.toolbar)
264
+
265
+ self.add_action('create_setp_actuators', 'Create SetPoint Actuators', 'Add_Step',
266
+ tip='Create a DAQ_Move Control Module for each SetPoint allowing to'
267
+ 'control them from the DashBoard, therefore within other extensions')
268
+
254
269
  self.add_widget('model_label', QtWidgets.QLabel, 'Init PID Runner:')
255
- self.add_action('ini_pid', 'Init the PID loop', 'ini', tip='Init the PID thread', checkable=True)
270
+ self.add_action('ini_pid', 'Init the PID loop', 'ini', tip='Init the PID thread',
271
+ checkable=True)
256
272
  self.add_widget('pid_led', QLED, toolbar=self.toolbar)
257
- self.add_action('run', 'Run The PID loop', 'run2', tip='run or stop the pid loop', checkable=True)
258
- self.add_action('pause', 'Pause the PID loop', 'pause', tip='Pause the PID loop', checkable=True)
273
+ self.add_action('run', 'Run The PID loop', 'run2', tip='run or stop the pid loop',
274
+ checkable=True)
275
+ self.add_action('pause', 'Pause the PID loop', 'pause', tip='Pause the PID loop',
276
+ checkable=True)
259
277
  self.set_action_checked('pause', True)
278
+ self.set_action_enabled('create_setp_actuators', False)
260
279
  logger.debug('actions set')
261
280
 
262
281
  def setup_docks(self):
@@ -296,6 +315,17 @@ class DAQ_PID(CustomApp):
296
315
 
297
316
  self.dock_pid.addWidget(widget)
298
317
 
318
+ def create_setp_actuators(self):
319
+ # Now that we have the module manager, load PID if it is checked in managers
320
+ try:
321
+ for setp in self.model_class.setpoints_names:
322
+ self.dashboard.add_move_from_extension(setp, 'PID', PIDController(self))
323
+ self.set_action_enabled('create_setp_actuators', False)
324
+
325
+ except Exception as e:
326
+ raise PIDError('Could not load the PID extension and create setpoints actuators'
327
+ f'{str(e)}')
328
+
299
329
  def get_set_model_params(self, model_name):
300
330
  self.settings.child('models', 'model_params').clearChildren()
301
331
  models = get_models()
@@ -354,6 +384,7 @@ class DAQ_PID(CustomApp):
354
384
  self.enable_controls_pid(True)
355
385
  self.get_action('model_led').set_as_true()
356
386
  self.set_action_enabled('ini_model', False)
387
+ self.set_action_enabled('create_setp_actuators', True)
357
388
 
358
389
  except Exception as e:
359
390
  logger.exception(str(e))
@@ -642,38 +673,16 @@ class PIDRunner(QObject):
642
673
 
643
674
 
644
675
  if __name__ == '__main__':
645
- import sys
646
- from pathlib import Path
647
- from pymodaq.utils.daq_utils import get_set_preset_path
648
-
649
- app = QtWidgets.QApplication(sys.argv)
650
- if config['style']['darkstyle']:
651
- import qdarkstyle
652
- app.setStyleSheet(qdarkstyle.load_stylesheet())
653
-
654
- from pymodaq.dashboard import DashBoard
655
-
656
- win = QtWidgets.QMainWindow()
657
- area = DockArea()
658
- win.setCentralWidget(area)
659
- win.resize(1000, 500)
660
- win.setWindowTitle('PyMoDAQ Dashboard')
661
-
662
- dashboard = DashBoard(area)
663
- pid = None
664
- file = Path(get_set_preset_path()).joinpath(f"{config('presets', 'default_preset_for_pid')}.xml")
665
- if file.exists():
666
- dashboard.set_preset_mode(file)
667
- pid = dashboard.load_pid_module()
668
- else:
669
- msgBox = QtWidgets.QMessageBox()
670
- msgBox.setText(f"The default file specified in the configuration file does not exists!\n"
671
- f"{file}\n"
672
- f"Impossible to load the DAQ_PID Module")
673
- msgBox.setStandardButtons(msgBox.Ok)
674
- ret = msgBox.exec()
675
-
676
- sys.exit(app.exec_())
676
+ from pymodaq_gui.utils.utils import mkQApp
677
+ from pymodaq.utils.gui_utils.loader_utils import load_dashboard_with_preset
678
+
679
+ app = mkQApp('DAQ_PID')
680
+ preset_file_name = config('presets', f'default_preset_for_pid')
681
+
682
+ dashboard, extension, win = load_dashboard_with_preset(preset_file_name, 'DAQ_PID')
683
+
684
+ app.exec()
685
+
677
686
 
678
687
 
679
688
 
@@ -5,12 +5,17 @@ import warnings
5
5
  from pathlib import Path
6
6
  from typing import Union, List
7
7
 
8
- from pymodaq.utils.gui_utils.dock import DockArea
8
+ from pymodaq_utils.logger import get_module_name, set_logger
9
+ from pymodaq_utils.warnings import deprecation_msg
10
+ from pymodaq_utils.utils import find_dict_in_list_from_key_val, get_entrypoints
11
+
12
+ from pymodaq_gui.utils.dock import DockArea
13
+
14
+ from pymodaq_data.data import DataToExport
15
+
9
16
  from pymodaq.utils.daq_utils import get_plugins
10
- from pymodaq.utils.logger import get_module_name, set_logger
11
- from pymodaq.utils.daq_utils import find_dict_in_list_from_key_val, get_entrypoints
12
- from pymodaq.utils.data import DataToExport, DataCalculated, DataActuator, DataToActuators
13
- from pymodaq.utils.messenger import deprecation_msg
17
+ from pymodaq.utils.data import DataActuator, DataToActuators
18
+
14
19
 
15
20
  logger = set_logger(get_module_name(__file__))
16
21
 
@@ -8,12 +8,22 @@ import importlib
8
8
  from pathlib import Path
9
9
  import pkgutil
10
10
  import warnings
11
+ from typing import Union, TYPE_CHECKING
12
+
13
+ from qtpy import QtCore, QtWidgets
14
+
15
+ from pymodaq_gui.utils.dock import DockArea
16
+ from pymodaq_utils.utils import get_entrypoints
17
+ from pymodaq_utils import logger as logger_module
18
+ from pymodaq_gui.utils.custom_app import CustomApp
19
+
20
+ from pymodaq.utils.managers.modules_manager import ModulesManager
11
21
 
12
- from pymodaq.utils import logger as logger_module
13
- from pymodaq.utils.daq_utils import get_entrypoints
14
- from pymodaq.utils.data import DataToExport
15
22
  logger = logger_module.set_logger(logger_module.get_module_name(__file__))
16
23
 
24
+ if TYPE_CHECKING:
25
+ from pymodaq.dashboard import DashBoard
26
+
17
27
 
18
28
  def get_ext_modules(path: Path):
19
29
  modules = []
@@ -61,3 +71,23 @@ def get_extensions():
61
71
 
62
72
  return extension_import
63
73
 
74
+
75
+ class CustomExt(CustomApp):
76
+
77
+ def __init__(self, parent: Union[DockArea, QtWidgets.QWidget], dashboard: 'DashBoard'):
78
+ super().__init__(parent)
79
+
80
+ self.dashboard = dashboard
81
+
82
+ @property
83
+ def modules_manager(self) -> ModulesManager:
84
+ """useful tool to interact with DAQ_Moves and DAQ_Viewers
85
+
86
+ Will be available if a DashBoard has been set
87
+
88
+ Returns
89
+ -------
90
+ ModulesManager
91
+ """
92
+ if self.dashboard is not None:
93
+ return self.dashboard.modules_manager
@@ -10,14 +10,17 @@ from typing import List, Union, Callable, Iterable, Dict
10
10
 
11
11
  from qtpy import QtWidgets, QtCore
12
12
 
13
- from pymodaq.utils.data import DataToExport, DataFromPlugins, DataDim, enum_checker
14
- from pymodaq.utils.h5modules.data_saving import DataLoader
15
- from pymodaq.utils.h5modules.saving import H5Saver
16
- from pymodaq.utils.plotting.data_viewers.viewer import ViewerBase, ViewerDispatcher
17
- from pymodaq.utils.plotting.data_viewers import ViewersEnum, Viewer1D, Viewer2D, ViewerND
18
- from pymodaq.utils.gui_utils import Dock, DockArea
19
- from pymodaq.utils.logger import set_logger, get_module_name
13
+ from pymodaq_utils.logger import set_logger, get_module_name
20
14
 
15
+ from pymodaq_data.data import DataToExport, DataDim, enum_checker
16
+ from pymodaq_data.h5modules.data_saving import DataLoader
17
+
18
+ from pymodaq_gui.h5modules.saving import H5Saver
19
+ from pymodaq_gui.plotting.data_viewers.viewer import ViewerBase, ViewerDispatcher
20
+ from pymodaq_gui.plotting.data_viewers import ViewersEnum, Viewer1D, Viewer2D, ViewerND
21
+ from pymodaq_gui.utils import Dock, DockArea
22
+
23
+ from pymodaq.utils.data import DataFromPlugins
21
24
 
22
25
  logger = set_logger(get_module_name(__file__))
23
26
 
@@ -1 +1 @@
1
- <Preset type="group" title="Preset" visible="1" removable="0" readonly="0"><filename type="str" title="Filename:" visible="1" removable="0" readonly="0">preset_default</filename><use_pid type="bool" title="Use PID as actuator:" visible="1" removable="0" readonly="0">0</use_pid><pid_models type="list" title="PID models:" visible="0" removable="0" readonly="0" limits="['PIDModelBeamSteering']">str('PIDModelBeamSteering')</pid_models><model_settings type="group" title="Model Settings:" visible="0" removable="0" readonly="0"><threshold type="float" title="Threshold" visible="1" removable="0" readonly="0">10.0</threshold></model_settings><Moves type="groupmove" title="Moves:" visible="1" removable="0" readonly="0" addList="['Mock', 'TCPServer', 'MockCamera', 'MockNamedAxes', 'MockTauMulti', 'PI', 'PI_E870', 'Mock', 'TCPServer', 'MockCamera', 'MockNamedAxes', 'MockTauMulti', 'PI', 'PI_E870']" addText="Add"><move00 type="group" title="Actuator 00" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Xaxis</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><move_type type="str" title="Actuator type:" visible="1" removable="0" readonly="1">Mock</move_type><module_name type="str" title="Actuator name:" visible="1" removable="0" readonly="1">Xaxis</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9029</controller_ID><refresh_timeout type="int" title="Refresh value (ms):" visible="1" removable="0" readonly="0">500</refresh_timeout><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip></main_settings><move_settings type="group" title="Actuator Settings:" visible="1" removable="0" readonly="0"><tau type="int" title="Tau (ms):" visible="1" removable="0" readonly="0">500</tau><multiaxes type="group" title="MultiAxes:" visible="1" removable="0" readonly="0"><ismultiaxes type="bool" title="is Multiaxes:" visible="1" removable="0" readonly="0">1</ismultiaxes><multi_status type="list" title="Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</multi_status><axis type="list" title="Axis:" visible="1" removable="0" readonly="0" limits="['X', 'Y', 'Theta']" show_pb="1">str('X')</axis></multiaxes><units type="str" title="Units:" visible="1" removable="0" readonly="1" /><epsilon type="float" title="Epsilon:" visible="1" removable="0" readonly="0">0.01</epsilon><timeout type="int" title="Timeout (s):" visible="1" removable="0" readonly="0">20</timeout><bounds type="group" title="Bounds:" visible="1" removable="0" readonly="0"><is_bounds type="bool" title="Set Bounds:" visible="1" removable="0" readonly="0">0</is_bounds><min_bound type="float" title="Min:" visible="1" removable="0" readonly="0">0.0</min_bound><max_bound type="float" title="Max:" visible="1" removable="0" readonly="0">1.0</max_bound></bounds><scaling type="group" title="Scaling:" visible="1" removable="0" readonly="0"><use_scaling type="bool" title="Use scaling:" visible="1" removable="0" readonly="0">0</use_scaling><scaling type="float" title="Scaling factor:" visible="1" removable="0" readonly="0">1.0</scaling><offset type="float" title="Offset factor:" visible="1" removable="0" readonly="0">0.0</offset></scaling></move_settings></params></move00><move01 type="group" title="Actuator 01" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Yaxis</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><move_type type="str" title="Actuator type:" visible="1" removable="0" readonly="1">Mock</move_type><module_name type="str" title="Actuator name:" visible="1" removable="0" readonly="1">Yaxis</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9029</controller_ID><refresh_timeout type="int" title="Refresh value (ms):" visible="1" removable="0" readonly="0">500</refresh_timeout><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip></main_settings><move_settings type="group" title="Actuator Settings:" visible="1" removable="0" readonly="0"><tau type="int" title="Tau (ms):" visible="1" removable="0" readonly="0">500</tau><multiaxes type="group" title="MultiAxes:" visible="1" removable="0" readonly="0"><ismultiaxes type="bool" title="is Multiaxes:" visible="1" removable="0" readonly="0">1</ismultiaxes><multi_status type="list" title="Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Slave')</multi_status><axis type="list" title="Axis:" visible="1" removable="0" readonly="0" limits="['X', 'Y', 'Theta']" show_pb="1">str('Y')</axis></multiaxes><units type="str" title="Units:" visible="1" removable="0" readonly="1" /><epsilon type="float" title="Epsilon:" visible="1" removable="0" readonly="0">0.01</epsilon><timeout type="int" title="Timeout (s):" visible="1" removable="0" readonly="0">20</timeout><bounds type="group" title="Bounds:" visible="1" removable="0" readonly="0"><is_bounds type="bool" title="Set Bounds:" visible="1" removable="0" readonly="0">0</is_bounds><min_bound type="float" title="Min:" visible="1" removable="0" readonly="0">0.0</min_bound><max_bound type="float" title="Max:" visible="1" removable="0" readonly="0">1.0</max_bound></bounds><scaling type="group" title="Scaling:" visible="1" removable="0" readonly="0"><use_scaling type="bool" title="Use scaling:" visible="1" removable="0" readonly="0">0</use_scaling><scaling type="float" title="Scaling factor:" visible="1" removable="0" readonly="0">1.0</scaling><offset type="float" title="Offset factor:" visible="1" removable="0" readonly="0">0.0</offset></scaling></move_settings></params></move01><move02 type="group" title="Actuator 02" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Theta axis</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><move_type type="str" title="Actuator type:" visible="1" removable="0" readonly="1">Mock</move_type><module_name type="str" title="Actuator name:" visible="1" removable="0" readonly="1">Theta axis</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9029</controller_ID><refresh_timeout type="int" title="Refresh value (ms):" visible="1" removable="0" readonly="0">500</refresh_timeout><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip></main_settings><move_settings type="group" title="Actuator Settings:" visible="1" removable="0" readonly="0"><tau type="int" title="Tau (ms):" visible="1" removable="0" readonly="0">500</tau><multiaxes type="group" title="MultiAxes:" visible="1" removable="0" readonly="0"><ismultiaxes type="bool" title="is Multiaxes:" visible="1" removable="0" readonly="0">1</ismultiaxes><multi_status type="list" title="Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Slave')</multi_status><axis type="list" title="Axis:" visible="1" removable="0" readonly="0" limits="['X', 'Y', 'Theta']" show_pb="1">str('Theta')</axis></multiaxes><units type="str" title="Units:" visible="1" removable="0" readonly="1" /><epsilon type="float" title="Epsilon:" visible="1" removable="0" readonly="0">0.01</epsilon><timeout type="int" title="Timeout (s):" visible="1" removable="0" readonly="0">20</timeout><bounds type="group" title="Bounds:" visible="1" removable="0" readonly="0"><is_bounds type="bool" title="Set Bounds:" visible="1" removable="0" readonly="0">0</is_bounds><min_bound type="float" title="Min:" visible="1" removable="0" readonly="0">0.0</min_bound><max_bound type="float" title="Max:" visible="1" removable="0" readonly="0">1.0</max_bound></bounds><scaling type="group" title="Scaling:" visible="1" removable="0" readonly="0"><use_scaling type="bool" title="Use scaling:" visible="1" removable="0" readonly="0">0</use_scaling><scaling type="float" title="Scaling factor:" visible="1" removable="0" readonly="0">1.0</scaling><offset type="float" title="Offset factor:" visible="1" removable="0" readonly="0">0.0</offset></scaling></move_settings></params></move02></Moves><Detectors type="groupdet" title="Detectors:" visible="1" removable="0" readonly="0" addList="['DAQ0D/Mock', 'DAQ0D/TCPServer', 'DAQ0D/Mock', 'DAQ0D/TCPServer', 'DAQ1D/Mock', 'DAQ1D/TCPServer', 'DAQ1D/Mock_spectro', 'DAQ1D/Mock', 'DAQ1D/TCPServer', 'DAQ1D/Mock_spectro', 'DAQ2D/Mock', 'DAQ2D/TCPServer', 'DAQ2D/MockCamera', 'DAQ2D/Mock', 'DAQ2D/TCPServer', 'DAQ2D/MockCamera', 'DAQND/Mock', 'DAQND/MockEvents', 'DAQND/Mock', 'DAQND/MockEvents']" addText="Add"><det00 type="group" title="Det 00" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 0D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ0D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 0D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">1505</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0.0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><wait_time type="int" title="Wait time (ms)" visible="1" removable="0" readonly="0">100</wait_time><sep_viewers type="bool" title="Separated viewers" visible="1" removable="0" readonly="0">0</sep_viewers><lcd type="bool" title="Show in LCD" visible="1" removable="0" readonly="0">0</lcd><Mock1 type="group" title="Mock1" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts" visible="1" removable="0" readonly="0">200</Npts><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">20</Amp><x0 type="float" title="x0" visible="1" removable="0" readonly="0">50.0</x0><dx type="float" title="dx" visible="1" removable="0" readonly="0">20.0</dx><n type="int" title="n" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock1><Mock2 type="group" title="Mock2" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts" visible="1" removable="0" readonly="0">200</Npts><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">10</Amp><x0 type="float" title="x0" visible="1" removable="0" readonly="0">100.0</x0><dx type="float" title="dx" visible="1" removable="0" readonly="0">30.0</dx><n type="int" title="n" visible="1" removable="0" readonly="0">2</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock2></detector_settings></params></det00><det01 type="group" title="Det 01" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 1D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ1D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 1D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">8744</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0.0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><rolling type="int" title="Rolling?:" visible="1" removable="0" readonly="0">0</rolling><multi type="bool" title="Multi Channels?:" visible="1" removable="0" readonly="0">0</multi><Mock1 type="group" title="Mock1:" visible="1" removable="0" readonly="0"><Amp type="int" title="Amp:" visible="1" removable="0" readonly="0">20</Amp><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">500.0</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.3</dx><n type="int" title="n:" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="noise:" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock1><Mock2 type="group" title="Mock2:" visible="1" removable="0" readonly="0"><Amp type="int" title="Amp?:" visible="1" removable="0" readonly="0">10</Amp><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">520.0</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.7</dx><n type="int" title="n:" visible="1" removable="0" readonly="0">2</n><amp_noise type="float" title="noise:" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock2><x_axis type="group" title="xaxis:" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts:" visible="1" removable="0" readonly="0">513</Npts><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">515.0</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.1</dx></x_axis></detector_settings></params></det01><det02 type="group" title="Det 02" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 2D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ2D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 2D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9476</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">localhost</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0.0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><Nimagescolor type="int" title="Nimages colors:" visible="1" removable="0" readonly="0">1</Nimagescolor><Nimagespannel type="int" title="Nimages pannels:" visible="1" removable="0" readonly="0">2</Nimagespannel><use_roi_select type="bool" title="Use ROISelect" visible="1" removable="0" readonly="0">0</use_roi_select><threshold type="int" title="Threshold" visible="1" removable="0" readonly="0">1</threshold><rolling type="int" title="rolling" visible="1" removable="0" readonly="0">1</rolling><Nx type="int" title="Nx" visible="1" removable="0" readonly="0">100</Nx><Ny type="int" title="Ny" visible="1" removable="0" readonly="0">200</Ny><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">20</Amp><x0 type="slide" title="x0" visible="1" removable="0" readonly="0">50</x0><y0 type="float" title="y0" visible="1" removable="0" readonly="0">100.0</y0><dx type="float" title="dx" visible="1" removable="0" readonly="0">20.0</dx><dy type="float" title="dy" visible="1" removable="0" readonly="0">40.0</dy><n type="int" title="n" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">4.0</amp_noise><cam_settings type="group" title="Cam. Prop.:" visible="1" removable="0" readonly="0" /></detector_settings></params></det02></Detectors></Preset>
1
+ <Preset type="group" title="Preset" visible="1" removable="0" readonly="0"><filename type="str" title="Filename:" visible="1" removable="0" readonly="0">preset_default</filename><use_pid type="bool" title="Use PID as actuator:" visible="1" removable="0" readonly="0">0</use_pid><pid_models type="list" title="PID models:" visible="0" removable="0" readonly="0" limits="[]">str('')</pid_models><model_settings type="group" title="Model Settings:" visible="0" removable="0" readonly="0" /><Moves type="groupmove" title="Moves:" visible="1" removable="0" readonly="0" addList="['LECODirector', 'Mock', 'TCPServer', 'PID']" addText="Add"><move00 type="group" title="Actuator 00" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Xaxis</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><move_type type="str" title="Actuator type:" visible="1" removable="0" readonly="1">Mock</move_type><module_name type="str" title="Actuator name:" visible="1" removable="0" readonly="1">Xaxis</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">5553</controller_ID><refresh_timeout type="int" title="Refresh value (ms):" visible="1" removable="0" readonly="0">500</refresh_timeout><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">10.47.0.39</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><leco type="group" title="LECO options:" visible="1" removable="0" readonly="0"><connect_leco_server type="bool_push" title="Connect:" visible="1" removable="0" readonly="0">0</connect_leco_server><leco_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</leco_connected><leco_name type="str" title="Name" visible="1" removable="0" readonly="0" /><host type="str" title="Host:" visible="1" removable="0" readonly="0">localhost</host><port type="int" title="Port:" visible="1" removable="0" readonly="0">12300</port></leco></main_settings><move_settings type="group" title="Actuator Settings:" visible="1" removable="0" readonly="0"><tau type="int" title="Tau (ms):" visible="1" removable="0" readonly="0">500.0</tau><multiaxes type="group" title="MultiAxes:" visible="1" removable="0" readonly="0"><ismultiaxes type="bool" title="is Multiaxes:" visible="1" removable="0" readonly="0">1</ismultiaxes><multi_status type="list" title="Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</multi_status><axis type="list" title="Axis:" visible="1" removable="0" readonly="0" limits="['X', 'Y', 'Theta']" show_pb="1">str('X')</axis></multiaxes><units type="str" title="Units:" visible="1" removable="0" readonly="1" /><epsilon type="float" title="Epsilon:" visible="1" removable="0" readonly="0">0.01</epsilon><timeout type="int" title="Timeout (s):" visible="1" removable="0" readonly="0">20</timeout><bounds type="group" title="Bounds:" visible="1" removable="0" readonly="0"><is_bounds type="bool" title="Set Bounds:" visible="1" removable="0" readonly="0">0</is_bounds><min_bound type="float" title="Min:" visible="1" removable="0" readonly="0">0</min_bound><max_bound type="float" title="Max:" visible="1" removable="0" readonly="0">1</max_bound></bounds><scaling type="group" title="Scaling:" visible="1" removable="0" readonly="0"><use_scaling type="bool" title="Use scaling:" visible="1" removable="0" readonly="0">0</use_scaling><scaling type="float" title="Scaling factor:" visible="1" removable="0" readonly="0">1.0</scaling><offset type="float" title="Offset factor:" visible="1" removable="0" readonly="0">0.0</offset></scaling></move_settings></params></move00><move01 type="group" title="Actuator 01" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Yaxis</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><move_type type="str" title="Actuator type:" visible="1" removable="0" readonly="1">Mock</move_type><module_name type="str" title="Actuator name:" visible="1" removable="0" readonly="1">Yaxis</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">8525</controller_ID><refresh_timeout type="int" title="Refresh value (ms):" visible="1" removable="0" readonly="0">500</refresh_timeout><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">10.47.0.39</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><leco type="group" title="LECO options:" visible="1" removable="0" readonly="0"><connect_leco_server type="bool_push" title="Connect:" visible="1" removable="0" readonly="0">0</connect_leco_server><leco_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</leco_connected><leco_name type="str" title="Name" visible="1" removable="0" readonly="0" /><host type="str" title="Host:" visible="1" removable="0" readonly="0">localhost</host><port type="int" title="Port:" visible="1" removable="0" readonly="0">12300</port></leco></main_settings><move_settings type="group" title="Actuator Settings:" visible="1" removable="0" readonly="0"><tau type="int" title="Tau (ms):" visible="1" removable="0" readonly="0">500.0</tau><multiaxes type="group" title="MultiAxes:" visible="1" removable="0" readonly="0"><ismultiaxes type="bool" title="is Multiaxes:" visible="1" removable="0" readonly="0">1</ismultiaxes><multi_status type="list" title="Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</multi_status><axis type="list" title="Axis:" visible="1" removable="0" readonly="0" limits="['X', 'Y', 'Theta']" show_pb="1">str('X')</axis></multiaxes><units type="str" title="Units:" visible="1" removable="0" readonly="1" /><epsilon type="float" title="Epsilon:" visible="1" removable="0" readonly="0">0.01</epsilon><timeout type="int" title="Timeout (s):" visible="1" removable="0" readonly="0">20</timeout><bounds type="group" title="Bounds:" visible="1" removable="0" readonly="0"><is_bounds type="bool" title="Set Bounds:" visible="1" removable="0" readonly="0">0</is_bounds><min_bound type="float" title="Min:" visible="1" removable="0" readonly="0">0</min_bound><max_bound type="float" title="Max:" visible="1" removable="0" readonly="0">1</max_bound></bounds><scaling type="group" title="Scaling:" visible="1" removable="0" readonly="0"><use_scaling type="bool" title="Use scaling:" visible="1" removable="0" readonly="0">0</use_scaling><scaling type="float" title="Scaling factor:" visible="1" removable="0" readonly="0">1.0</scaling><offset type="float" title="Offset factor:" visible="1" removable="0" readonly="0">0.0</offset></scaling></move_settings></params></move01></Moves><Detectors type="groupdet" title="Detectors:" visible="1" removable="0" readonly="0" addList="['DAQ0D/LECODirector', 'DAQ0D/Mock', 'DAQ0D/TCPServer', 'DAQ1D/LECODirector', 'DAQ1D/Mock', 'DAQ1D/TCPServer', 'DAQ2D/LECODirector', 'DAQ2D/Mock', 'DAQ2D/TCPServer', 'DAQND/Mock']" addText="Add"><det00 type="group" title="Det 00" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 0D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ0D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 0D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">4442</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">10.47.0.39</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><leco type="group" title="LECO options:" visible="1" removable="0" readonly="0"><connect_leco_server type="bool_push" title="Connect:" visible="1" removable="0" readonly="0">0</connect_leco_server><leco_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</leco_connected><leco_name type="str" title="Name" visible="1" removable="0" readonly="0" /><host type="str" title="Host:" visible="1" removable="0" readonly="0">localhost</host><port type="int" title="Port:" visible="1" removable="0" readonly="0">12300</port></leco><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><wait_time type="int" title="Wait time (ms)" visible="1" removable="0" readonly="0">100</wait_time><sep_viewers type="bool" title="Separated viewers" visible="1" removable="0" readonly="0">0</sep_viewers><lcd type="bool" title="Show in LCD" visible="1" removable="0" readonly="0">0</lcd><Mock1 type="group" title="Mock1" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts" visible="1" removable="0" readonly="0">200</Npts><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">20</Amp><x0 type="float" title="x0" visible="1" removable="0" readonly="0">50</x0><dx type="float" title="dx" visible="1" removable="0" readonly="0">20</dx><n type="int" title="n" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock1><Mock2 type="group" title="Mock2" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts" visible="1" removable="0" readonly="0">200</Npts><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">10</Amp><x0 type="float" title="x0" visible="1" removable="0" readonly="0">100</x0><dx type="float" title="dx" visible="1" removable="0" readonly="0">30</dx><n type="int" title="n" visible="1" removable="0" readonly="0">2</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock2></detector_settings></params></det00><det01 type="group" title="Det 01" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 1D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ1D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 1D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9154</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">10.47.0.39</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><leco type="group" title="LECO options:" visible="1" removable="0" readonly="0"><connect_leco_server type="bool_push" title="Connect:" visible="1" removable="0" readonly="0">0</connect_leco_server><leco_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</leco_connected><leco_name type="str" title="Name" visible="1" removable="0" readonly="0" /><host type="str" title="Host:" visible="1" removable="0" readonly="0">localhost</host><port type="int" title="Port:" visible="1" removable="0" readonly="0">12300</port></leco><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><rolling type="int" title="Rolling?:" visible="1" removable="0" readonly="0">0</rolling><multi type="bool" title="Multi Channels?:" visible="1" removable="0" readonly="0">0</multi><Mock1 type="group" title="Mock1:" visible="1" removable="0" readonly="0"><Amp type="int" title="Amp:" visible="1" removable="0" readonly="0">20</Amp><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">500</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.3</dx><n type="int" title="n:" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="noise:" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock1><Mock2 type="group" title="Mock2:" visible="1" removable="0" readonly="0"><Amp type="int" title="Amp?:" visible="1" removable="0" readonly="0">10</Amp><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">520</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.7</dx><n type="int" title="n:" visible="1" removable="0" readonly="0">2</n><amp_noise type="float" title="noise:" visible="1" removable="0" readonly="0">0.1</amp_noise></Mock2><x_axis type="group" title="xaxis:" visible="1" removable="0" readonly="0"><Npts type="int" title="Npts:" visible="1" removable="0" readonly="0">513</Npts><x0 type="float" title="x0:" visible="1" removable="0" readonly="0">515</x0><dx type="float" title="dx:" visible="1" removable="0" readonly="0">0.1</dx></x_axis></detector_settings></params></det01><det02 type="group" title="Det 02" visible="1" removable="1" readonly="0"><name type="str" title="Name:" visible="1" removable="0" readonly="0">Det 2D</name><init type="bool" title="Init?:" visible="1" removable="0" readonly="0">1</init><params type="group" title="Settings:" visible="1" removable="0" readonly="0"><main_settings type="group" title="Main Settings:" visible="1" removable="0" readonly="0"><DAQ_type type="list" title="DAQ type:" visible="1" removable="0" readonly="1" limits="['DAQ0D', 'DAQ1D', 'DAQ2D', 'DAQND']" show_pb="1">str('DAQ2D')</DAQ_type><detector_type type="str" title="Detector type:" visible="1" removable="0" readonly="1">Mock</detector_type><module_name type="str" title="Detector Name:" visible="1" removable="0" readonly="1">Det 2D</module_name><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0">0</plugin_config><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">6313</controller_ID><show_data type="bool" title="Show data and process:" visible="1" removable="0" readonly="0">1</show_data><refresh_time type="float" title="Refresh time (ms):" visible="1" removable="0" readonly="0">50.0</refresh_time><Naverage type="int" title="Naverage" visible="1" removable="0" readonly="0">1</Naverage><show_averaging type="bool" title="Show averaging:" visible="1" removable="0" readonly="0">0</show_averaging><live_averaging type="bool" title="Live averaging:" visible="1" removable="0" readonly="0">0</live_averaging><N_live_averaging type="int" title="N Live aver.:" visible="0" removable="0" readonly="0">0</N_live_averaging><wait_time type="int" title="Wait time (ms):" visible="1" removable="0" readonly="0">0</wait_time><continuous_saving_opt type="bool" title="Continuous saving:" visible="1" removable="0" readonly="0">0</continuous_saving_opt><tcpip type="group" title="TCP/IP options:" visible="1" removable="0" readonly="0"><connect_server type="bool_push" title="Connect to server:" visible="1" removable="0" readonly="0">0</connect_server><tcp_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</tcp_connected><ip_address type="str" title="IP address:" visible="1" removable="0" readonly="0">10.47.0.39</ip_address><port type="int" title="Port:" visible="1" removable="0" readonly="0">6341</port></tcpip><leco type="group" title="LECO options:" visible="1" removable="0" readonly="0"><connect_leco_server type="bool_push" title="Connect:" visible="1" removable="0" readonly="0">0</connect_leco_server><leco_connected type="led" title="Connected?:" visible="1" removable="0" readonly="0">0</leco_connected><leco_name type="str" title="Name" visible="1" removable="0" readonly="0" /><host type="str" title="Host:" visible="1" removable="0" readonly="0">localhost</host><port type="int" title="Port:" visible="1" removable="0" readonly="0">12300</port></leco><overshoot type="group" title="Overshoot options:" visible="1" removable="0" readonly="0"><stop_overshoot type="bool" title="Overshoot:" visible="1" removable="0" readonly="0">0</stop_overshoot><overshoot_value type="float" title="Overshoot value:" visible="1" removable="0" readonly="0">0</overshoot_value></overshoot><axes type="group" title="Axis options:" visible="1" removable="0" readonly="0"><use_calib type="list" title="Use calibration?:" visible="1" removable="0" readonly="0" limits="['None']" show_pb="1">str('None')</use_calib><xaxis type="group" title="X axis:" visible="1" removable="0" readonly="0"><xlabel type="str" title="Label:" visible="1" removable="0" readonly="0">x axis</xlabel><xunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</xunits><xoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</xoffset><xscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</xscaling></xaxis><yaxis type="group" title="Y axis:" visible="1" removable="0" readonly="0"><ylabel type="str" title="Label:" visible="1" removable="0" readonly="0">y axis</ylabel><yunits type="str" title="Units:" visible="1" removable="0" readonly="0">pxls</yunits><yoffset type="float" title="Offset:" visible="1" removable="0" readonly="0">0.0</yoffset><yscaling type="float" title="Scaling" visible="1" removable="0" readonly="0">1.0</yscaling></yaxis></axes></main_settings><detector_settings type="group" title="Detector Settings" visible="1" removable="0" readonly="0"><controller_status type="list" title="Controller Status:" visible="1" removable="0" readonly="0" limits="['Master', 'Slave']" show_pb="1">str('Master')</controller_status><Nimagescolor type="int" title="Nimages colors:" visible="1" removable="0" readonly="0">1</Nimagescolor><Nimagespannel type="int" title="Nimages pannels:" visible="1" removable="0" readonly="0">2</Nimagespannel><use_roi_select type="bool" title="Use ROISelect" visible="1" removable="0" readonly="0">0</use_roi_select><threshold type="int" title="Threshold" visible="1" removable="0" readonly="0">1</threshold><rolling type="int" title="rolling" visible="1" removable="0" readonly="0">1</rolling><Nx type="int" title="Nx" visible="1" removable="0" readonly="0">100</Nx><Ny type="int" title="Ny" visible="1" removable="0" readonly="0">200</Ny><Amp type="int" title="Amp" visible="1" removable="0" readonly="0">20</Amp><x0 type="slide" title="x0" visible="1" removable="0" readonly="0">50</x0><y0 type="float" title="y0" visible="1" removable="0" readonly="0">100</y0><dx type="float" title="dx" visible="1" removable="0" readonly="0">20</dx><dy type="float" title="dy" visible="1" removable="0" readonly="0">40</dy><n type="int" title="n" visible="1" removable="0" readonly="0">1</n><amp_noise type="float" title="amp_noise" visible="1" removable="0" readonly="0">4</amp_noise><cam_settings type="group" title="Cam. Prop.:" visible="1" removable="0" readonly="0" /></detector_settings></params></det02></Detectors></Preset>