bec-widgets 0.99.1__py3-none-any.whl → 0.99.9__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 (250) hide show
  1. .gitlab-ci.yml +0 -1
  2. CHANGELOG.md +76 -70
  3. PKG-INFO +2 -2
  4. bec_widgets/cli/client.py +3 -3
  5. bec_widgets/qt_utils/toolbar.py +11 -5
  6. bec_widgets/utils/bec_widget.py +11 -2
  7. bec_widgets/utils/colors.py +18 -2
  8. bec_widgets/utils/plugin_templates/plugin.template +2 -2
  9. bec_widgets/widgets/bec_queue/bec_queue.py +2 -0
  10. bec_widgets/widgets/bec_queue/bec_queue_plugin.py +1 -1
  11. bec_widgets/widgets/bec_status_box/bec_status_box.py +2 -0
  12. bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +1 -1
  13. bec_widgets/widgets/color_button/color_button.py +2 -0
  14. bec_widgets/widgets/color_button/color_button_plugin.py +1 -1
  15. bec_widgets/widgets/colormap_selector/colormap_selector.py +1 -0
  16. bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +1 -1
  17. bec_widgets/widgets/dark_mode_button/dark_mode_button.py +12 -3
  18. bec_widgets/widgets/dark_mode_button/dark_mode_button_plugin.py +1 -1
  19. bec_widgets/widgets/device_browser/device_browser.py +2 -0
  20. bec_widgets/widgets/device_browser/device_browser_plugin.py +1 -1
  21. bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +1 -1
  22. bec_widgets/widgets/device_combobox/device_combobox.py +2 -0
  23. bec_widgets/widgets/device_line_edit/device_line_edit.py +2 -0
  24. bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +1 -1
  25. bec_widgets/widgets/dock/dock.py +1 -0
  26. bec_widgets/widgets/dock/dock_area.py +30 -10
  27. bec_widgets/widgets/dock/dock_area_plugin.py +1 -1
  28. bec_widgets/widgets/figure/figure.py +1 -1
  29. bec_widgets/widgets/figure/plots/waveform/waveform.py +12 -7
  30. bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +3 -3
  31. bec_widgets/widgets/image/bec_image_widget_plugin.py +1 -1
  32. bec_widgets/widgets/image/image_widget.py +1 -0
  33. bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +1 -1
  34. bec_widgets/widgets/motor_map/motor_map_widget.py +1 -0
  35. bec_widgets/widgets/position_indicator/position_indicator.py +2 -0
  36. bec_widgets/widgets/position_indicator/position_indicator_plugin.py +1 -1
  37. bec_widgets/widgets/positioner_box/positioner_box.py +1 -0
  38. bec_widgets/widgets/positioner_box/positioner_box_plugin.py +1 -1
  39. bec_widgets/widgets/positioner_box/positioner_control_line.py +2 -0
  40. bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +1 -1
  41. bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +1 -0
  42. bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +1 -1
  43. bec_widgets/widgets/scan_control/scan_control.py +2 -0
  44. bec_widgets/widgets/scan_control/scan_control_plugin.py +1 -4
  45. bec_widgets/widgets/spinner/spinner.py +2 -0
  46. bec_widgets/widgets/spinner/spinner_widget_plugin.py +1 -1
  47. bec_widgets/widgets/stop_button/stop_button.py +2 -0
  48. bec_widgets/widgets/stop_button/stop_button_plugin.py +1 -1
  49. bec_widgets/widgets/text_box/text_box.py +1 -0
  50. bec_widgets/widgets/text_box/text_box_plugin.py +1 -1
  51. bec_widgets/widgets/toggle/toggle.py +1 -0
  52. bec_widgets/widgets/toggle/toggle_switch_plugin.py +1 -1
  53. bec_widgets/widgets/vscode/vs_code_editor_plugin.py +1 -1
  54. bec_widgets/widgets/vscode/vscode.py +1 -0
  55. bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +1 -1
  56. bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +14 -13
  57. bec_widgets/widgets/waveform/waveform_widget.py +3 -2
  58. bec_widgets/widgets/website/website.py +42 -10
  59. bec_widgets/widgets/website/website_widget_plugin.py +1 -1
  60. {bec_widgets-0.99.1.dist-info → bec_widgets-0.99.9.dist-info}/METADATA +2 -2
  61. bec_widgets-0.99.9.dist-info/RECORD +231 -0
  62. pyproject.toml +7 -2
  63. bec_widgets/assets/toolbar_icons/add.svg +0 -3
  64. bec_widgets/assets/toolbar_icons/attach_all.svg +0 -3
  65. bec_widgets/assets/toolbar_icons/auto_range.svg +0 -3
  66. bec_widgets/assets/toolbar_icons/compare.svg +0 -3
  67. bec_widgets/assets/toolbar_icons/connection.svg +0 -4
  68. bec_widgets/assets/toolbar_icons/device_line_edit.svg +0 -3
  69. bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -3
  70. bec_widgets/assets/toolbar_icons/export.svg +0 -9
  71. bec_widgets/assets/toolbar_icons/fft.svg +0 -11
  72. bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -3
  73. bec_widgets/assets/toolbar_icons/history.svg +0 -4
  74. bec_widgets/assets/toolbar_icons/image.svg +0 -3
  75. bec_widgets/assets/toolbar_icons/image_autorange.svg +0 -3
  76. bec_widgets/assets/toolbar_icons/import.svg +0 -9
  77. bec_widgets/assets/toolbar_icons/line_axis.svg +0 -3
  78. bec_widgets/assets/toolbar_icons/line_curve.svg +0 -3
  79. bec_widgets/assets/toolbar_icons/lock_aspect_ratio.svg +0 -3
  80. bec_widgets/assets/toolbar_icons/log_scale.png +0 -0
  81. bec_widgets/assets/toolbar_icons/motor_map.svg +0 -3
  82. bec_widgets/assets/toolbar_icons/photo_library.svg +0 -3
  83. bec_widgets/assets/toolbar_icons/positioner_box.svg +0 -3
  84. bec_widgets/assets/toolbar_icons/progress.svg +0 -3
  85. bec_widgets/assets/toolbar_icons/queue.svg +0 -3
  86. bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -3
  87. bec_widgets/assets/toolbar_icons/remove.svg +0 -5
  88. bec_widgets/assets/toolbar_icons/reset_settings.svg +0 -3
  89. bec_widgets/assets/toolbar_icons/restore_state.svg +0 -3
  90. bec_widgets/assets/toolbar_icons/ring_progress.svg +0 -3
  91. bec_widgets/assets/toolbar_icons/rotate_left.svg +0 -3
  92. bec_widgets/assets/toolbar_icons/rotate_right.svg +0 -3
  93. bec_widgets/assets/toolbar_icons/save.svg +0 -3
  94. bec_widgets/assets/toolbar_icons/save_state.svg +0 -3
  95. bec_widgets/assets/toolbar_icons/scan_control.svg +0 -3
  96. bec_widgets/assets/toolbar_icons/settings.svg +0 -4
  97. bec_widgets/assets/toolbar_icons/status.svg +0 -3
  98. bec_widgets/assets/toolbar_icons/terminal.svg +0 -3
  99. bec_widgets/assets/toolbar_icons/transform.svg +0 -3
  100. bec_widgets/assets/toolbar_icons/waveform.svg +0 -3
  101. bec_widgets-0.99.1.dist-info/RECORD +0 -415
  102. docs/Makefile +0 -20
  103. docs/_static/custom.css +0 -170
  104. docs/_templates/custom-class-template.rst +0 -34
  105. docs/_templates/custom-module-template.rst +0 -66
  106. docs/api_reference/api_reference.md +0 -12
  107. docs/assets/apps_48dp.svg +0 -1
  108. docs/assets/display_settings_48dp.svg +0 -1
  109. docs/assets/index_api.svg +0 -97
  110. docs/assets/index_contribute.svg +0 -76
  111. docs/assets/index_getting_started.svg +0 -66
  112. docs/assets/index_user_guide.svg +0 -67
  113. docs/assets/rocket_launch_48dp.svg +0 -1
  114. docs/assets/widget_screenshots/buttons.png +0 -0
  115. docs/assets/widget_screenshots/device_box.png +0 -0
  116. docs/assets/widget_screenshots/device_browser.png +0 -0
  117. docs/assets/widget_screenshots/device_inputs.png +0 -0
  118. docs/assets/widget_screenshots/dock_area.png +0 -0
  119. docs/assets/widget_screenshots/figure.png +0 -0
  120. docs/assets/widget_screenshots/image_widget.png +0 -0
  121. docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  122. docs/assets/widget_screenshots/position_indicator.png +0 -0
  123. docs/assets/widget_screenshots/queue.png +0 -0
  124. docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  125. docs/assets/widget_screenshots/scan_controller.png +0 -0
  126. docs/assets/widget_screenshots/spinner.gif +0 -0
  127. docs/assets/widget_screenshots/status_box.png +0 -0
  128. docs/assets/widget_screenshots/text_box.png +0 -0
  129. docs/assets/widget_screenshots/toggle.png +0 -0
  130. docs/assets/widget_screenshots/waveform_widget.png +0 -0
  131. docs/assets/widget_screenshots/website.png +0 -0
  132. docs/conf.py +0 -82
  133. docs/developer/developer.md +0 -52
  134. docs/developer/introduction/concepts.md +0 -14
  135. docs/developer/introduction/contributing.md +0 -28
  136. docs/developer/introduction/introduction.md +0 -16
  137. docs/developer/introduction/useful_links.md +0 -23
  138. docs/developer/widget_development/bec_dispatcher.md +0 -143
  139. docs/developer/widget_development/widget_development.md +0 -13
  140. docs/index.md +0 -74
  141. docs/introduction/introduction.md +0 -18
  142. docs/make.bat +0 -35
  143. docs/requirements.txt +0 -12
  144. docs/user/api_reference/api_reference.md +0 -11
  145. docs/user/applications/applications.md +0 -10
  146. docs/user/customisation.md +0 -123
  147. docs/user/getting_started/BECDockArea.png +0 -0
  148. docs/user/getting_started/auto_updates.md +0 -82
  149. docs/user/getting_started/getting_started.md +0 -15
  150. docs/user/getting_started/gui_complex_gui.gif +0 -0
  151. docs/user/getting_started/installation.md +0 -33
  152. docs/user/getting_started/quick_start.md +0 -110
  153. docs/user/getting_started/video_tutorials.md +0 -17
  154. docs/user/user.md +0 -71
  155. docs/user/widgets/bec_figure/BECFigure.png +0 -0
  156. docs/user/widgets/bec_figure/bec_figure.md +0 -105
  157. docs/user/widgets/bec_status_box/bec_status_box.gif +0 -0
  158. docs/user/widgets/bec_status_box/bec_status_box.md +0 -38
  159. docs/user/widgets/buttons/buttons.md +0 -63
  160. docs/user/widgets/buttons/dark_mode_disabled.png +0 -0
  161. docs/user/widgets/buttons/dark_mode_enabled.png +0 -0
  162. docs/user/widgets/device_browser/device_browser.md +0 -36
  163. docs/user/widgets/device_browser/device_browser.png +0 -0
  164. docs/user/widgets/device_input/device_input.md +0 -100
  165. docs/user/widgets/dock_area/BECDockArea.png +0 -0
  166. docs/user/widgets/dock_area/bec_dock_area.md +0 -107
  167. docs/user/widgets/image/image_plot.gif +0 -0
  168. docs/user/widgets/image/image_widget.md +0 -84
  169. docs/user/widgets/motor_map/motor.gif +0 -0
  170. docs/user/widgets/motor_map/motor_map.md +0 -80
  171. docs/user/widgets/position_indicator/position_indicator.md +0 -76
  172. docs/user/widgets/positioner_box/positioner_box.md +0 -63
  173. docs/user/widgets/progress_bar/progress_bar.gif +0 -0
  174. docs/user/widgets/progress_bar/ring_progress_bar.md +0 -103
  175. docs/user/widgets/queue/queue.md +0 -41
  176. docs/user/widgets/scan_control/hide_scan_control.png +0 -0
  177. docs/user/widgets/scan_control/scan_control.gif +0 -0
  178. docs/user/widgets/scan_control/scan_control.md +0 -54
  179. docs/user/widgets/spinner/spinner.md +0 -75
  180. docs/user/widgets/text_box/text_box.md +0 -74
  181. docs/user/widgets/toggle/toggle.md +0 -66
  182. docs/user/widgets/waveform/bec_figure_dap.gif +0 -0
  183. docs/user/widgets/waveform/scatter_2D.gif +0 -0
  184. docs/user/widgets/waveform/w1D.gif +0 -0
  185. docs/user/widgets/waveform/waveform_widget.md +0 -132
  186. docs/user/widgets/website/website.md +0 -69
  187. docs/user/widgets/widgets.md +0 -220
  188. tests/__init__.py +0 -0
  189. tests/end-2-end/__init__.py +0 -0
  190. tests/end-2-end/conftest.py +0 -53
  191. tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -298
  192. tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -212
  193. tests/end-2-end/test_rpc_register_e2e.py +0 -40
  194. tests/end-2-end/test_scan_control_e2e.py +0 -71
  195. tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
  196. tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
  197. tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
  198. tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
  199. tests/unit_tests/__init__.py +0 -0
  200. tests/unit_tests/client_mocks.py +0 -189
  201. tests/unit_tests/conftest.py +0 -64
  202. tests/unit_tests/test_bec_connector.py +0 -80
  203. tests/unit_tests/test_bec_dispatcher.py +0 -119
  204. tests/unit_tests/test_bec_dock.py +0 -155
  205. tests/unit_tests/test_bec_figure.py +0 -270
  206. tests/unit_tests/test_bec_image.py +0 -63
  207. tests/unit_tests/test_bec_image_widget.py +0 -217
  208. tests/unit_tests/test_bec_motor_map.py +0 -282
  209. tests/unit_tests/test_bec_queue.py +0 -111
  210. tests/unit_tests/test_bec_status_box.py +0 -123
  211. tests/unit_tests/test_client_utils.py +0 -76
  212. tests/unit_tests/test_color_map_selector.py +0 -42
  213. tests/unit_tests/test_color_validation.py +0 -75
  214. tests/unit_tests/test_configs/config_device.yaml +0 -33
  215. tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -27
  216. tests/unit_tests/test_configs/config_scan.yaml +0 -82
  217. tests/unit_tests/test_crosshair.py +0 -143
  218. tests/unit_tests/test_dark_mode_button.py +0 -70
  219. tests/unit_tests/test_device_browser.py +0 -83
  220. tests/unit_tests/test_device_input_base.py +0 -76
  221. tests/unit_tests/test_device_input_widgets.py +0 -178
  222. tests/unit_tests/test_error_utils.py +0 -63
  223. tests/unit_tests/test_generate_cli_client.py +0 -123
  224. tests/unit_tests/test_generate_plugin.py +0 -155
  225. tests/unit_tests/test_motor_map_widget.py +0 -194
  226. tests/unit_tests/test_msgs/__init__.py +0 -0
  227. tests/unit_tests/test_msgs/available_scans_message.py +0 -989
  228. tests/unit_tests/test_plot_base.py +0 -95
  229. tests/unit_tests/test_plugin_utils.py +0 -13
  230. tests/unit_tests/test_positioner_box.py +0 -130
  231. tests/unit_tests/test_ring_progress_bar.py +0 -337
  232. tests/unit_tests/test_rpc_register.py +0 -52
  233. tests/unit_tests/test_rpc_server.py +0 -42
  234. tests/unit_tests/test_rpc_widget_handler.py +0 -7
  235. tests/unit_tests/test_scan_control.py +0 -324
  236. tests/unit_tests/test_scan_control_group_box.py +0 -160
  237. tests/unit_tests/test_setting_dialog.py +0 -96
  238. tests/unit_tests/test_spinner.py +0 -31
  239. tests/unit_tests/test_stop_button.py +0 -27
  240. tests/unit_tests/test_text_box_widget.py +0 -54
  241. tests/unit_tests/test_toggle.py +0 -38
  242. tests/unit_tests/test_vscode_widget.py +0 -75
  243. tests/unit_tests/test_waveform1d.py +0 -712
  244. tests/unit_tests/test_waveform_widget.py +0 -462
  245. tests/unit_tests/test_website_widget.py +0 -25
  246. tests/unit_tests/test_widget_io.py +0 -90
  247. tests/unit_tests/test_yaml_dialog.py +0 -163
  248. {bec_widgets-0.99.1.dist-info → bec_widgets-0.99.9.dist-info}/WHEEL +0 -0
  249. {bec_widgets-0.99.1.dist-info → bec_widgets-0.99.9.dist-info}/entry_points.txt +0 -0
  250. {bec_widgets-0.99.1.dist-info → bec_widgets-0.99.9.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
- )