bec-widgets 0.99.8__py3-none-any.whl → 0.99.10__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.
Files changed (157) hide show
  1. CHANGELOG.md +18 -20
  2. PKG-INFO +1 -1
  3. bec_widgets/widgets/positioner_box/positioner_box.py +23 -11
  4. bec_widgets/widgets/stop_button/stop_button.py +30 -13
  5. {bec_widgets-0.99.8.dist-info → bec_widgets-0.99.10.dist-info}/METADATA +1 -1
  6. {bec_widgets-0.99.8.dist-info → bec_widgets-0.99.10.dist-info}/RECORD +10 -157
  7. pyproject.toml +6 -1
  8. docs/Makefile +0 -20
  9. docs/_static/custom.css +0 -170
  10. docs/_templates/custom-class-template.rst +0 -34
  11. docs/_templates/custom-module-template.rst +0 -66
  12. docs/api_reference/api_reference.md +0 -12
  13. docs/assets/apps_48dp.svg +0 -1
  14. docs/assets/display_settings_48dp.svg +0 -1
  15. docs/assets/index_api.svg +0 -97
  16. docs/assets/index_contribute.svg +0 -76
  17. docs/assets/index_getting_started.svg +0 -66
  18. docs/assets/index_user_guide.svg +0 -67
  19. docs/assets/rocket_launch_48dp.svg +0 -1
  20. docs/assets/widget_screenshots/buttons.png +0 -0
  21. docs/assets/widget_screenshots/device_box.png +0 -0
  22. docs/assets/widget_screenshots/device_browser.png +0 -0
  23. docs/assets/widget_screenshots/device_inputs.png +0 -0
  24. docs/assets/widget_screenshots/dock_area.png +0 -0
  25. docs/assets/widget_screenshots/figure.png +0 -0
  26. docs/assets/widget_screenshots/image_widget.png +0 -0
  27. docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  28. docs/assets/widget_screenshots/position_indicator.png +0 -0
  29. docs/assets/widget_screenshots/queue.png +0 -0
  30. docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  31. docs/assets/widget_screenshots/scan_controller.png +0 -0
  32. docs/assets/widget_screenshots/spinner.gif +0 -0
  33. docs/assets/widget_screenshots/status_box.png +0 -0
  34. docs/assets/widget_screenshots/text_box.png +0 -0
  35. docs/assets/widget_screenshots/toggle.png +0 -0
  36. docs/assets/widget_screenshots/waveform_widget.png +0 -0
  37. docs/assets/widget_screenshots/website.png +0 -0
  38. docs/conf.py +0 -82
  39. docs/developer/developer.md +0 -52
  40. docs/developer/introduction/concepts.md +0 -14
  41. docs/developer/introduction/contributing.md +0 -28
  42. docs/developer/introduction/introduction.md +0 -16
  43. docs/developer/introduction/useful_links.md +0 -23
  44. docs/developer/widget_development/bec_dispatcher.md +0 -143
  45. docs/developer/widget_development/widget_base_class.md +0 -171
  46. docs/developer/widget_development/widget_development.md +0 -14
  47. docs/index.md +0 -74
  48. docs/introduction/introduction.md +0 -18
  49. docs/make.bat +0 -35
  50. docs/requirements.txt +0 -12
  51. docs/user/api_reference/api_reference.md +0 -11
  52. docs/user/applications/applications.md +0 -10
  53. docs/user/customisation.md +0 -123
  54. docs/user/getting_started/BECDockArea.png +0 -0
  55. docs/user/getting_started/auto_updates.md +0 -82
  56. docs/user/getting_started/getting_started.md +0 -15
  57. docs/user/getting_started/gui_complex_gui.gif +0 -0
  58. docs/user/getting_started/installation.md +0 -33
  59. docs/user/getting_started/quick_start.md +0 -110
  60. docs/user/getting_started/video_tutorials.md +0 -17
  61. docs/user/user.md +0 -71
  62. docs/user/widgets/bec_figure/BECFigure.png +0 -0
  63. docs/user/widgets/bec_figure/bec_figure.md +0 -105
  64. docs/user/widgets/bec_status_box/bec_status_box.gif +0 -0
  65. docs/user/widgets/bec_status_box/bec_status_box.md +0 -38
  66. docs/user/widgets/buttons/buttons.md +0 -90
  67. docs/user/widgets/buttons/dark_mode_disabled.png +0 -0
  68. docs/user/widgets/buttons/dark_mode_enabled.png +0 -0
  69. docs/user/widgets/device_browser/device_browser.md +0 -36
  70. docs/user/widgets/device_browser/device_browser.png +0 -0
  71. docs/user/widgets/device_input/device_input.md +0 -100
  72. docs/user/widgets/dock_area/BECDockArea.png +0 -0
  73. docs/user/widgets/dock_area/bec_dock_area.md +0 -109
  74. docs/user/widgets/image/image_plot.gif +0 -0
  75. docs/user/widgets/image/image_widget.md +0 -84
  76. docs/user/widgets/motor_map/motor.gif +0 -0
  77. docs/user/widgets/motor_map/motor_map.md +0 -80
  78. docs/user/widgets/position_indicator/position_indicator.md +0 -69
  79. docs/user/widgets/positioner_box/positioner_box.md +0 -63
  80. docs/user/widgets/progress_bar/progress_bar.gif +0 -0
  81. docs/user/widgets/progress_bar/ring_progress_bar.md +0 -103
  82. docs/user/widgets/queue/queue.md +0 -41
  83. docs/user/widgets/scan_control/hide_scan_control.png +0 -0
  84. docs/user/widgets/scan_control/scan_control.gif +0 -0
  85. docs/user/widgets/scan_control/scan_control.md +0 -54
  86. docs/user/widgets/spinner/spinner.md +0 -68
  87. docs/user/widgets/text_box/text_box.md +0 -74
  88. docs/user/widgets/toggle/toggle.md +0 -66
  89. docs/user/widgets/waveform/bec_figure_dap.gif +0 -0
  90. docs/user/widgets/waveform/scatter_2D.gif +0 -0
  91. docs/user/widgets/waveform/w1D.gif +0 -0
  92. docs/user/widgets/waveform/waveform_widget.md +0 -132
  93. docs/user/widgets/website/website.md +0 -69
  94. docs/user/widgets/widgets.md +0 -220
  95. tests/__init__.py +0 -0
  96. tests/end-2-end/__init__.py +0 -0
  97. tests/end-2-end/conftest.py +0 -53
  98. tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -298
  99. tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -212
  100. tests/end-2-end/test_rpc_register_e2e.py +0 -40
  101. tests/end-2-end/test_scan_control_e2e.py +0 -71
  102. tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
  103. tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
  104. tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
  105. tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
  106. tests/unit_tests/__init__.py +0 -0
  107. tests/unit_tests/client_mocks.py +0 -189
  108. tests/unit_tests/conftest.py +0 -64
  109. tests/unit_tests/test_bec_connector.py +0 -80
  110. tests/unit_tests/test_bec_dispatcher.py +0 -119
  111. tests/unit_tests/test_bec_dock.py +0 -155
  112. tests/unit_tests/test_bec_figure.py +0 -270
  113. tests/unit_tests/test_bec_image.py +0 -63
  114. tests/unit_tests/test_bec_image_widget.py +0 -217
  115. tests/unit_tests/test_bec_motor_map.py +0 -282
  116. tests/unit_tests/test_bec_queue.py +0 -111
  117. tests/unit_tests/test_bec_status_box.py +0 -123
  118. tests/unit_tests/test_client_utils.py +0 -76
  119. tests/unit_tests/test_color_map_selector.py +0 -42
  120. tests/unit_tests/test_color_validation.py +0 -75
  121. tests/unit_tests/test_configs/config_device.yaml +0 -33
  122. tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -27
  123. tests/unit_tests/test_configs/config_scan.yaml +0 -82
  124. tests/unit_tests/test_crosshair.py +0 -143
  125. tests/unit_tests/test_dark_mode_button.py +0 -70
  126. tests/unit_tests/test_device_browser.py +0 -83
  127. tests/unit_tests/test_device_input_base.py +0 -76
  128. tests/unit_tests/test_device_input_widgets.py +0 -178
  129. tests/unit_tests/test_error_utils.py +0 -63
  130. tests/unit_tests/test_generate_cli_client.py +0 -123
  131. tests/unit_tests/test_generate_plugin.py +0 -155
  132. tests/unit_tests/test_motor_map_widget.py +0 -194
  133. tests/unit_tests/test_msgs/__init__.py +0 -0
  134. tests/unit_tests/test_msgs/available_scans_message.py +0 -989
  135. tests/unit_tests/test_plot_base.py +0 -95
  136. tests/unit_tests/test_plugin_utils.py +0 -13
  137. tests/unit_tests/test_positioner_box.py +0 -130
  138. tests/unit_tests/test_ring_progress_bar.py +0 -337
  139. tests/unit_tests/test_rpc_register.py +0 -52
  140. tests/unit_tests/test_rpc_server.py +0 -42
  141. tests/unit_tests/test_rpc_widget_handler.py +0 -7
  142. tests/unit_tests/test_scan_control.py +0 -324
  143. tests/unit_tests/test_scan_control_group_box.py +0 -160
  144. tests/unit_tests/test_setting_dialog.py +0 -96
  145. tests/unit_tests/test_spinner.py +0 -31
  146. tests/unit_tests/test_stop_button.py +0 -27
  147. tests/unit_tests/test_text_box_widget.py +0 -54
  148. tests/unit_tests/test_toggle.py +0 -38
  149. tests/unit_tests/test_vscode_widget.py +0 -75
  150. tests/unit_tests/test_waveform1d.py +0 -712
  151. tests/unit_tests/test_waveform_widget.py +0 -462
  152. tests/unit_tests/test_website_widget.py +0 -25
  153. tests/unit_tests/test_widget_io.py +0 -90
  154. tests/unit_tests/test_yaml_dialog.py +0 -163
  155. {bec_widgets-0.99.8.dist-info → bec_widgets-0.99.10.dist-info}/WHEEL +0 -0
  156. {bec_widgets-0.99.8.dist-info → bec_widgets-0.99.10.dist-info}/entry_points.txt +0 -0
  157. {bec_widgets-0.99.8.dist-info → bec_widgets-0.99.10.dist-info}/licenses/LICENSE +0 -0
@@ -1,989 +0,0 @@
1
- from bec_lib.messages import AvailableResourceMessage
2
-
3
- available_scans_message = AvailableResourceMessage(
4
- resource={
5
- "acquire": {
6
- "class": "Acquire",
7
- "base_class": "ScanBase",
8
- "arg_input": {},
9
- "required_kwargs": [],
10
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
11
- "scan_report_hint": "table",
12
- "doc": "\n A simple acquisition at the current position.\n\n Args:\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.acquire(exp_time=0.1, relative=True)\n\n ",
13
- "signature": [
14
- {
15
- "name": "args",
16
- "kind": "VAR_POSITIONAL",
17
- "default": "_empty",
18
- "annotation": "_empty",
19
- },
20
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
21
- {
22
- "name": "burst_at_each_point",
23
- "kind": "KEYWORD_ONLY",
24
- "default": 1,
25
- "annotation": "int",
26
- },
27
- {
28
- "name": "kwargs",
29
- "kind": "VAR_KEYWORD",
30
- "default": "_empty",
31
- "annotation": "_empty",
32
- },
33
- ],
34
- },
35
- "interactive_scan_trigger": {
36
- "class": "AddInteractiveScanPoint",
37
- "base_class": "ScanComponent",
38
- "arg_input": {"device": "device"},
39
- "required_kwargs": ["required"],
40
- "arg_bundle_size": {"bundle": 1, "min": 1, "max": None},
41
- "scan_report_hint": "",
42
- "doc": "\n An interactive scan for one or more motors.\n\n Args:\n *args: devices\n exp_time: exposure time in s\n steps: number of steps (please note: 5 steps == 6 positions)\n relative: Start from an absolute or relative position\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.interactive_scan_trigger()\n\n ",
43
- "signature": [
44
- {
45
- "name": "args",
46
- "kind": "VAR_POSITIONAL",
47
- "default": "_empty",
48
- "annotation": "_empty",
49
- },
50
- {
51
- "name": "kwargs",
52
- "kind": "VAR_KEYWORD",
53
- "default": "_empty",
54
- "annotation": "_empty",
55
- },
56
- ],
57
- },
58
- "close_interactive_scan": {
59
- "class": "CloseInteractiveScan",
60
- "base_class": "ScanComponent",
61
- "arg_input": {},
62
- "required_kwargs": ["required"],
63
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
64
- "scan_report_hint": "",
65
- "doc": "\n An interactive scan for one or more motors.\n\n Args:\n *args: devices\n exp_time: exposure time in s\n steps: number of steps (please note: 5 steps == 6 positions)\n relative: Start from an absolute or relative position\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.close_interactive_scan(dev.motor1, dev.motor2, exp_time=0.1)\n\n ",
66
- "signature": [
67
- {
68
- "name": "args",
69
- "kind": "VAR_POSITIONAL",
70
- "default": "_empty",
71
- "annotation": "_empty",
72
- },
73
- {
74
- "name": "kwargs",
75
- "kind": "VAR_KEYWORD",
76
- "default": "_empty",
77
- "annotation": "_empty",
78
- },
79
- ],
80
- },
81
- "close_scan_def": {
82
- "class": "CloseScanDef",
83
- "base_class": "RequestBase",
84
- "arg_input": {},
85
- "required_kwargs": [],
86
- "arg_bundle_size": {"bundle": 0, "min": 0, "max": 0},
87
- "scan_report_hint": "table",
88
- "doc": None,
89
- "signature": [
90
- {
91
- "name": "args",
92
- "kind": "VAR_POSITIONAL",
93
- "default": "_empty",
94
- "annotation": "_empty",
95
- },
96
- {
97
- "name": "device_manager",
98
- "kind": "KEYWORD_ONLY",
99
- "default": None,
100
- "annotation": "DeviceManagerBase",
101
- },
102
- {
103
- "name": "monitored",
104
- "kind": "KEYWORD_ONLY",
105
- "default": None,
106
- "annotation": "list",
107
- },
108
- {
109
- "name": "parameter",
110
- "kind": "KEYWORD_ONLY",
111
- "default": None,
112
- "annotation": "dict",
113
- },
114
- {"name": "metadata", "kind": "KEYWORD_ONLY", "default": None, "annotation": "dict"},
115
- {
116
- "name": "kwargs",
117
- "kind": "VAR_KEYWORD",
118
- "default": "_empty",
119
- "annotation": "_empty",
120
- },
121
- ],
122
- },
123
- "close_scan_group": {
124
- "class": "CloseScanGroup",
125
- "base_class": "RequestBase",
126
- "arg_input": {},
127
- "required_kwargs": [],
128
- "arg_bundle_size": {"bundle": 0, "min": 0, "max": 0},
129
- "scan_report_hint": None,
130
- "doc": None,
131
- "signature": [
132
- {
133
- "name": "args",
134
- "kind": "VAR_POSITIONAL",
135
- "default": "_empty",
136
- "annotation": "_empty",
137
- },
138
- {
139
- "name": "device_manager",
140
- "kind": "KEYWORD_ONLY",
141
- "default": None,
142
- "annotation": "DeviceManagerBase",
143
- },
144
- {
145
- "name": "monitored",
146
- "kind": "KEYWORD_ONLY",
147
- "default": None,
148
- "annotation": "list",
149
- },
150
- {
151
- "name": "parameter",
152
- "kind": "KEYWORD_ONLY",
153
- "default": None,
154
- "annotation": "dict",
155
- },
156
- {"name": "metadata", "kind": "KEYWORD_ONLY", "default": None, "annotation": "dict"},
157
- {
158
- "name": "kwargs",
159
- "kind": "VAR_KEYWORD",
160
- "default": "_empty",
161
- "annotation": "_empty",
162
- },
163
- ],
164
- },
165
- "cont_line_scan": {
166
- "class": "ContLineScan",
167
- "base_class": "ScanBase",
168
- "arg_input": {"device": "device", "start": "float", "stop": "float"},
169
- "required_kwargs": ["steps", "relative"],
170
- "arg_bundle_size": {"bundle": 3, "min": 1, "max": 1},
171
- "scan_report_hint": "table",
172
- "doc": "\n A line scan for one or more motors.\n\n Args:\n *args (Device, float, float): pairs of device / start position / end position\n exp_time (float): exposure time in seconds. Default is 0.\n steps (int): number of steps. Default is 10.\n relative (bool): if True, the motors will be moved relative to their current position. Default is False.\n burst_at_each_point (int): number of exposures at each point. Default is 1.\n offset (float): offset in motor units. Default is 100.\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.cont_line_scan(dev.motor1, -5, 5, steps=10, exp_time=0.1, relative=True)\n\n ",
173
- "signature": [
174
- {
175
- "name": "args",
176
- "kind": "VAR_POSITIONAL",
177
- "default": "_empty",
178
- "annotation": "_empty",
179
- },
180
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
181
- {"name": "steps", "kind": "KEYWORD_ONLY", "default": 10, "annotation": "int"},
182
- {
183
- "name": "relative",
184
- "kind": "KEYWORD_ONLY",
185
- "default": False,
186
- "annotation": "bool",
187
- },
188
- {"name": "offset", "kind": "KEYWORD_ONLY", "default": 100, "annotation": "float"},
189
- {
190
- "name": "burst_at_each_point",
191
- "kind": "KEYWORD_ONLY",
192
- "default": 1,
193
- "annotation": "int",
194
- },
195
- {
196
- "name": "kwargs",
197
- "kind": "VAR_KEYWORD",
198
- "default": "_empty",
199
- "annotation": "_empty",
200
- },
201
- ],
202
- },
203
- "device_rpc": {
204
- "class": "DeviceRPC",
205
- "base_class": "RequestBase",
206
- "arg_input": ["device", "str", "list", "dict"],
207
- "required_kwargs": [],
208
- "arg_bundle_size": {"bundle": 4, "min": 1, "max": 1},
209
- "scan_report_hint": None,
210
- "doc": None,
211
- "signature": [
212
- {
213
- "name": "args",
214
- "kind": "VAR_POSITIONAL",
215
- "default": "_empty",
216
- "annotation": "_empty",
217
- },
218
- {
219
- "name": "device_manager",
220
- "kind": "KEYWORD_ONLY",
221
- "default": None,
222
- "annotation": "DeviceManagerBase",
223
- },
224
- {
225
- "name": "monitored",
226
- "kind": "KEYWORD_ONLY",
227
- "default": None,
228
- "annotation": "list",
229
- },
230
- {
231
- "name": "parameter",
232
- "kind": "KEYWORD_ONLY",
233
- "default": None,
234
- "annotation": "dict",
235
- },
236
- {"name": "metadata", "kind": "KEYWORD_ONLY", "default": None, "annotation": "dict"},
237
- {
238
- "name": "kwargs",
239
- "kind": "VAR_KEYWORD",
240
- "default": "_empty",
241
- "annotation": "_empty",
242
- },
243
- ],
244
- },
245
- "fermat_scan": {
246
- "class": "FermatSpiralScan",
247
- "base_class": "ScanBase",
248
- "arg_input": {"device": "device", "start": "float", "stop": "float"},
249
- "required_kwargs": ["step", "relative"],
250
- "arg_bundle_size": {"bundle": 3, "min": 2, "max": 2},
251
- "scan_report_hint": "table",
252
- "doc": '\n A scan following Fermat\'s spiral.\n\n Args:\n *args: pairs of device / start position / end position arguments\n step (float): step size in motor units. Default is 0.1.\n exp_time (float): exposure time in seconds. Default is 0.\n settling_time (float): settling time in seconds. Default is 0.\n relative (bool): if True, the motors will be moved relative to their current position. Default is False.\n burst_at_each_point (int): number of exposures at each point. Default is 1.\n spiral_type (float): type of spiral to use. Default is 0.\n optim_trajectory (str): trajectory optimization method. Default is None. Options are "corridor" and "none".\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.fermat_scan(dev.motor1, -5, 5, dev.motor2, -5, 5, step=0.5, exp_time=0.1, relative=True, optim_trajectory="corridor")\n\n ',
253
- "signature": [
254
- {
255
- "name": "args",
256
- "kind": "VAR_POSITIONAL",
257
- "default": "_empty",
258
- "annotation": "_empty",
259
- },
260
- {"name": "step", "kind": "KEYWORD_ONLY", "default": 0.1, "annotation": "float"},
261
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
262
- {
263
- "name": "settling_time",
264
- "kind": "KEYWORD_ONLY",
265
- "default": 0,
266
- "annotation": "float",
267
- },
268
- {
269
- "name": "relative",
270
- "kind": "KEYWORD_ONLY",
271
- "default": False,
272
- "annotation": "bool",
273
- },
274
- {
275
- "name": "burst_at_each_point",
276
- "kind": "KEYWORD_ONLY",
277
- "default": 1,
278
- "annotation": "int",
279
- },
280
- {
281
- "name": "spiral_type",
282
- "kind": "KEYWORD_ONLY",
283
- "default": 0,
284
- "annotation": "float",
285
- },
286
- {
287
- "name": "optim_trajectory",
288
- "kind": "KEYWORD_ONLY",
289
- "default": None,
290
- "annotation": {"Literal": ["corridor", None]},
291
- },
292
- {
293
- "name": "kwargs",
294
- "kind": "VAR_KEYWORD",
295
- "default": "_empty",
296
- "annotation": "_empty",
297
- },
298
- ],
299
- },
300
- "line_scan": {
301
- "class": "LineScan",
302
- "base_class": "ScanBase",
303
- "arg_input": {"device": "device", "start": "float", "stop": "float"},
304
- "required_kwargs": ["steps", "relative"],
305
- "arg_bundle_size": {"bundle": 3, "min": 1, "max": None},
306
- "scan_report_hint": "table",
307
- "doc": "\n A line scan for one or more motors.\n\n Args:\n *args (Device, float, float): pairs of device / start position / end position\n exp_time (float): exposure time in s. Default: 0\n steps (int): number of steps. Default: 10\n relative (bool): if True, the start and end positions are relative to the current position. Default: False\n burst_at_each_point (int): number of acquisition per point. Default: 1\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.line_scan(dev.motor1, -5, 5, dev.motor2, -5, 5, steps=10, exp_time=0.1, relative=True)\n\n ",
308
- "signature": [
309
- {
310
- "name": "args",
311
- "kind": "VAR_POSITIONAL",
312
- "default": "_empty",
313
- "annotation": "_empty",
314
- },
315
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
316
- {"name": "steps", "kind": "KEYWORD_ONLY", "default": None, "annotation": "int"},
317
- {
318
- "name": "relative",
319
- "kind": "KEYWORD_ONLY",
320
- "default": False,
321
- "annotation": "bool",
322
- },
323
- {
324
- "name": "burst_at_each_point",
325
- "kind": "KEYWORD_ONLY",
326
- "default": 1,
327
- "annotation": "int",
328
- },
329
- {
330
- "name": "kwargs",
331
- "kind": "VAR_KEYWORD",
332
- "default": "_empty",
333
- "annotation": "_empty",
334
- },
335
- ],
336
- },
337
- "list_scan": {
338
- "class": "ListScan",
339
- "base_class": "ScanBase",
340
- "arg_input": {"device": "device", "positions": "list"},
341
- "required_kwargs": ["relative"],
342
- "arg_bundle_size": {"bundle": 2, "min": 1, "max": None},
343
- "scan_report_hint": "table",
344
- "doc": "\n A scan following the positions specified in a list.\n Please note that all lists must be of equal length.\n\n Args:\n *args: pairs of motors and position lists\n relative: Start from an absolute or relative position\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.list_scan(dev.motor1, [0,1,2,3,4], dev.motor2, [4,3,2,1,0], exp_time=0.1, relative=True)\n\n ",
345
- "signature": [
346
- {
347
- "name": "args",
348
- "kind": "VAR_POSITIONAL",
349
- "default": "_empty",
350
- "annotation": "_empty",
351
- },
352
- {
353
- "name": "parameter",
354
- "kind": "KEYWORD_ONLY",
355
- "default": None,
356
- "annotation": "dict",
357
- },
358
- {
359
- "name": "kwargs",
360
- "kind": "VAR_KEYWORD",
361
- "default": "_empty",
362
- "annotation": "_empty",
363
- },
364
- ],
365
- },
366
- "monitor_scan": {
367
- "class": "MonitorScan",
368
- "base_class": "ScanBase",
369
- "arg_input": {"device": "device", "start": "float", "stop": "float"},
370
- "required_kwargs": ["relative"],
371
- "arg_bundle_size": {"bundle": 3, "min": 1, "max": 1},
372
- "scan_report_hint": "table",
373
- "doc": "\n Readout all primary devices at each update of the monitored device.\n\n Args:\n device (Device): monitored device\n start (float): start position of the monitored device\n stop (float): stop position of the monitored device\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.monitor_scan(dev.motor1, -5, 5, exp_time=0.1, relative=True)\n\n ",
374
- "signature": [
375
- {
376
- "name": "device",
377
- "kind": "POSITIONAL_OR_KEYWORD",
378
- "default": "_empty",
379
- "annotation": "_empty",
380
- },
381
- {
382
- "name": "start",
383
- "kind": "POSITIONAL_OR_KEYWORD",
384
- "default": "_empty",
385
- "annotation": "float",
386
- },
387
- {
388
- "name": "stop",
389
- "kind": "POSITIONAL_OR_KEYWORD",
390
- "default": "_empty",
391
- "annotation": "float",
392
- },
393
- {
394
- "name": "args",
395
- "kind": "VAR_POSITIONAL",
396
- "default": "_empty",
397
- "annotation": "_empty",
398
- },
399
- {
400
- "name": "relative",
401
- "kind": "KEYWORD_ONLY",
402
- "default": False,
403
- "annotation": "bool",
404
- },
405
- {
406
- "name": "kwargs",
407
- "kind": "VAR_KEYWORD",
408
- "default": "_empty",
409
- "annotation": "_empty",
410
- },
411
- ],
412
- },
413
- "mv": {
414
- "class": "Move",
415
- "base_class": "RequestBase",
416
- "arg_input": {"device": "device", "target": "float"},
417
- "required_kwargs": ["relative"],
418
- "arg_bundle_size": {"bundle": 2, "min": 1, "max": None},
419
- "scan_report_hint": None,
420
- "doc": "\n Move device(s) to an absolute position\n Args:\n *args (Device, float): pairs of device / position arguments\n relative (bool): if True, move relative to current position\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.mv(dev.samx, 1, dev.samy,2)\n ",
421
- "signature": [
422
- {
423
- "name": "args",
424
- "kind": "VAR_POSITIONAL",
425
- "default": "_empty",
426
- "annotation": "_empty",
427
- },
428
- {
429
- "name": "relative",
430
- "kind": "KEYWORD_ONLY",
431
- "default": False,
432
- "annotation": "_empty",
433
- },
434
- {
435
- "name": "kwargs",
436
- "kind": "VAR_KEYWORD",
437
- "default": "_empty",
438
- "annotation": "_empty",
439
- },
440
- ],
441
- },
442
- "open_interactive_scan": {
443
- "class": "OpenInteractiveScan",
444
- "base_class": "ScanComponent",
445
- "arg_input": {"device": "device"},
446
- "required_kwargs": [],
447
- "arg_bundle_size": {"bundle": 1, "min": 1, "max": None},
448
- "scan_report_hint": "",
449
- "doc": "\n An interactive scan for one or more motors.\n\n Args:\n *args: devices\n exp_time: exposure time in s\n steps: number of steps (please note: 5 steps == 6 positions)\n relative: Start from an absolute or relative position\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.open_interactive_scan(dev.motor1, dev.motor2, exp_time=0.1)\n\n ",
450
- "signature": [
451
- {
452
- "name": "args",
453
- "kind": "VAR_POSITIONAL",
454
- "default": "_empty",
455
- "annotation": "_empty",
456
- },
457
- {
458
- "name": "kwargs",
459
- "kind": "VAR_KEYWORD",
460
- "default": "_empty",
461
- "annotation": "_empty",
462
- },
463
- ],
464
- },
465
- "open_scan_def": {
466
- "class": "OpenScanDef",
467
- "base_class": "RequestBase",
468
- "arg_input": {},
469
- "required_kwargs": [],
470
- "arg_bundle_size": {"bundle": 0, "min": 0, "max": 0},
471
- "scan_report_hint": None,
472
- "doc": None,
473
- "signature": [
474
- {
475
- "name": "args",
476
- "kind": "VAR_POSITIONAL",
477
- "default": "_empty",
478
- "annotation": "_empty",
479
- },
480
- {
481
- "name": "device_manager",
482
- "kind": "KEYWORD_ONLY",
483
- "default": None,
484
- "annotation": "DeviceManagerBase",
485
- },
486
- {
487
- "name": "monitored",
488
- "kind": "KEYWORD_ONLY",
489
- "default": None,
490
- "annotation": "list",
491
- },
492
- {
493
- "name": "parameter",
494
- "kind": "KEYWORD_ONLY",
495
- "default": None,
496
- "annotation": "dict",
497
- },
498
- {"name": "metadata", "kind": "KEYWORD_ONLY", "default": None, "annotation": "dict"},
499
- {
500
- "name": "kwargs",
501
- "kind": "VAR_KEYWORD",
502
- "default": "_empty",
503
- "annotation": "_empty",
504
- },
505
- ],
506
- },
507
- "round_roi_scan": {
508
- "class": "RoundROIScan",
509
- "base_class": "ScanBase",
510
- "arg_input": {
511
- "motor_1": "device",
512
- "motor_2": "device",
513
- "width_1": "float",
514
- "width_2": "float",
515
- },
516
- "required_kwargs": ["dr", "nth", "relative"],
517
- "arg_bundle_size": {"bundle": 4, "min": 1, "max": 1},
518
- "scan_report_hint": "table",
519
- "doc": "\n A scan following a round-roi-like pattern.\n\n Args:\n *args: motor1, width for motor1, motor2, width for motor2,\n dr (float): shell width. Default is 1.\n nth (int): number of points in the first shell. Default is 5.\n exp_time (float): exposure time in seconds. Default is 0.\n relative (bool): Start from an absolute or relative position. Default is False.\n burst_at_each_point (int): number of acquisition per point. Default is 1.\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.round_roi_scan(dev.motor1, 20, dev.motor2, 20, dr=2, nth=3, exp_time=0.1, relative=True)\n\n ",
520
- "signature": [
521
- {
522
- "name": "args",
523
- "kind": "VAR_POSITIONAL",
524
- "default": "_empty",
525
- "annotation": "_empty",
526
- },
527
- {"name": "dr", "kind": "KEYWORD_ONLY", "default": 1, "annotation": "float"},
528
- {"name": "nth", "kind": "KEYWORD_ONLY", "default": 5, "annotation": "int"},
529
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
530
- {
531
- "name": "relative",
532
- "kind": "KEYWORD_ONLY",
533
- "default": False,
534
- "annotation": "bool",
535
- },
536
- {
537
- "name": "burst_at_each_point",
538
- "kind": "KEYWORD_ONLY",
539
- "default": 1,
540
- "annotation": "int",
541
- },
542
- {
543
- "name": "kwargs",
544
- "kind": "VAR_KEYWORD",
545
- "default": "_empty",
546
- "annotation": "_empty",
547
- },
548
- ],
549
- },
550
- "round_scan": {
551
- "class": "RoundScan",
552
- "base_class": "ScanBase",
553
- "arg_input": {
554
- "motor_1": "device",
555
- "motor_2": "device",
556
- "inner_ring": "float",
557
- "outer_ring": "float",
558
- "number_of_rings": "int",
559
- "number_of_positions_in_first_ring": "int",
560
- },
561
- "required_kwargs": ["relative"],
562
- "arg_bundle_size": {"bundle": 6, "min": 1, "max": 1},
563
- "scan_report_hint": "table",
564
- "doc": "\n A scan following a round shell-like pattern.\n\n Args:\n *args: motor1, motor2, inner ring, outer ring, number of rings, number of positions in the first ring\n relative (bool): if True, the motors will be moved relative to their current position. Default is False.\n burst_at_each_point (int): number of exposures at each point. Default is 1.\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.round_scan(dev.motor1, dev.motor2, 0, 25, 5, 3, exp_time=0.1, relative=True)\n\n ",
565
- "signature": [
566
- {
567
- "name": "args",
568
- "kind": "VAR_POSITIONAL",
569
- "default": "_empty",
570
- "annotation": "_empty",
571
- },
572
- {
573
- "name": "relative",
574
- "kind": "KEYWORD_ONLY",
575
- "default": False,
576
- "annotation": "bool",
577
- },
578
- {
579
- "name": "burst_at_each_point",
580
- "kind": "KEYWORD_ONLY",
581
- "default": 1,
582
- "annotation": "int",
583
- },
584
- {
585
- "name": "kwargs",
586
- "kind": "VAR_KEYWORD",
587
- "default": "_empty",
588
- "annotation": "_empty",
589
- },
590
- ],
591
- },
592
- "round_scan_fly": {
593
- "class": "RoundScanFlySim",
594
- "base_class": "ScanBase",
595
- "arg_input": {
596
- "flyer": "device",
597
- "inner_ring": "float",
598
- "outer_ring": "float",
599
- "number_of_rings": "int",
600
- "number_of_positions_in_first_ring": "int",
601
- },
602
- "required_kwargs": ["relative"],
603
- "arg_bundle_size": {"bundle": 5, "min": 1, "max": 1},
604
- "scan_report_hint": "table",
605
- "doc": "\n A fly scan following a round shell-like pattern.\n\n Args:\n *args: motor1, motor2, inner ring, outer ring, number of rings, number of positions in the first ring\n relative: Start from an absolute or relative position\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.round_scan_fly(dev.flyer_sim, 0, 50, 5, 3, exp_time=0.1, relative=True)\n\n ",
606
- "signature": [
607
- {
608
- "name": "args",
609
- "kind": "VAR_POSITIONAL",
610
- "default": "_empty",
611
- "annotation": "_empty",
612
- },
613
- {
614
- "name": "kwargs",
615
- "kind": "VAR_KEYWORD",
616
- "default": "_empty",
617
- "annotation": "_empty",
618
- },
619
- ],
620
- },
621
- "grid_scan": {
622
- "class": "Scan",
623
- "base_class": "ScanBase",
624
- "arg_input": {"device": "device", "start": "float", "stop": "float", "steps": "int"},
625
- "required_kwargs": ["relative"],
626
- "arg_bundle_size": {"bundle": 4, "min": 2, "max": None},
627
- "scan_report_hint": "table",
628
- "doc": "\n Scan two motors in a grid.\n\n Args:\n *args (Device, float, float, int): pairs of device / start / stop / steps arguments\n exp_time (float): exposure time in seconds. Default is 0.\n settling_time (float): settling time in seconds. Default is 0.\n relative (bool): if True, the motors will be moved relative to their current position. Default is False.\n burst_at_each_point (int): number of exposures at each point. Default is 1.\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.grid_scan(dev.motor1, -5, 5, 10, dev.motor2, -5, 5, 10, exp_time=0.1, relative=True)\n\n ",
629
- "signature": [
630
- {
631
- "name": "args",
632
- "kind": "VAR_POSITIONAL",
633
- "default": "_empty",
634
- "annotation": "_empty",
635
- },
636
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0, "annotation": "float"},
637
- {
638
- "name": "settling_time",
639
- "kind": "KEYWORD_ONLY",
640
- "default": 0,
641
- "annotation": "float",
642
- },
643
- {
644
- "name": "relative",
645
- "kind": "KEYWORD_ONLY",
646
- "default": False,
647
- "annotation": "bool",
648
- },
649
- {
650
- "name": "burst_at_each_point",
651
- "kind": "KEYWORD_ONLY",
652
- "default": 1,
653
- "annotation": "int",
654
- },
655
- {
656
- "name": "kwargs",
657
- "kind": "VAR_KEYWORD",
658
- "default": "_empty",
659
- "annotation": "_empty",
660
- },
661
- ],
662
- },
663
- "time_scan": {
664
- "class": "TimeScan",
665
- "base_class": "ScanBase",
666
- "arg_input": {},
667
- "required_kwargs": ["points", "interval"],
668
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
669
- "scan_report_hint": "table",
670
- "doc": '\n Trigger and readout devices at a fixed interval.\n Note that the interval time cannot be less than the exposure time.\n The effective "sleep" time between points is\n sleep_time = interval - exp_time\n\n Args:\n points: number of points\n interval: time interval between points\n exp_time: exposure time in s\n burst: number of acquisition per point\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.time_scan(points=10, interval=1.5, exp_time=0.1, relative=True)\n\n ',
671
- "signature": [
672
- {
673
- "name": "points",
674
- "kind": "POSITIONAL_OR_KEYWORD",
675
- "default": "_empty",
676
- "annotation": "int",
677
- },
678
- {
679
- "name": "interval",
680
- "kind": "POSITIONAL_OR_KEYWORD",
681
- "default": "_empty",
682
- "annotation": "float",
683
- },
684
- {
685
- "name": "exp_time",
686
- "kind": "POSITIONAL_OR_KEYWORD",
687
- "default": 0,
688
- "annotation": "float",
689
- },
690
- {
691
- "name": "burst_at_each_point",
692
- "kind": "POSITIONAL_OR_KEYWORD",
693
- "default": 1,
694
- "annotation": "int",
695
- },
696
- {
697
- "name": "kwargs",
698
- "kind": "VAR_KEYWORD",
699
- "default": "_empty",
700
- "annotation": "_empty",
701
- },
702
- ],
703
- },
704
- "umv": {
705
- "class": "UpdatedMove",
706
- "base_class": "RequestBase",
707
- "arg_input": {"device": "device", "target": "float"},
708
- "required_kwargs": ["relative"],
709
- "arg_bundle_size": {"bundle": 2, "min": 1, "max": None},
710
- "scan_report_hint": "readback",
711
- "doc": "\n Move device(s) to an absolute position and show live updates. This is a blocking call. For non-blocking use Move.\n Args:\n *args (Device, float): pairs of device / position arguments\n relative (bool): if True, move relative to current position\n\n Returns:\n ScanReport\n\n Examples:\n >>> scans.umv(dev.samx, 1, dev.samy,2)\n ",
712
- "signature": [
713
- {
714
- "name": "args",
715
- "kind": "VAR_POSITIONAL",
716
- "default": "_empty",
717
- "annotation": "_empty",
718
- },
719
- {
720
- "name": "relative",
721
- "kind": "KEYWORD_ONLY",
722
- "default": False,
723
- "annotation": "_empty",
724
- },
725
- {
726
- "name": "kwargs",
727
- "kind": "VAR_KEYWORD",
728
- "default": "_empty",
729
- "annotation": "_empty",
730
- },
731
- ],
732
- },
733
- "lamni_fermat_scan": {
734
- "class": "LamNIFermatScan",
735
- "base_class": "ScanBase",
736
- "arg_input": {},
737
- "required_kwargs": ["fov_size", "exp_time", "step", "angle"],
738
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
739
- "scan_report_hint": "table",
740
- "doc": "\n A LamNI scan following Fermat's spiral.\n\n Kwargs:\n fov_size [um]: Fov in the piezo plane (i.e. piezo range). Max 80 um\n step [um]: stepsize\n shift_x/y [mm]: extra shift in x/y. The shift is directly applied to the scan. It will not be auto rotated. (default 0).\n center_x/center_y [mm]: center position in x/y at 0 deg. This shift is rotated\n using the geometry of LamNI\n It is determined by the first 'click' in the x-ray eye alignemnt procedure\n angle [deg]: rotation angle (will rotate first)\n scan_type: fly (i.e. HW triggered step in case of LamNI) or step\n stitch_x/y: shift scan to adjacent stitch region\n fov_circular [um]: generate a circular field of view in the sample plane. This is an additional cropping to fov_size.\n stitch_overlap [um]: overlap of the stitched regions\n Returns:\n\n Examples:\n >>> scans.lamni_fermat_scan(fov_size=[20], step=0.5, exp_time=0.1)\n >>> scans.lamni_fermat_scan(fov_size=[20, 25], center_x=0.02, center_y=0, shift_x=0, shift_y=0, angle=0, step=0.5, fov_circular=0, exp_time=0.1)\n ",
741
- "signature": [
742
- {
743
- "name": "args",
744
- "kind": "VAR_POSITIONAL",
745
- "default": "_empty",
746
- "annotation": "_empty",
747
- },
748
- {
749
- "name": "parameter",
750
- "kind": "KEYWORD_ONLY",
751
- "default": None,
752
- "annotation": "dict",
753
- },
754
- {
755
- "name": "kwargs",
756
- "kind": "VAR_KEYWORD",
757
- "default": "_empty",
758
- "annotation": "_empty",
759
- },
760
- ],
761
- },
762
- "lamni_move_to_scan_center": {
763
- "class": "LamNIMoveToScanCenter",
764
- "base_class": "RequestBase",
765
- "arg_input": {"shift_x": "float", "shift_y": "float", "angle": "float"},
766
- "required_kwargs": [],
767
- "arg_bundle_size": {"bundle": 3, "min": 1, "max": 1},
768
- "scan_report_hint": None,
769
- "doc": "\n Move LamNI to a new scan center.\n\n Args:\n *args: shift x, shift y, tomo angle in deg\n\n Examples:\n >>> scans.lamni_move_to_scan_center(1.2, 2.8, 12.5)\n ",
770
- "signature": [
771
- {
772
- "name": "args",
773
- "kind": "VAR_POSITIONAL",
774
- "default": "_empty",
775
- "annotation": "_empty",
776
- },
777
- {
778
- "name": "parameter",
779
- "kind": "KEYWORD_ONLY",
780
- "default": None,
781
- "annotation": "_empty",
782
- },
783
- {
784
- "name": "kwargs",
785
- "kind": "VAR_KEYWORD",
786
- "default": "_empty",
787
- "annotation": "_empty",
788
- },
789
- ],
790
- },
791
- "owis_grid": {
792
- "class": "OwisGrid",
793
- "base_class": "FlyScanBase",
794
- "arg_input": {},
795
- "required_kwargs": [],
796
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
797
- "scan_report_hint": "scan_progress",
798
- "doc": "Owis-based grid scan.",
799
- "signature": [
800
- {
801
- "name": "start_y",
802
- "kind": "POSITIONAL_OR_KEYWORD",
803
- "default": "_empty",
804
- "annotation": "float",
805
- },
806
- {
807
- "name": "end_y",
808
- "kind": "POSITIONAL_OR_KEYWORD",
809
- "default": "_empty",
810
- "annotation": "float",
811
- },
812
- {
813
- "name": "interval_y",
814
- "kind": "POSITIONAL_OR_KEYWORD",
815
- "default": "_empty",
816
- "annotation": "int",
817
- },
818
- {
819
- "name": "start_x",
820
- "kind": "POSITIONAL_OR_KEYWORD",
821
- "default": "_empty",
822
- "annotation": "float",
823
- },
824
- {
825
- "name": "end_x",
826
- "kind": "POSITIONAL_OR_KEYWORD",
827
- "default": "_empty",
828
- "annotation": "float",
829
- },
830
- {
831
- "name": "interval_x",
832
- "kind": "POSITIONAL_OR_KEYWORD",
833
- "default": "_empty",
834
- "annotation": "int",
835
- },
836
- {
837
- "name": "args",
838
- "kind": "VAR_POSITIONAL",
839
- "default": "_empty",
840
- "annotation": "_empty",
841
- },
842
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0.1, "annotation": "float"},
843
- {
844
- "name": "readout_time",
845
- "kind": "KEYWORD_ONLY",
846
- "default": 0.003,
847
- "annotation": "float",
848
- },
849
- {
850
- "name": "kwargs",
851
- "kind": "VAR_KEYWORD",
852
- "default": "_empty",
853
- "annotation": "_empty",
854
- },
855
- ],
856
- },
857
- "sgalil_grid": {
858
- "class": "SgalilGrid",
859
- "base_class": "FlyScanBase",
860
- "arg_input": {},
861
- "required_kwargs": [],
862
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
863
- "scan_report_hint": "scan_progress",
864
- "doc": "\n SGalil-based grid scan.\n\n Args:\n start_y (float): start position of y axis (fast axis)\n end_y (float): end position of y axis (fast axis)\n interval_y (int): number of points in y axis\n start_x (float): start position of x axis (slow axis)\n end_x (float): end position of x axis (slow axis)\n interval_x (int): number of points in x axis\n exp_time (float): exposure time in seconds. Default is 0.1s\n readout_time (float): readout time in seconds, minimum of 3e-3s (3ms)\n\n Exp:\n scans.sgalil_grid(start_y = val1, end_y= val1, interval_y = val1, start_x = val1, end_x = val1, interval_x = val1, exp_time = 0.02, readout_time = 3e-3)\n\n\n ",
865
- "signature": [
866
- {
867
- "name": "start_y",
868
- "kind": "POSITIONAL_OR_KEYWORD",
869
- "default": "_empty",
870
- "annotation": "float",
871
- },
872
- {
873
- "name": "end_y",
874
- "kind": "POSITIONAL_OR_KEYWORD",
875
- "default": "_empty",
876
- "annotation": "float",
877
- },
878
- {
879
- "name": "interval_y",
880
- "kind": "POSITIONAL_OR_KEYWORD",
881
- "default": "_empty",
882
- "annotation": "int",
883
- },
884
- {
885
- "name": "start_x",
886
- "kind": "POSITIONAL_OR_KEYWORD",
887
- "default": "_empty",
888
- "annotation": "float",
889
- },
890
- {
891
- "name": "end_x",
892
- "kind": "POSITIONAL_OR_KEYWORD",
893
- "default": "_empty",
894
- "annotation": "float",
895
- },
896
- {
897
- "name": "interval_x",
898
- "kind": "POSITIONAL_OR_KEYWORD",
899
- "default": "_empty",
900
- "annotation": "int",
901
- },
902
- {
903
- "name": "args",
904
- "kind": "VAR_POSITIONAL",
905
- "default": "_empty",
906
- "annotation": "_empty",
907
- },
908
- {"name": "exp_time", "kind": "KEYWORD_ONLY", "default": 0.1, "annotation": "float"},
909
- {
910
- "name": "readout_time",
911
- "kind": "KEYWORD_ONLY",
912
- "default": 0.1,
913
- "annotation": "float",
914
- },
915
- {
916
- "name": "kwargs",
917
- "kind": "VAR_KEYWORD",
918
- "default": "_empty",
919
- "annotation": "_empty",
920
- },
921
- ],
922
- },
923
- "hyst_scan": {
924
- "class": "HystScan",
925
- "base_class": "ScanBase",
926
- "arg_input": {
927
- "field_motor": "device",
928
- "start_field": "float",
929
- "end_field": "float",
930
- "mono": "device",
931
- "energy1": "float",
932
- "energy2": "float",
933
- },
934
- "required_kwargs": [],
935
- "arg_bundle_size": {"bundle": 3, "min": 1, "max": 1},
936
- "scan_report_hint": "table",
937
- "doc": "\n A hysteresis scan.\n\n scans.hyst_scan(field_motor, start_field, end_field, mono, energy1, energy2)\n\n Examples:\n >>> scans.hyst_scan(dev.field_x, 0, 0.5, dev.mono, 600, 640, ramp_rate=2)\n\n ",
938
- "signature": [
939
- {
940
- "name": "args",
941
- "kind": "VAR_POSITIONAL",
942
- "default": "_empty",
943
- "annotation": "_empty",
944
- },
945
- {
946
- "name": "parameter",
947
- "kind": "KEYWORD_ONLY",
948
- "default": None,
949
- "annotation": "dict",
950
- },
951
- {
952
- "name": "kwargs",
953
- "kind": "VAR_KEYWORD",
954
- "default": "_empty",
955
- "annotation": "_empty",
956
- },
957
- ],
958
- },
959
- "otf_scan": {
960
- "class": "OTFScan",
961
- "base_class": "FlyScanBase",
962
- "arg_input": {},
963
- "required_kwargs": ["e1", "e2", "time"],
964
- "arg_bundle_size": {"bundle": 0, "min": None, "max": None},
965
- "scan_report_hint": "table",
966
- "doc": "Scans the energy from e1 to e2 in <time> minutes.\n\n Examples:\n >>> scans.otf_scan(e1=700, e2=740, time=4)\n\n ",
967
- "signature": [
968
- {
969
- "name": "args",
970
- "kind": "VAR_POSITIONAL",
971
- "default": "_empty",
972
- "annotation": "_empty",
973
- },
974
- {
975
- "name": "parameter",
976
- "kind": "KEYWORD_ONLY",
977
- "default": None,
978
- "annotation": "dict",
979
- },
980
- {
981
- "name": "kwargs",
982
- "kind": "VAR_KEYWORD",
983
- "default": "_empty",
984
- "annotation": "_empty",
985
- },
986
- ],
987
- },
988
- }
989
- )