pymodaq 5.0.17__py3-none-any.whl → 5.1.0__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 (92) hide show
  1. pymodaq/__init__.py +23 -11
  2. pymodaq/control_modules/__init__.py +1 -0
  3. pymodaq/control_modules/daq_move.py +458 -246
  4. pymodaq/control_modules/daq_move_ui/__init__.py +0 -0
  5. pymodaq/control_modules/daq_move_ui/factory.py +48 -0
  6. pymodaq/control_modules/{daq_move_ui.py → daq_move_ui/ui_base.py} +168 -210
  7. pymodaq/control_modules/daq_move_ui/uis/__init__.py +0 -0
  8. pymodaq/control_modules/daq_move_ui/uis/binary.py +139 -0
  9. pymodaq/control_modules/daq_move_ui/uis/original.py +120 -0
  10. pymodaq/control_modules/daq_move_ui/uis/relative.py +124 -0
  11. pymodaq/control_modules/daq_move_ui/uis/simple.py +126 -0
  12. pymodaq/control_modules/daq_viewer.py +113 -101
  13. pymodaq/control_modules/daq_viewer_ui.py +41 -31
  14. pymodaq/control_modules/mocks.py +2 -2
  15. pymodaq/control_modules/move_utility_classes.py +113 -41
  16. pymodaq/control_modules/thread_commands.py +137 -0
  17. pymodaq/control_modules/ui_utils.py +72 -0
  18. pymodaq/control_modules/utils.py +107 -63
  19. pymodaq/control_modules/viewer_utility_classes.py +13 -17
  20. pymodaq/dashboard.py +1294 -625
  21. pymodaq/examples/qt_less_standalone_module.py +48 -11
  22. pymodaq/extensions/__init__.py +8 -3
  23. pymodaq/extensions/adaptive/__init__.py +2 -0
  24. pymodaq/extensions/adaptive/adaptive_optimization.py +179 -0
  25. pymodaq/extensions/adaptive/loss_function/_1d_loss_functions.py +73 -0
  26. pymodaq/extensions/adaptive/loss_function/_2d_loss_functions.py +73 -0
  27. pymodaq/extensions/adaptive/loss_function/__init__.py +3 -0
  28. pymodaq/extensions/adaptive/loss_function/loss_factory.py +110 -0
  29. pymodaq/extensions/adaptive/utils.py +123 -0
  30. pymodaq/extensions/bayesian/__init__.py +1 -1
  31. pymodaq/extensions/bayesian/acquisition/__init__.py +2 -0
  32. pymodaq/extensions/bayesian/acquisition/acquisition_function_factory.py +80 -0
  33. pymodaq/extensions/bayesian/acquisition/base_acquisition_function.py +105 -0
  34. pymodaq/extensions/bayesian/bayesian_optimization.py +143 -0
  35. pymodaq/extensions/bayesian/utils.py +71 -297
  36. pymodaq/extensions/daq_logger/daq_logger.py +7 -12
  37. pymodaq/extensions/daq_logger/h5logging.py +1 -1
  38. pymodaq/extensions/daq_scan.py +30 -55
  39. pymodaq/extensions/data_mixer/__init__.py +0 -0
  40. pymodaq/extensions/data_mixer/daq_0Dviewer_DataMixer.py +97 -0
  41. pymodaq/extensions/data_mixer/data_mixer.py +262 -0
  42. pymodaq/extensions/data_mixer/model.py +108 -0
  43. pymodaq/extensions/data_mixer/models/__init__.py +0 -0
  44. pymodaq/extensions/data_mixer/models/equation_model.py +91 -0
  45. pymodaq/extensions/data_mixer/models/gaussian_fit_model.py +65 -0
  46. pymodaq/extensions/data_mixer/parser.py +53 -0
  47. pymodaq/extensions/data_mixer/utils.py +23 -0
  48. pymodaq/extensions/h5browser.py +3 -34
  49. pymodaq/extensions/optimizers_base/__init__.py +0 -0
  50. pymodaq/extensions/optimizers_base/optimizer.py +1016 -0
  51. pymodaq/extensions/optimizers_base/thread_commands.py +22 -0
  52. pymodaq/extensions/optimizers_base/utils.py +427 -0
  53. pymodaq/extensions/pid/actuator_controller.py +3 -2
  54. pymodaq/extensions/pid/daq_move_PID.py +107 -30
  55. pymodaq/extensions/pid/pid_controller.py +613 -287
  56. pymodaq/extensions/pid/utils.py +8 -5
  57. pymodaq/extensions/utils.py +17 -2
  58. pymodaq/resources/config_template.toml +57 -0
  59. pymodaq/resources/preset_default.xml +1 -1
  60. pymodaq/utils/config.py +13 -4
  61. pymodaq/utils/daq_utils.py +14 -0
  62. pymodaq/utils/data.py +1 -0
  63. pymodaq/utils/gui_utils/loader_utils.py +25 -15
  64. pymodaq/utils/h5modules/module_saving.py +134 -22
  65. pymodaq/utils/leco/daq_move_LECODirector.py +123 -84
  66. pymodaq/utils/leco/daq_xDviewer_LECODirector.py +84 -97
  67. pymodaq/utils/leco/director_utils.py +32 -16
  68. pymodaq/utils/leco/leco_director.py +104 -27
  69. pymodaq/utils/leco/pymodaq_listener.py +186 -97
  70. pymodaq/utils/leco/rpc_method_definitions.py +43 -0
  71. pymodaq/utils/leco/utils.py +25 -25
  72. pymodaq/utils/managers/batchscan_manager.py +12 -11
  73. pymodaq/utils/managers/modules_manager.py +74 -33
  74. pymodaq/utils/managers/overshoot_manager.py +11 -10
  75. pymodaq/utils/managers/preset_manager.py +100 -64
  76. pymodaq/utils/managers/preset_manager_utils.py +163 -107
  77. pymodaq/utils/managers/remote_manager.py +21 -16
  78. pymodaq/utils/scanner/scan_factory.py +18 -4
  79. pymodaq/utils/scanner/scan_selector.py +1 -3
  80. pymodaq/utils/scanner/scanner.py +35 -6
  81. pymodaq/utils/scanner/scanners/_1d_scanners.py +15 -46
  82. pymodaq/utils/scanner/scanners/_2d_scanners.py +21 -68
  83. pymodaq/utils/scanner/scanners/sequential.py +50 -31
  84. pymodaq/utils/scanner/scanners/tabular.py +45 -28
  85. {pymodaq-5.0.17.dist-info → pymodaq-5.1.0.dist-info}/METADATA +7 -6
  86. pymodaq-5.1.0.dist-info/RECORD +154 -0
  87. {pymodaq-5.0.17.dist-info → pymodaq-5.1.0.dist-info}/entry_points.txt +0 -2
  88. pymodaq/extensions/bayesian/bayesian_optimisation.py +0 -685
  89. pymodaq/utils/leco/desktop.ini +0 -2
  90. pymodaq-5.0.17.dist-info/RECORD +0 -121
  91. {pymodaq-5.0.17.dist-info → pymodaq-5.1.0.dist-info}/WHEEL +0 -0
  92. {pymodaq-5.0.17.dist-info → pymodaq-5.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -65,14 +65,14 @@ class PIDModelGeneric:
65
65
 
66
66
  def apply_constants(self):
67
67
  for kxx in self.konstants:
68
- self.pid_controller.settings.child('main_settings', 'pid_controls', 'pid_constants',
68
+ self.pid_controller.settings.child('main_settings', 'pid_settings', 'pid_constants',
69
69
  kxx).setValue(self.konstants[kxx])
70
70
 
71
71
  def apply_limits(self):
72
72
  for limit in self.limits:
73
- self.pid_controller.settings.child('main_settings', 'pid_controls', 'output_limits',
73
+ self.pid_controller.settings.child('main_settings', 'pid_settings', 'output_limits',
74
74
  f'output_limit_{limit}').setValue(self.limits[limit]['value'])
75
- self.pid_controller.settings.child('main_settings', 'pid_controls', 'output_limits',
75
+ self.pid_controller.settings.child('main_settings', 'pid_settings', 'output_limits',
76
76
  f'output_limit_{limit}_enabled').setValue(self.limits[limit]['state'])
77
77
 
78
78
  def check_modules(self, modules_manager):
@@ -118,18 +118,21 @@ class PIDModelGeneric:
118
118
  """
119
119
  raise NotImplementedError
120
120
 
121
- def convert_output(self, outputs: List[float], dt, stab=True) -> DataToActuators:
121
+ def convert_output(self, outputs: List[float], **kwargs) -> DataToActuators:
122
122
  """
123
123
  Convert the output of the PID in units to be fed into the actuator
124
124
  Parameters
125
125
  ----------
126
126
  outputs: (list of float) output value from the PID from which the model extract a value of the same units as the actuator
127
- dt: (float) elapsed time in seconds since last call
127
+
128
128
  Returns
129
129
  -------
130
130
  DataToActuatorPID: the converted output as a DataToActuatorPID object (derived from DataToExport)
131
131
 
132
132
  """
133
+ if kwargs.get('dt', None) is not None or kwargs.get('stab', None) is not None:
134
+ logger.warning("dt and stab are deprecated, it will be removed in a future release.")
135
+
133
136
  self.curr_output = outputs
134
137
  return DataToActuators('pid', mode='rel',
135
138
  data=[DataActuator(self.actuators_name[ind], data=outputs[ind])
@@ -78,6 +78,15 @@ class CustomExt(CustomApp):
78
78
  super().__init__(parent)
79
79
 
80
80
  self.dashboard = dashboard
81
+ self.runner_thread : QtCore.QThread = None
82
+
83
+ self._modules_manager = ModulesManager(detectors=self.dashboard.detector_modules,
84
+ actuators=self.dashboard.actuators_modules,
85
+ parent_name=self.__class__.__name__)
86
+
87
+ @property
88
+ def splash(self):
89
+ return self.dashboard.splash_sc
81
90
 
82
91
  @property
83
92
  def modules_manager(self) -> ModulesManager:
@@ -89,5 +98,11 @@ class CustomExt(CustomApp):
89
98
  -------
90
99
  ModulesManager
91
100
  """
92
- if self.dashboard is not None:
93
- return self.dashboard.modules_manager
101
+ return self._modules_manager
102
+
103
+ def exit_runner_thread(self, duration : int = 5000):
104
+ self.runner_thread.quit()
105
+ terminated = self.runner_thread.wait(duration)
106
+ if not terminated:
107
+ self.runner_thread.terminate()
108
+ self.runner_thread.wait()
@@ -0,0 +1,57 @@
1
+
2
+ [presets]
3
+ default_preset_for_scan = "preset_default"
4
+ default_preset_for_logger = "preset_default"
5
+ default_preset_for_pid = "beam_steering_mock"
6
+ default_preset_for_datamixer = "preset_default"
7
+
8
+ [actuator]
9
+ ui = 'Simple' # one of ['Simple', 'Original', 'Binary', ...]
10
+ epsilon_default = 1
11
+ polling_interval_ms = 100 # ms Careful when using TCP/IP connection as you can saturate the connection with too much polling
12
+ polling_timeout_s = 20 # s
13
+ refresh_timeout_ms = 500 # ms
14
+ timeout = 10000 # default duration in ms to wait for data to be acquirred
15
+ siprefix = true # tell if printing of current value use a SI prefix or not (µ, m, k, M...)
16
+ siprefix_even_without_units = false
17
+ display_units = true # display units in the SpinBoxes
18
+
19
+ [actuator.allowed_units]
20
+ V = 'V'
21
+ volt = 'volt'
22
+ W = 'W'
23
+ Hz = 'Hz'
24
+ rpm = 'rpm'
25
+ revolutions_per_minute = 'revolutions_per_minute'
26
+
27
+ [actuator.binary]
28
+ value_1 = 0
29
+ value_2 = 1
30
+
31
+ [viewer]
32
+ daq_type = 'DAQ0D' #either "DAQ0D", "DAQ1D", "DAQ2D", "DAQND"
33
+ viewer_in_thread = true
34
+ timeout = 10000 # default duration in ms to wait for data to be acquirred
35
+ allow_settings_edition = false
36
+ settings_as_popup = true
37
+
38
+ [scan]
39
+ scan_in_thread = true
40
+ show_popups = true
41
+ default = "Scan2D"
42
+ Naverage = 1 # minimum is 1
43
+ average_on_top = false
44
+ steps_limit = 1000 # the limit of the number of steps you can set in a given scan
45
+ sort1D = true
46
+
47
+ [scan.timeflow]
48
+ wait_time = 0
49
+ wait_time_between = 0
50
+ timeout = 10000 # in millisecond
51
+
52
+ [optimizer]
53
+ n_iter = 100
54
+
55
+ [optimizer.bounds]
56
+ actuator_min = -10
57
+ actuator_max = 10
@@ -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" show_pb="0">preset_default</filename><use_pid type="bool" title="Use PID as actuator:" visible="1" removable="0" readonly="0" show_pb="0">0</use_pid><pid_models type="list" title="PID models:" visible="0" removable="0" readonly="0" limits="[]" show_pb="0">str('')</pid_models><model_settings type="group" title="Model Settings:" visible="0" removable="0" readonly="0" show_pb="0" /><Moves type="groupmove" title="Moves:" visible="1" removable="0" readonly="0" addList="['LECODirector', 'Mock', 'PID', 'TCPServer']" addText="Add" show_pb="0"><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" /><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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"><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">223</controller_ID><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', 'Power', 'Temp']" 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">1</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">Y</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" /><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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"><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">223</controller_ID><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', 'Power', 'Temp']" 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">1</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" show_pb="0"><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" /><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">2299</controller_ID><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" /><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">7933</controller_ID><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" /><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">7758</controller_ID><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>
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><model_settings type="group" title="Model Settings:" visible="0" removable="0" readonly="0" /><Moves type="groupmove" title="Moves:" visible="1" removable="0" readonly="0" 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><ui_type type="list" title="UI type:" visible="1" removable="0" readonly="0" limits="['Simple', 'Binary', 'Original', 'Relative']" show_pb="1">str('Original')</ui_type><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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"><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">9025</controller_ID><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', 'Power', 'Temp', 'Frequency', 'Speed']" 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">1</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><ui_type type="list" title="UI type:" visible="1" removable="0" readonly="0" limits="['Simple', 'Binary', 'Original', 'Relative']" show_pb="1">str('Original')</ui_type><plugin_config type="bool_push" title="Plugin Config:" visible="1" removable="0" readonly="0" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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"><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">1495</controller_ID><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', 'Power', 'Temp', 'Frequency', 'Speed']" 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">1</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" 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" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">5553</controller_ID><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" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">2407</controller_ID><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" label="Show Config">0</plugin_config><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" label="Connect">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" label="Connect">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><controller_ID type="int" title="Controller ID:" visible="1" removable="0" readonly="0">7412</controller_ID><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>
pymodaq/utils/config.py CHANGED
@@ -1,6 +1,13 @@
1
- from pymodaq_utils.config import (BaseConfig, Config, ConfigError, get_set_config_dir,
1
+
2
+ from pathlib import Path
3
+
4
+ try:
5
+ from pymodaq_gui.config_saver_loader import get_set_roi_path
6
+ except ModuleNotFoundError:
7
+ from pymodaq_gui.config import get_set_roi_path
8
+
9
+ from pymodaq_utils.config import (BaseConfig, ConfigError, get_set_config_dir,
2
10
  USER, CONFIG_BASE_PATH, get_set_local_dir)
3
- from pymodaq_gui.config import get_set_roi_path
4
11
 
5
12
 
6
13
  def get_set_preset_path():
@@ -39,6 +46,8 @@ def get_set_overshoot_path():
39
46
  return get_set_config_dir('overshoot_configs')
40
47
 
41
48
 
42
-
43
-
49
+ class Config(BaseConfig):
50
+ """Main class to deal with configuration values for this plugin"""
51
+ config_template_path = Path(__file__).parent.parent.joinpath('resources/config_template.toml')
52
+ config_name = f"config_pymodaq"
44
53
 
@@ -124,6 +124,20 @@ def get_instrument_plugins(): # pragma: no cover
124
124
  except Exception as e:
125
125
  logger.debug(f'Impossible to import PID utility plugin: {str(e)}')
126
126
 
127
+ # add utility plugin for DataMixer
128
+ try:
129
+ data_mixer_module = importlib.import_module('pymodaq.extensions.data_mixer')
130
+ mod = [{'name': 'DataMixer',
131
+ 'module': data_mixer_module,
132
+ 'parent_module': data_mixer_module,
133
+ 'type': 'daq_0Dviewer'}]
134
+ importlib.import_module(f'{data_mixer_module.__package__}.daq_0Dviewer_DataMixer')
135
+ plugins_import.extend(mod)
136
+
137
+ except Exception as e:
138
+ logger.debug(f'Impossible to import the DataMixer utility plugin: {str(e)}')
139
+
140
+
127
141
  plugins_import.sort(key=lambda mod: mod['name'])
128
142
  return plugins_import
129
143
 
pymodaq/utils/data.py CHANGED
@@ -114,6 +114,7 @@ class DataToActuators(DataToExport):
114
114
  mode: str
115
115
  either 'rel' or 'abs' for a relative or absolute change of the actuator's values
116
116
  """
117
+ mode: str
117
118
 
118
119
  def __init__(self, *args, mode='rel', **kwargs):
119
120
  if mode not in ['rel', 'abs']:
@@ -1,6 +1,6 @@
1
1
  from pathlib import Path
2
2
 
3
- from qtpy import QtWidgets
3
+ from qtpy.QtWidgets import QMessageBox, QMainWindow
4
4
 
5
5
  from pymodaq.dashboard import DashBoard
6
6
  from pymodaq.utils.gui_utils import DockArea
@@ -9,7 +9,8 @@ from pymodaq.extensions.utils import CustomExt
9
9
 
10
10
 
11
11
  def load_dashboard_with_preset(preset_name: str, extension_name: str) -> \
12
- (DashBoard, CustomExt, QtWidgets.QMainWindow):
12
+ (DashBoard, CustomExt, QMainWindow):
13
+
13
14
  """ Load the Dashboard using a given preset then load an extension
14
15
 
15
16
  Parameters
@@ -29,7 +30,7 @@ def load_dashboard_with_preset(preset_name: str, extension_name: str) -> \
29
30
  -------
30
31
 
31
32
  """
32
- win = QtWidgets.QMainWindow()
33
+ win = QMainWindow()
33
34
  area = DockArea()
34
35
  win.setCentralWidget(area)
35
36
  win.resize(1000, 500)
@@ -45,21 +46,30 @@ def load_dashboard_with_preset(preset_name: str, extension_name: str) -> \
45
46
 
46
47
  if file is not None and file.exists():
47
48
  dashboard.set_preset_mode(file)
48
- if extension_name == 'DAQScan':
49
- extension = dashboard.load_scan_module()
50
- elif extension_name == 'DAQLogger':
51
- extension = dashboard.load_log_module()
52
- elif extension_name == 'DAQ_PID':
53
- extension = dashboard.load_pid_module()
54
- elif extension_name == 'Bayesian':
55
- extension = dashboard.load_bayesian()
49
+
50
+ if extension_name:
51
+ if extension_name == 'DAQScan':
52
+ extension = dashboard.load_scan_module()
53
+ elif extension_name == 'DAQLogger':
54
+ extension = dashboard.load_log_module()
55
+ elif extension_name == 'DAQ_PID':
56
+ extension = dashboard.load_pid_module()
57
+ elif extension_name == 'Bayesian':
58
+ extension = dashboard.load_bayesian()
59
+ elif extension_name == 'AdaptiveScan':
60
+ extension = dashboard.load_adaptive()
61
+ elif extension_name == 'Data Mixer':
62
+ extension = dashboard.load_datamixer()
63
+ else:
64
+ extension = dashboard.load_extension_from_name(extension_name)
56
65
  else:
57
- extension = dashboard.load_extension_from_name(extension_name)
66
+ extension = None
67
+
58
68
  else:
59
- msgBox = QtWidgets.QMessageBox()
69
+ msgBox = QMessageBox()
60
70
  msgBox.setText(f"The default file specified in the configuration file does not exists!\n"
61
71
  f"{file}\n"
62
72
  f"Impossible to load the {extension_name} extension")
63
- msgBox.setStandardButtons(msgBox.Ok)
73
+ msgBox.setStandardButtons(QMessageBox.StandardButton.Ok)
64
74
  ret = msgBox.exec()
65
- return dashboard, extension, win
75
+ return dashboard, extension, win