(...)` and
@@ -48,13 +48,14 @@ calls.
`IDSCamera` exposes two `PreviewSignal` components:
- **`image`** — the live-acquisition channel. A background thread
- (`_live_mode_loop`) continuously grabs frames and `put()`s them here at
- ~5 Hz while `live_mode_enabled` is `True`. Configured per-device with
- `num_rotation_90`/`transpose` (e.g. `num_rotation_90=3` for `cam_xeye`),
- applied automatically inside `PreviewSignal.put()`.
+ (`_live_mode_loop`) continuously grabs frames and `put()`s them here at
+ ~5 Hz while `live_mode_enabled` is `True`. Configured per-device with
+ `num_rotation_90`/`transpose` (e.g. `num_rotation_90=3` for `cam_xeye`),
+ applied automatically inside `PreviewSignal.put()`.
+
- **`smear_preview`** — a second, independent channel, added for this
- feature, with **no** rotation/transpose configured. Nothing else writes to
- it, so publishing here never races with the live thread.
+ feature, with **no** rotation/transpose configured. Nothing else writes to
+ it, so publishing here never races with the live thread.
`PreviewSignal` (and every `BECMessageSignal` subclass) has `rpc_access`
hardcoded off, so it is **not** reachable as a plain attribute from client
@@ -64,16 +65,18 @@ method that does the `.put()` server-side, where the signal *is* a normal
ophyd attribute:
- `get_last_image()` — read side; returns `self.image.get().data`, i.e.
- already display-oriented (rotation/transpose already applied by whichever
- `.put()` call stored it).
+ already display-oriented (rotation/transpose already applied by whichever
+ `.put()` call stored it).
+
- `push_preview_image(data)` — write side for `image`. Since data built from
- `get_last_image()` frames has already been transformed once, this method
- undoes the transform first so `self.image.put()`'s own transform doesn't
- apply it a second time (compensation is reverse-order: transpose first,
- then rotate by `-num_rotation_90`).
+ `get_last_image()` frames has already been transformed once, this method
+ undoes the transform first so `self.image.put()`'s own transform doesn't
+ apply it a second time (compensation is reverse-order: transpose first,
+ then rotate by `-num_rotation_90`).
+
- `push_smear_preview(data)` — write side for `smear_preview`. No
- compensation needed or applied, since that channel has no transform
- configured.
+ compensation needed or applied, since that channel has no transform
+ configured.
**Why two channels, not one:** the first working version pushed composites
through `push_preview_image` (the `image` channel), which meant briefly
@@ -118,58 +121,61 @@ lands after the sweep but before the click completes.
stepping the motor:
1. `scans.mv(dev.lsamrot, target)` (the file's `mv()` wrapper, sibling of the
- existing blocking `umv()`) issues the rotation **non-blocking** — it
- returns a `ScanReport` immediately rather than waiting for the move to
- finish.
+ existing blocking `umv()`) issues the rotation **non-blocking** — it
+ returns a `ScanReport` immediately rather than waiting for the move to
+ finish.
+
2. A plain loop polls `report.status` (exactly what `ScanReport.wait()` does
- internally) and, while it isn't `"COMPLETED"`, grabs a frame via
- `get_last_image()` and folds it into a running composite —
- all single-threaded, since the rotation is progressing concurrently on
- the server regardless of what the client does between polls. The
- composite is `np.minimum` for `projection="min"` (default; absorption
- contrast, dark features on a bright background) or `np.maximum` for
- `projection="max"` (bright features on a dark background). A
- max-projection is useless for absorption: the bright background passes
- every pixel at some point during the rotation and washes the dark
- features out. Taking the minimum is equivalent to inverting the frames,
- taking the maximum and inverting back, without needing the camera's
- full-scale value. The accumulation lives in `SmearComposite`
- (`x_ray_eye_align.py`). For `"min"` it also skips opaque pixels: in each
- frame, pixels darker than `opaque_level` (default 0.25) times the frame's
- 99th-percentile value count as opaque and are left out, so the sample
- holder rotating through the view does not black out every pixel it ever
- covers. It keeps the plain minimum alongside the masked one and falls
- back to it for pixels that were opaque in every frame; `opaque_level=0`
- is the plain minimum. Both values are validated up front (`ValueError`
- before any motion) and stored as `projection`/`opaque_level` attributes
- in the calibration HDF5.
+ internally) and, while it isn't `"COMPLETED"`, grabs a frame via
+ `get_last_image()` and folds it into a running composite —
+ all single-threaded, since the rotation is progressing concurrently on
+ the server regardless of what the client does between polls. The
+ composite is `np.minimum` for `projection="min"` (default; absorption
+ contrast, dark features on a bright background) or `np.maximum` for
+ `projection="max"` (bright features on a dark background). A
+ max-projection is useless for absorption: the bright background passes
+ every pixel at some point during the rotation and washes the dark
+ features out. Taking the minimum is equivalent to inverting the frames,
+ taking the maximum and inverting back, without needing the camera's
+ full-scale value. The accumulation lives in `SmearComposite`
+ (`x_ray_eye_align.py`). For `"min"` it also skips opaque pixels: in each
+ frame, pixels darker than `opaque_level` (default 0.25) times the frame's
+ 99th-percentile value count as opaque and are left out, so the sample
+ holder rotating through the view does not black out every pixel it ever
+ covers. It keeps the plain minimum alongside the masked one and falls
+ back to it for pixels that were opaque in every frame; `opaque_level=0`
+ is the plain minimum. Both values are validated up front (`ValueError`
+ before any motion) and stored as `projection`/`opaque_level` attributes
+ in the calibration HDF5.
+
3. Every `display_update_interval_s`, the current composite is pushed to
- `smear_preview` so the operator watches it grow; off-axis features trace
- arcs as the sample turns, and the common center of curvature of those
- arcs is the rotation axis.
+ `smear_preview` so the operator watches it grow; off-axis features trace
+ arcs as the sample turns, and the common center of curvature of those
+ arcs is the rotation axis.
+
4. Once the move completes, a final push leaves the finished composite
- displayed, the shutter is closed (unless `keep_shutter_open`), and the
- operator submits a click — reusing the exact same `_collect_click()` /
- `_compute_shift_to_fzp()` / `_apply_rotation_center_shift()` machinery and
- cumulative-shift accounting as the production `..._extended()` path.
+ displayed, the shutter is closed (unless `keep_shutter_open`), and the
+ operator submits a click — reusing the exact same `_collect_click()` /
+ `_compute_shift_to_fzp()` / `_apply_rotation_center_shift()` machinery and
+ cumulative-shift accounting as the production `..._extended()` path.
## Pitfall: regenerate the RPC client stub after changing `USER_ACCESS`
-:::{important}
-Whenever you add or rename a method in a plugin widget's `USER_ACCESS` list
-(e.g. `XRayEye.USER_ACCESS` in `x_ray_eye.py`), you must run:
+!!! warning "Important"
+ Whenever you add or rename a method in a plugin widget's `USER_ACCESS` list
+ (e.g. `XRayEye.USER_ACCESS` in `x_ray_eye.py`), you must run:
-```bash
-bw-generate-cli --target csaxs_bec
-```
+ ```bash
+ bw-generate-cli --target csaxs_bec
+ ```
+
+ and commit the resulting changes to `csaxs_bec/bec_widgets/widgets/client.py`
+ (and `designer_plugins.py`). Skipping this step does **not** raise an error
+ at import time or widget-construction time — it fails much later, and
+ confusingly, as an `AttributeError` raised from deep inside
+ `bec_widgets`'s RPC plumbing, even after fully restarting both the ipython
+ client and the GUI server process.
-and commit the resulting changes to `csaxs_bec/bec_widgets/widgets/client.py`
-(and `designer_plugins.py`). Skipping this step does **not** raise an error
-at import time or widget-construction time — it fails much later, and
-confusingly, as an `AttributeError` raised from deep inside
-`bec_widgets`'s RPC plumbing, even after fully restarting both the ipython
-client and the GUI server process.
-:::
The reason: `csaxs_bec/bec_widgets/widgets/client.py` is a **checked-in
generated file** containing one RPC stub class per plugin widget, mirroring
diff --git a/docs/developer/panda_box_free_running_data_schema.md b/docs/developer/panda_box_free_running_data_schema.md
index edf4d248..01cbeed1 100644
--- a/docs/developer/panda_box_free_running_data_schema.md
+++ b/docs/developer/panda_box_free_running_data_schema.md
@@ -42,7 +42,8 @@ explicit "scan point index" field is captured by the PandA itself.
## What this does *not* include
- No on-the-fly or post-scan computation of Mean/Min/Max/stdev from the raw
- samples — the raw stream is the complete record; deriving the previous
- per-point statistics from it is a separate future task.
+ samples — the raw stream is the complete record; deriving the previous
+ per-point statistics from it is a separate future task.
+
- No changes to how Mode A (legacy) data is written — this schema only
- applies when `raw_stream_mode: true`.
+ applies when `raw_stream_mode: true`.
diff --git a/docs/developer/panda_box_free_running_setup.md b/docs/developer/panda_box_free_running_setup.md
index 111caa21..8b54b474 100644
--- a/docs/developer/panda_box_free_running_setup.md
+++ b/docs/developer/panda_box_free_running_setup.md
@@ -58,63 +58,68 @@ The blocks already configured and aliased today, for reference / so this
layout can be restored unambiguously (see `ptycho_flomni.yaml`):
- `FMC_IN.VAL1`/`FMC_IN.VAL2` (capacitive sensor analog inputs) — `Min`,
- `Max`, `Mean` capture fields.
+ `Max`, `Mean` capture fields.
+
- `INENC1`-`INENC4.VAL` (position-capture encoder inputs) — `Min`, `Max`,
- `Mean` capture fields.
+ `Mean` capture fields.
+
- `PCAP.GATE_DURATION` — `Value`.
- PCAP gate is pulsed once per point / sub-frame by the existing external
- trigger electronics (unchanged by this work).
+ trigger electronics (unchanged by this work).
### Mode B (new) — free-running raw capture
- **Gate-bit input**: the detector-trigger signal, wired into `TTLIN1` (see
- "Physical wiring" above). `TTLIN1.VAL` is captured into **`PCAP.BITS0`,
- bit offset 0** — confirmed 2026-09-15 against the omny-panda hardware via:
+ "Physical wiring" above). `TTLIN1.VAL` is captured into **`PCAP.BITS0`,
+ bit offset 0** — confirmed 2026-09-15 against the omny-panda hardware via:
- ```
- TTLIN1.VAL.CAPTURE_WORD? -> OK =PCAP.BITS0
- TTLIN1.VAL.OFFSET? -> OK =0
- ```
+ ```text
+ TTLIN1.VAL.CAPTURE_WORD? -> OK =PCAP.BITS0
+ TTLIN1.VAL.OFFSET? -> OK =0
+ ```
+
+ `PCAP.BITS0` is a shared 32-bit capture word — other captured `bit_out`
+ signals (several TTLIN/LVDSIN/encoder bits are also flagged for capture on
+ this layout) may occupy other bit positions of the same word, so the raw
+ `PCAP.BITS0.Value` is **not** itself a clean 0/1. `PandaBoxOMNY` masks it
+ down to bit 0 in `raw_stream_mode` (see `_GATE_BIT_OFFSET` in
+ `panda_box_omny.py`) before publishing it as `gate_detector_active` — treat
+ that masking as required, not optional, unless it's confirmed nothing else
+ shares `BITS0`. Re-run the query above (read-only, safe against live
+ hardware) if the PandA layout is ever rebuilt, since bit assignment is
+ fixed by the FPGA build and not guaranteed stable across rebuilds.
- `PCAP.BITS0` is a shared 32-bit capture word — other captured `bit_out`
- signals (several TTLIN/LVDSIN/encoder bits are also flagged for capture on
- this layout) may occupy other bit positions of the same word, so the raw
- `PCAP.BITS0.Value` is **not** itself a clean 0/1. `PandaBoxOMNY` masks it
- down to bit 0 in `raw_stream_mode` (see `_GATE_BIT_OFFSET` in
- `panda_box_omny.py`) before publishing it as `gate_detector_active` — treat
- that masking as required, not optional, unless it's confirmed nothing else
- shares `BITS0`. Re-run the query above (read-only, safe against live
- hardware) if the PandA layout is ever rebuilt, since bit assignment is
- fixed by the FPGA build and not guaranteed stable across rebuilds.
- **Frame counter**: `COUNTER1`, triggered off `TTLIN1.VAL`'s **falling
- edge** (see layout below) — i.e. it increments once per *completed*
- detector exposure, not once per PCAP capture tick as originally guessed
- here. Captured with `CAPTURE=Value`; this is both the data-completeness
- signal and the completion-detection signal (`frame_counter` in
- `signal_alias`, see below, and "Completion check" in the mode-comparison
- table above) — once the last expected exposure's trigger pulse has fallen,
- `COUNTER1.OUT` reaches `num_points * frames_per_trigger` exactly.
+ edge** (see layout below) — i.e. it increments once per *completed*
+ detector exposure, not once per PCAP capture tick as originally guessed
+ here. Captured with `CAPTURE=Value`; this is both the data-completeness
+ signal and the completion-detection signal (`frame_counter` in
+ `signal_alias`, see below, and "Completion check" in the mode-comparison
+ table above) — once the last expected exposure's trigger pulse has fallen,
+ `COUNTER1.OUT` reaches `num_points * frames_per_trigger` exactly.
+
- **Raw analog/position capture**: `FMC_IN.VAL1`, `FMC_IN.VAL2` and all four
- `INENC1`-`4.VAL` are switched from aggregate capture to `CAPTURE=Value`
- on this layout (confirmed 2026-09-15) — i.e. every analog/encoder channel
- goes raw together, not a subset. This means the current PandA layout
- cannot simultaneously produce Mode A's aggregate (Min/Max/Mean) data — see
- "Open question" below.
+ `INENC1`-`4.VAL` are switched from aggregate capture to `CAPTURE=Value`
+ on this layout (confirmed 2026-09-15) — i.e. every analog/encoder channel
+ goes raw together, not a subset. This means the current PandA layout
+ cannot simultaneously produce Mode A's aggregate (Min/Max/Mean) data — see
+ "Open question" below.
+
- **Continuous gate/arm**: `CLOCK1`, enabled by the constant `ONE`, drives
- `PCAP`'s `gate` and `trig` inputs continuously (instead of the external
- per-point trigger used in Mode A), so PCAP free-runs at `CLOCK1`'s
- configured rate. Testing started at **100 Hz** on 2026-09-15 and will be
- ramped up; there is no PandA-side layout change needed to change the
- rate, only `CLOCK1`'s period.
+ `PCAP`'s `gate` and `trig` inputs continuously (instead of the external
+ per-point trigger used in Mode A), so PCAP free-runs at `CLOCK1`'s
+ configured rate. Testing started at **100 Hz** on 2026-09-15 and will be
+ ramped up; there is no PandA-side layout change needed to change the
+ rate, only `CLOCK1`'s period.
- ```
- TTLIN1 (TTL input 1, detector trigger)
- ├──▶ COUNTER1.trig, falling edge (Up/Down pulse counter) ──▶ COUNTER1.OUT = frame_counter (CAPTURE=Value)
- │ = completion signal too: reaches num_points * frames_per_trigger when the last exposure finishes
- └──▶ captured into PCAP.BITS0 bit 0 ──▶ masked in software = gate_detector_active
+ ```text
+ TTLIN1 (TTL input 1, detector trigger)
+ ├──▶ COUNTER1.trig, falling edge (Up/Down pulse counter) ──▶ COUNTER1.OUT = frame_counter (CAPTURE=Value)
+ │ = completion signal too: reaches num_points * frames_per_trigger when the last exposure finishes
+ └──▶ captured into PCAP.BITS0 bit 0 ──▶ masked in software = gate_detector_active
- CLOCK1 (enabled by constant ONE) ──▶ PCAP.gate, PCAP.trig (continuous arm/capture)
- ```
+ CLOCK1 (enabled by constant ONE) ──▶ PCAP.gate, PCAP.trig (continuous arm/capture)
+ ```
### Possible variant: gate continuous capture by exposure-active (proposed, not implemented)
@@ -124,7 +129,7 @@ free-runs continuously at `CLOCK1`'s rate regardless of whether the detector
is actually exposing -- including idle/dead time between exposures. The
proposal is to split the two roles so they're driven by different sources:
-```
+```text
CLOCK1 (enabled by constant ONE) ──▶ PCAP.trig (sample-rate clock, unchanged)
TTLIN1.VAL (detector-trigger / exposure-active) ──▶ PCAP.gate (only capture while exposing)
```
@@ -139,15 +144,17 @@ This should be a pure PandA-layout change -- no `ptycho_flomni.yaml` or
BEC signal names exist or what they mean:
- `TTLIN1.VAL` is already proven usable as a `PCAP.gate` source -- it's what
- Mode A already uses (`PCAP.GATE`/`PCAP.TRIG` = `TTLIN1.VAL` there).
+ Mode A already uses (`PCAP.GATE`/`PCAP.TRIG` = `TTLIN1.VAL` there).
+
- `frame_counter` (`COUNTER1`, clocked directly off `TTLIN1.VAL`'s falling
- edge, not off `PCAP`) is unaffected -- still counts every completed
- exposure and still works as the completion/grouping signal exactly as
- today.
+ edge, not off `PCAP`) is unaffected -- still counts every completed
+ exposure and still works as the completion/grouping signal exactly as
+ today.
+
- `gate_detector_active` (`PCAP.BITS0` bit 0, also `TTLIN1.VAL`) would become
- trivially always `1` on every captured row, since a row is only ever
- captured while that signal is high -- harmless, since `frame_counter`
- already does the actual per-exposure grouping, not the gate bit.
+ trivially always `1` on every captured row, since a row is only ever
+ captured while that signal is high -- harmless, since `frame_counter`
+ already does the actual per-exposure grouping, not the gate bit.
Motivation: at 20 kHz continuous (current, ungated behavior), the
free-running raw stream produces roughly 67-86 MB/minute (~4-5 GB/hour) of
@@ -174,7 +181,7 @@ repo under `csaxs_bec/devices/panda_box/layouts/` — `omny.ini` (Mode A) and
design named `OMNY`/`omny_freerun` respectively (switch the PandA's active
Design first, then save):
-```
+```text
python ophyd_devices/devices/panda_box/utility_scripts.py \
--host omny-panda.psi.ch --save-layout csaxs_bec/devices/panda_box/layouts/omny.ini
diff --git a/docs/index.md b/docs/index.md
index 85dd5352..5edf0e7b 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,51 +1,17 @@
-:html_theme.sidebar_secondary.remove:
-
# cSAXS documentation
Welcome to the cSAXS documentation. This documentation is divided into two main sections: the user guide and the developer guide. The user guide is intended for users of the cSAXS beamline, while the developer guide is intended for developers of the cSAXS beamline.
-
+
-````{grid} 2
-:gutter: 5
+- { width="32" height="32" .middle .card-icon } **[User guide](user/user.md)**
+ { .card-heading }
-```{grid-item-card}
-:link: introduction
-:link-type: ref
-:img-top: /assets/index_user_guide.svg
-:text-align: center
-:class-item: index-card
+ Information for users of the cSAXS beamline.
-## User guide
+- { width="32" height="32" .middle .card-icon } **[Developer guide](developer/developer.md)**
+ { .card-heading }
-Information for users of the cSAXS beamline.
-```
+ Information for developers of the cSAXS beamline.
-```{grid-item-card}
-:link: developer
-:link-type: ref
-:img-top: /assets/index_contribute.svg
-:text-align: center
-:class-item: index-card
-
-## Developer guide
-
-Information for developers of the cSAXS beamline.
-```
-
-````
-
-
-```{toctree}
----
-numbered: true
-maxdepth: 2
-hidden: true
----
-
-introduction/introduction
-safety/safety
-user/user
-developer/developer
-api_reference/api_reference
-```
+
diff --git a/docs/introduction/introduction.md b/docs/introduction/introduction.md
index 5ebeb808..d5b34190 100644
--- a/docs/introduction/introduction.md
+++ b/docs/introduction/introduction.md
@@ -1,4 +1,3 @@
-(introduction)=
# The cSAXS Beamline
## Overview
diff --git a/docs/log.txt b/docs/log.txt
deleted file mode 100644
index c01452a4..00000000
--- a/docs/log.txt
+++ /dev/null
@@ -1,470 +0,0 @@
-docstring of bec_widgets.utils.bec_table.BECTable.Shadow.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.utils.bec_table.BECTable.Shadow.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.utils.bec_table.BECTable.Shape.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.utils.bec_table.BECTable.Shape.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.examples.general_app.general_app.BECGeneralApp, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.examples.general_app.general_app.BECGeneralApp, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.examples.jupyter_console.jupyter_console_window.JupyterConsoleWindow, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.examples.jupyter_console.jupyter_console_window.JupyterConsoleWindow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.axes:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.axes, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.change_layout:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.change_layout, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.change_theme:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.change_theme, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.clear_all:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.clear_all, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.image:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.image, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.motor_map:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.motor_map, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.plot:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.plot, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.widget_list:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.widget_list, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECFigure.widgets:1: WARNING: duplicate object description of bec_widgets.cli.client.BECFigure.widgets, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECFigure, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.get_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.get_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_auto_downsample:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_auto_downsample, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_autorange:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_autorange, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_autorange_mode:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_autorange_mode, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_color_map:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_color_map, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_fft:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_fft, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_log:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_log, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_monitor:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_monitor, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_opacity:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_opacity, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_rotation:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_rotation, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_transpose:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_transpose, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageItem.set_vrange:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageItem.set_vrange, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageItem, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.add_custom_image:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.add_custom_image, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.add_image_by_config:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.add_image_by_config, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.image:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.image, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.images:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.images, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.lock_aspect_ratio:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.lock_aspect_ratio, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_autorange:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_autorange, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_autorange_mode:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_autorange_mode, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_color_map:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_color_map, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_fft:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_fft, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_grid:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_grid, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_image_properties:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_image_properties, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_log:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_log, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_monitor:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_monitor, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_processing:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_processing, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_rotation:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_rotation, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_transpose:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_transpose, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_vrange:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_vrange, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_x_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_x_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_x_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_x_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_x_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_x_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_y_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_y_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_y_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_y_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageShow.set_y_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageShow.set_y_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageShow, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.image:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.image, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.lock_aspect_ratio:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.lock_aspect_ratio, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_fft:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_fft, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_grid:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_grid, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_log:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_log, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_rotation:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_rotation, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_transpose:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_transpose, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_vrange:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_vrange, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_x_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_x_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_x_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_x_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_x_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_x_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_y_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_y_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_y_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_y_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECImageWidget.set_y_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECImageWidget.set_y_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.change_motors:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.change_motors, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.get_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.get_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.reset_history:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.reset_history, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.set_background_value:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.set_background_value, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.set_max_points:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.set_max_points, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.set_num_dim_points:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.set_num_dim_points, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.set_precision:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.set_precision, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMap.set_scatter_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMap.set_scatter_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMap, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.change_motors:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.change_motors, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.get_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.get_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.reset_history:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.reset_history, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.set_background_value:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.set_background_value, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.set_max_points:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.set_max_points, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.set_num_dim_points:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.set_num_dim_points, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.set_precision:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.set_precision, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECMotorMapWidget.set_scatter_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECMotorMapWidget.set_scatter_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.lock_aspect_ratio:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.lock_aspect_ratio, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_grid:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_grid, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_legend_label_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_legend_label_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_x_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_x_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_x_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_x_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_x_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_x_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_y_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_y_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_y_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_y_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECPlotBase.set_y_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECPlotBase.set_y_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECPlotBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECQueue:1: WARNING: duplicate object description of bec_widgets.cli.client.BECQueue, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECQueue, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECQueue.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECQueue, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECStatusBox:1: WARNING: duplicate object description of bec_widgets.cli.client.BECStatusBox, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECStatusBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECStatusBox.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECStatusBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.add_dap:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.add_dap, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.clear_all:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.clear_all, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.curves:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.curves, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.get_all_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.get_all_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.get_curve:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.get_curve, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.get_dap_params:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.get_dap_params, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.lock_aspect_ratio:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.lock_aspect_ratio, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.plot:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.plot, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.remove_curve:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.remove_curve, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.scan_history:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.scan_history, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_colormap:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_colormap, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_grid:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_grid, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_legend_label_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_legend_label_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_x:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_x, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_x_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_x_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_x_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_x_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_x_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_x_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_y_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_y_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_y_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_y_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveform.set_y_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveform.set_y_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveform, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.add_dap:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.add_dap, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.curves:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.curves, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.export:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.export, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.export_to_matplotlib:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.export_to_matplotlib, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.get_all_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.get_all_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.get_dap_params:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.get_dap_params, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.lock_aspect_ratio:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.lock_aspect_ratio, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.plot:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.plot, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.remove_curve:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.remove_curve, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.scan_history:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.scan_history, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_auto_range:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_auto_range, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_grid:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_grid, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_legend_label_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_legend_label_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_x:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_x, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_x_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_x_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_x_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_x_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_x_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_x_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_y_label:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_y_label, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_y_lim:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_y_lim, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECWaveformWidget.set_y_scale:1: WARNING: duplicate object description of bec_widgets.cli.client.BECWaveformWidget.set_y_scale, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.DeviceBox:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceBox, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceBox.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.DeviceComboBox:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceComboBox, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceComboBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceComboBox.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceComboBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.DeviceInputBase:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceInputBase, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceInputBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceInputBase.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceInputBase, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.DeviceLineEdit:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceLineEdit, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceLineEdit, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.DeviceLineEdit.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.DeviceLineEdit, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.reset_connection:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.reset_connection, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_background:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_background, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_color:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_color, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_line_width:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_line_width, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_min_max_values:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_min_max_values, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_start_angle:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_start_angle, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_update:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_update, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Ring.set_value:1: WARNING: duplicate object description of bec_widgets.cli.client.Ring.set_value, other instance in api_reference/_autosummary/bec_widgets.cli.client.Ring, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.add_ring:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.add_ring, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.enable_auto_updates:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.enable_auto_updates, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.remove_ring:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.remove_ring, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.reset_diameter:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.reset_diameter, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.rings:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.rings, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_colors_directly:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_colors_directly, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_colors_from_map:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_colors_from_map, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_diameter:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_diameter, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_gap:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_gap, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_line_widths:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_line_widths, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_min_max_values:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_min_max_values, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_number_of_bars:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_number_of_bars, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_precision:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_precision, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.set_value:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.set_value, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.RingProgressBar.update_config:1: WARNING: duplicate object description of bec_widgets.cli.client.RingProgressBar.update_config, other instance in api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.ScanControl:1: WARNING: duplicate object description of bec_widgets.cli.client.ScanControl, other instance in api_reference/_autosummary/bec_widgets.cli.client.ScanControl, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.ScanControl.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.ScanControl, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.StopButton:1: WARNING: duplicate object description of bec_widgets.cli.client.StopButton, other instance in api_reference/_autosummary/bec_widgets.cli.client.StopButton, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.StopButton.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.StopButton, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.TextBox:1: WARNING: duplicate object description of bec_widgets.cli.client.TextBox, other instance in api_reference/_autosummary/bec_widgets.cli.client.TextBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.TextBox.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.TextBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.TextBox.set_color:1: WARNING: duplicate object description of bec_widgets.cli.client.TextBox.set_color, other instance in api_reference/_autosummary/bec_widgets.cli.client.TextBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.TextBox.set_font_size:1: WARNING: duplicate object description of bec_widgets.cli.client.TextBox.set_font_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.TextBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.TextBox.set_text:1: WARNING: duplicate object description of bec_widgets.cli.client.TextBox.set_text, other instance in api_reference/_autosummary/bec_widgets.cli.client.TextBox, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.VSCodeEditor:1: WARNING: duplicate object description of bec_widgets.cli.client.VSCodeEditor, other instance in api_reference/_autosummary/bec_widgets.cli.client.VSCodeEditor, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.VSCodeEditor.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.VSCodeEditor, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget.back:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.back, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget.forward:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.forward, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget.get_url:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.get_url, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget.reload:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.reload, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.WebsiteWidget.set_url:1: WARNING: duplicate object description of bec_widgets.cli.client.WebsiteWidget.set_url, other instance in api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.__add__:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.__add__, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.__mul__:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.__mul__, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.capitalize:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.capitalize, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.casefold:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.casefold, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.center:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.center, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.count:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.count, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.encode:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.encode, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.endswith:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.endswith, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.expandtabs:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.expandtabs, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.find:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.find, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.format:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.format, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.format_map:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.format_map, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.index:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.index, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isalnum:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isalnum, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isalpha:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isalpha, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isascii:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isascii, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isdecimal:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isdecimal, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isdigit:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isdigit, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isidentifier:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isidentifier, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.islower:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.islower, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isnumeric:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isnumeric, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isprintable:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isprintable, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isspace:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isspace, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.istitle:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.istitle, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.isupper:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.isupper, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.join:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.join, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.ljust:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.ljust, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.lower:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.lower, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.lstrip:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.lstrip, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.maketrans:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.maketrans, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.partition:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.partition, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.removeprefix:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.removeprefix, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.removesuffix:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.removesuffix, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.replace:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.replace, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rfind:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rfind, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rindex:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rindex, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rjust:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rjust, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rpartition:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rpartition, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rsplit:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rsplit, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.rstrip:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.rstrip, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.split:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.split, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.splitlines:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.splitlines, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.startswith:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.startswith, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.strip:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.strip, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.swapcase:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.swapcase, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.title:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.title, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.translate:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.translate, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.upper:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.upper, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.Widgets.zfill:1: WARNING: duplicate object description of bec_widgets.cli.client.Widgets.zfill, other instance in api_reference/_autosummary/bec_widgets.cli.client.Widgets, use :no-index: for one of them
-docstring of bec_widgets.examples.plugin_example_pyside.tictactoetaskmenu.TicTacToeDialog.DialogCode.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.examples.plugin_example_pyside.tictactoetaskmenu.TicTacToeDialog.DialogCode.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoetaskmenu.TicTacToeDialog, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoetaskmenu.TicTacToeDialog, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.qt_utils.error_popups.ExampleWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.qt_utils.error_popups.ExampleWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QDialog.DialogCode:1: WARNING: duplicate object description of PySide6.QtWidgets.QDialog.DialogCode, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoetaskmenu.TicTacToeDialog, use :no-index: for one of them
-docstring of bec_widgets.qt_utils.settings_dialog.SettingsDialog.DialogCode.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.qt_utils.settings_dialog.SettingsDialog.DialogCode.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.qt_utils.settings_dialog.SettingWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.qt_utils.settings_dialog.SettingWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.qt_utils.settings_dialog.SettingsDialog, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.qt_utils.settings_dialog.SettingsDialog, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoe.TicTacToe, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoe.TicTacToe, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.stop_button.stop_button.StopButton, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.stop_button.stop_button.StopButton, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.Shadow:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.Shadow, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-docstring of bec_widgets.widgets.text_box.text_box.TextBox.Shadow.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.widgets.text_box.text_box.TextBox.Shadow.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.Shape:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.Shape, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-docstring of bec_widgets.widgets.text_box.text_box.TextBox.Shape.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.widgets.text_box.text_box.TextBox.Shape.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractScrollArea.SizeAdjustPolicy:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractScrollArea.SizeAdjustPolicy, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.StyleMask:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.StyleMask, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.toggle.toggle.ToggleSwitch, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.toggle.toggle.ToggleSwitch, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.CurveSettings, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.CurveSettings, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.RemoveButton, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.RemoveButton, use :no-index: for one of them
-docstring of bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog.FitSummaryWidget.DialogCode.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog.FitSummaryWidget.DialogCode.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.StyleComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.StyleComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog.FitSummaryWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog.FitSummaryWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/developer/developer.md:6: WARNING: toctree contains reference to nonexisting document 'developer/api_reference/api_reference'
-/Users/wakonig_k/software/work/bec-widgets/docs/index.md:60: WARNING: 'toctree': Invalid option value for 'numbered': true: invalid literal for int() with base 10: 'true' [myst.directive_option]
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client:1: WARNING: duplicate object description of bec_widgets.cli.client, other instance in api_reference/_autosummary/bec_widgets.cli.client, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.dap_params:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.dap_params, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.get_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.get_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_color:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_color, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_color_map_z:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_color_map_z, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_data:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_data, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_pen_style:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_pen_style, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_pen_width:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_pen_width, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_symbol:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_symbol, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_symbol_color:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_symbol_color, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECCurve.set_symbol_size:1: WARNING: duplicate object description of bec_widgets.cli.client.BECCurve.set_symbol_size, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECCurve, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.add_widget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.add_widget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.attach:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.attach, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.detach:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.detach, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.get_widgets_positions:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.get_widgets_positions, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.hide_title_bar:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.hide_title_bar, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.list_eligible_widgets:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.list_eligible_widgets, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.move_widget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.move_widget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.remove:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.remove, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.remove_widget:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.remove_widget, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.set_title:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.set_title, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.show_title_bar:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.show_title_bar, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDock.widget_list:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDock.widget_list, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDock, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.add_dock:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.add_dock, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.attach_all:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.attach_all, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.clear_all:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.clear_all, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.BECGuiClientMixin.close:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.close, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.detach_dock:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.detach_dock, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.RPCBase.gui_is_alive:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.gui_is_alive, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.panels:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.panels, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.remove_dock:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.remove_dock, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.restore_state:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.restore_state, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.save_state:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.save_state, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.selected_device:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.selected_device, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client_utils.BECGuiClientMixin.show:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.show, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/client.py:docstring of bec_widgets.cli.client.BECDockArea.temp_areas:1: WARNING: duplicate object description of bec_widgets.cli.client.BECDockArea.temp_areas, other instance in api_reference/_autosummary/bec_widgets.cli.client.BECDockArea, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.qt_utils.toolbar.ModularToolBar, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.qt_utils.toolbar.ModularToolBar, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.image.image_widget.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.image.image_widget.BECImageWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.jupyter_console.jupyter_console.BECJupyterConsole, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.jupyter_console.jupyter_console.BECJupyterConsole, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_settings.MotorMapSettings, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_settings.MotorMapSettings, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.motor_map.motor_map_widget.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.motor_map.motor_map_widget.BECMotorMapWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoe.TicTacToe, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.examples.plugin_example_pyside.tictactoe.TicTacToe, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.ring_progress_bar.ring_progress_bar.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.ring_progress_bar.ring_progress_bar.RingProgressBar, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_control.ScanControl, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_control.ScanControl, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanCheckBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanCheckBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanGroupBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanGroupBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractSpinBox.ButtonSymbols:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractSpinBox.ButtonSymbols, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractSpinBox.CorrectionMode:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractSpinBox.CorrectionMode, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanLineEdit, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanLineEdit, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractSpinBox.StepEnabledFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractSpinBox.StepEnabledFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractSpinBox.StepType:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractSpinBox.StepType, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanDoubleSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.scan_control.scan_group_box.ScanSpinBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.vscode.vscode.VSCodeEditor, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.vscode.vscode.VSCodeEditor, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.website.website.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.website.website.WebsiteWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QComboBox.InsertPolicy:1: WARNING: duplicate object description of PySide6.QtWidgets.QComboBox.InsertPolicy, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.StyleComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.device_box.device_box.DeviceBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.device_box.device_box.DeviceBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QComboBox.SizeAdjustPolicy:1: WARNING: duplicate object description of PySide6.QtWidgets.QComboBox.SizeAdjustPolicy, other instance in api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog.StyleComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.device_combobox.device_combobox.DeviceComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.device_combobox.device_combobox.DeviceComboBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.device_line_edit.device_line_edit.DeviceLineEdit, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.device_line_edit.device_line_edit.DeviceLineEdit, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.position_indicator.position_indicator.PositionIndicator, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.position_indicator.position_indicator.PositionIndicator, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.bec_status_box.bec_status_box.BECStatusBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.bec_status_box.bec_status_box.BECStatusBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.bec_status_box.status_item.StatusItem, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.bec_status_box.status_item.StatusItem, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.CursorAction:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.CursorAction, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.DragDropMode:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.DragDropMode, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.DropIndicatorPosition:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.DropIndicatorPosition, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.EditTrigger:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.EditTrigger, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtGui.QPaintDevice.PaintDeviceMetric:1: WARNING: duplicate object description of PySide6.QtGui.QPaintDevice.PaintDeviceMetric, other instance in api_reference/_autosummary/bec_widgets.widgets.spinner.spinner.SpinnerWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QWidget.RenderFlag:1: WARNING: duplicate object description of PySide6.QtWidgets.QWidget.RenderFlag, other instance in api_reference/_autosummary/bec_widgets.widgets.spinner.spinner.SpinnerWidget, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.ScrollHint:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.ScrollHint, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.ScrollMode:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.ScrollMode, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.SelectionBehavior:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.SelectionBehavior, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.SelectionMode:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.SelectionMode, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.Shadow:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.Shadow, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-docstring of bec_widgets.widgets.bec_queue.bec_queue.BECQueue.Shadow.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.widgets.bec_queue.bec_queue.BECQueue.Shadow.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.Shape:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.Shape, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-docstring of bec_widgets.widgets.bec_queue.bec_queue.BECQueue.Shape.from_bytes:9: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-docstring of bec_widgets.widgets.bec_queue.bec_queue.BECQueue.Shape.to_bytes:7: WARNING: Inline interpreted text or phrase reference start-string without end-string.
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractScrollArea.SizeAdjustPolicy:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractScrollArea.SizeAdjustPolicy, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QAbstractItemView.State:1: WARNING: duplicate object description of PySide6.QtWidgets.QAbstractItemView.State, other instance in api_reference/_autosummary/bec_widgets.utils.bec_table.BECTable, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/docstring of PySide6.QtWidgets.QFrame.StyleMask:1: WARNING: duplicate object description of PySide6.QtWidgets.QFrame.StyleMask, other instance in api_reference/_autosummary/bec_widgets.widgets.text_box.text_box.TextBox, use :no-index: for one of them
-/Users/wakonig_k/software/work/bec-widgets/docs/user/customisation.md: WARNING: document isn't included in any toctree
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/introduction.md: WARNING: document isn't included in any toctree
-/Users/wakonig_k/software/work/bec-widgets/docs/user/widgets/scan_control.md: WARNING: document isn't included in any toctree
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/auto_updates.py:docstring of bec_widgets.cli.auto_updates.AutoUpdates:1: WARNING: more than one target found for cross-reference 'BECDockArea': bec_widgets.cli.client.BECDockArea, bec_widgets.widgets.dock.dock_area.BECDockArea
-/Users/wakonig_k/.pyenv/versions/bec_widgets_docs/lib/python3.10/site-packages/bec_widgets/cli/auto_updates.py:docstring of bec_widgets.cli.auto_updates.AutoUpdates.get_default_figure:1: WARNING: more than one target found for cross-reference 'BECFigure': bec_widgets.cli.client.BECFigure, bec_widgets.widgets.figure.figure.BECFigure
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.qt_utils.toolbar.DeviceSelectionAction.rst:2: WARNING: more than one target found for cross-reference 'DeviceComboBox': bec_widgets.cli.client.DeviceComboBox, bec_widgets.widgets.device_combobox.device_combobox.DeviceComboBox
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.dock.dock_area.BECDockArea.rst:2: WARNING: more than one target found for cross-reference 'BECDock': bec_widgets.cli.client.BECDock, bec_widgets.widgets.dock.dock.BECDock
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.dock.dock_area.BECDockArea.rst:2: WARNING: more than one target found for cross-reference 'BECDock': bec_widgets.cli.client.BECDock, bec_widgets.widgets.dock.dock.BECDock
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.dock.dock_area.BECDockArea.rst:2: WARNING: more than one target found for cross-reference 'BECDock': bec_widgets.cli.client.BECDock, bec_widgets.widgets.dock.dock.BECDock
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.figure.BECFigure.rst:2: WARNING: more than one target found for cross-reference 'BECPlotBase': bec_widgets.cli.client.BECPlotBase, bec_widgets.widgets.figure.plots.plot_base.BECPlotBase
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.figure.BECFigure.rst:2: WARNING: more than one target found for cross-reference 'BECImageShow': bec_widgets.cli.client.BECImageShow, bec_widgets.widgets.figure.plots.image.image.BECImageShow
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.figure.BECFigure.rst:2: WARNING: more than one target found for cross-reference 'BECMotorMap': bec_widgets.cli.client.BECMotorMap, bec_widgets.widgets.figure.plots.motor_map.motor_map.BECMotorMap
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.figure.BECFigure.rst:2: WARNING: more than one target found for cross-reference 'BECWaveform': bec_widgets.cli.client.BECWaveform, bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.figure.WidgetHandler.rst:2: WARNING: more than one target found for cross-reference 'BECPlotBase': bec_widgets.cli.client.BECPlotBase, bec_widgets.widgets.figure.plots.plot_base.BECPlotBase
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.image.image.BECImageShow.rst:2: WARNING: more than one target found for cross-reference 'BECImageItem': bec_widgets.cli.client.BECImageItem, bec_widgets.widgets.figure.plots.image.image_item.BECImageItem
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.image.image.BECImageShow.rst:2: WARNING: more than one target found for cross-reference 'BECImageItem': bec_widgets.cli.client.BECImageItem, bec_widgets.widgets.figure.plots.image.image_item.BECImageItem
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.image.image.BECImageShow.rst:2: WARNING: more than one target found for cross-reference 'BECImageItem': bec_widgets.cli.client.BECImageItem, bec_widgets.widgets.figure.plots.image.image_item.BECImageItem
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.image.image.BECImageShow.rst:2: WARNING: more than one target found for cross-reference 'BECImageItem': bec_widgets.cli.client.BECImageItem, bec_widgets.widgets.figure.plots.image.image_item.BECImageItem
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.figure.plots.waveform.waveform.BECWaveform.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.ring_progress_bar.ring_progress_bar.RingProgressBar.rst:2: WARNING: more than one target found for cross-reference 'Ring': bec_widgets.cli.client.Ring, bec_widgets.widgets.ring_progress_bar.ring.Ring
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget.rst:2: WARNING: more than one target found for cross-reference 'BECCurve': bec_widgets.cli.client.BECCurve, bec_widgets.widgets.figure.plots.waveform.waveform_curve.BECCurve
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:18: WARNING: 'myst' cross-reference target not found: 'user.widgets.waveform_1d' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:25: WARNING: local id not found in doc 'api_reference/_autosummary/bec_widgets.cli.client.BECFigure': 'bec_widgets.cli.client.BECFigure.plot' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:30: WARNING: local id not found in doc 'api_reference/_autosummary/bec_widgets.cli.client.BECWaveform': 'bec_widgets.cli.client.BECWaveform.set_title' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:30: WARNING: local id not found in doc 'api_reference/_autosummary/bec_widgets.cli.client.BECWaveform': 'bec_widgets.cli.client.BECWaveform.set_x_label' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:30: WARNING: local id not found in doc 'api_reference/_autosummary/bec_widgets.cli.client.BECWaveform': 'bec_widgets.cli.client.BECWaveform.set_x_lim' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:30: WARNING: 'myst' cross-reference target not found: 'user.widgets.waveform_1d' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:46: WARNING: 'myst' cross-reference target not found: '/api_reference/_autosummary/bec_widgets.cli.client.BECWaveForm' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:54: WARNING: 'myst' cross-reference target not found: 'user.widgets.image' [myst.xref_missing]
-/Users/wakonig_k/software/work/bec-widgets/docs/user/getting_started/quick_start.md:58: WARNING: Lexing literal_block 'gui.add_dock? # shows the dockstring of the add_dock method\n' as "python" resulted in an error at token: '?'. Retrying in relaxed mode.
diff --git a/docs/make.bat b/docs/make.bat
deleted file mode 100644
index 32bb2452..00000000
--- a/docs/make.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@ECHO OFF
-
-pushd %~dp0
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
- set SPHINXBUILD=sphinx-build
-)
-set SOURCEDIR=.
-set BUILDDIR=_build
-
-%SPHINXBUILD% >NUL 2>NUL
-if errorlevel 9009 (
- echo.
- echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
- echo.installed, then set the SPHINXBUILD environment variable to point
- echo.to the full path of the 'sphinx-build' executable. Alternatively you
- echo.may add the Sphinx directory to PATH.
- echo.
- echo.If you don't have Sphinx installed, grab it from
- echo.https://www.sphinx-doc.org/
- exit /b 1
-)
-
-if "%1" == "" goto help
-
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-goto end
-
-:help
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-
-:end
-popd
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index 247a183f..00000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-sphinx<9
-sphinx_copybutton
-recommonmark
-sphinx-toolbox
-pydata-sphinx-theme
-sphinx-copybutton
-sphinx-inline-tabs
-myst-parser
-sphinx-design
-tomli
diff --git a/docs/safety/safety.md b/docs/safety/safety.md
index a846d1fb..4a52af3a 100644
--- a/docs/safety/safety.md
+++ b/docs/safety/safety.md
@@ -1,5 +1,3 @@
-(safety)=
-
# Safety at cSAXS
Working safely at the beamline is everyone's responsibility. All activities must
@@ -8,30 +6,28 @@ with the ongoing work. Please read this page and the full checklist before
starting your experiment, and discuss any safety-related question with your local
contact.
-```{important}
-**No experiment may be conducted before the signed Safety Declaration form has
-been handed to your local contact.** Every person working at the beamline must be
-named on that form. Violations result in the immediate termination of the
-experiment.
+!!! warning "Important"
+ **No experiment may be conducted before the signed Safety Declaration form has
+ been handed to your local contact.** Every person working at the beamline must be
+ named on that form. Violations result in the immediate termination of the
+ experiment.
-📄 **[Open the Safety Declaration form (PDF)](https://www.psi.ch/en/media/58834/download)**
-```
+ 📄 **[Open the Safety Declaration form (PDF)](https://www.psi.ch/en/media/58834/download)**
-```{admonition} In an emergency
-:class: danger
-- **Call 3333** — be ready to state *Who? What? When? Where?*
-- Know the location of the nearest **emergency exit**, **fire extinguisher**,
- **emergency shower / eye wash**, and **first-aid kit**.
-- Never hesitate to ask your local contact for advice or help.
-```
+!!! danger "In an emergency"
+ - **Call 3333** — be ready to state *Who? What? When? Where?*
+ - Know the location of the nearest **emergency exit**, **fire extinguisher**,
+ **emergency shower / eye wash**, and **first-aid kit**.
+ - Never hesitate to ask your local contact for advice or help.
+
## Safety checklist (printable PDF)
Your local contact will go through the *Safety at cSAXS* checklist with you, covering emergencies, general behaviour,
working inside the hutch, and experiment safety. It is available as a printable PDF.
-{download}`⬇ Download the "Safety at cSAXS" checklist (PDF) <../assets/safety-at-csaxs.pdf>`
+[⬇ Download the "Safety at cSAXS" checklist (PDF)](../assets/safety-at-csaxs.pdf)
## Key safety links
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
new file mode 100644
index 00000000..45b68390
--- /dev/null
+++ b/docs/stylesheets/extra.css
@@ -0,0 +1,61 @@
+/* The original card SVGs have fixed dark fills; keep them visible in dark mode. */
+[data-md-color-scheme="slate"] .md-typeset .card-icon {
+ filter: brightness(0) invert(0.85);
+}
+
+/* Keep section cards balanced when icon proportions and title lengths differ. */
+.md-typeset .section-grid {
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
+ gap: 1rem;
+}
+
+.md-typeset .section-grid.cards > ul > li {
+ position: relative;
+ padding: 1.1rem;
+}
+
+/* Stretch the existing heading link across its card without extra tab stops. */
+.md-typeset .section-grid .card-heading a::after {
+ position: absolute;
+ inset: 0;
+ content: "";
+}
+
+.md-typeset .section-grid.cards > ul > li:focus-within {
+ outline: 2px solid var(--md-accent-fg-color);
+ outline-offset: 2px;
+}
+
+.md-typeset .section-grid .card-heading {
+ display: flex;
+ align-items: center;
+ gap: 0.7rem;
+ min-height: 2.6rem;
+ margin: 0 0 0.8rem;
+ line-height: 1.4;
+}
+
+.md-typeset .section-grid .card-icon {
+ flex: 0 0 1.6rem;
+ width: 1.6rem;
+ height: 1.6rem;
+ object-fit: contain;
+ margin: 0;
+}
+
+.md-typeset .section-grid .card-heading strong {
+ font-size: 0.85rem;
+}
+
+.md-typeset .section-grid .card-heading a {
+ text-decoration: none;
+}
+
+.md-typeset .section-grid .card-heading a:hover,
+.md-typeset .section-grid .card-heading a:focus-visible {
+ text-decoration: underline;
+}
+
+.md-typeset .section-grid .card-heading + p {
+ margin: 0;
+}
diff --git a/docs/user/before_you_arrive/before_you_arrive.md b/docs/user/before_you_arrive/before_you_arrive.md
index 3064ea7a..6f0e8c80 100644
--- a/docs/user/before_you_arrive/before_you_arrive.md
+++ b/docs/user/before_you_arrive/before_you_arrive.md
@@ -1,5 +1,4 @@
-(user.before_you_arrive)=
# Before you arrive
-## Before you arrive
\ No newline at end of file
+## Before you arrive
diff --git a/docs/user/data_analysis/computing.md b/docs/user/data_analysis/computing.md
index 54283d44..7e0b660c 100644
--- a/docs/user/data_analysis/computing.md
+++ b/docs/user/data_analysis/computing.md
@@ -1,4 +1,3 @@
-(user.data_analysis.computing)=
# Online data analysis
We can access the online computing resources from the beamline consoles when logged in as the e-account.
diff --git a/docs/user/data_analysis/data_analysis.md b/docs/user/data_analysis/data_analysis.md
index c145f374..848027e3 100644
--- a/docs/user/data_analysis/data_analysis.md
+++ b/docs/user/data_analysis/data_analysis.md
@@ -1,34 +1,13 @@
-(user.data_analysis)=
# Data analysis
Welcome to the data analysis section of the cSAXS beamline.
-```{toctree}
----
-maxdepth: 2
-hidden: true
----
+
-computing
+- { width="32" height="32" .middle .card-icon } **[Online data analysis](computing.md)**
+ { .card-heading }
-```
+ Allocating compute nodes, programming using Python and Matlab during the beamtime.
+
-***
-
-````{grid} 2
-:gutter: 5
-
-```{grid-item-card}
-:link: user.data_analysis.computing
-:link-type: ref
-:img-top: /assets/index_user_guide.svg
-:text-align: center
-:class-item: index-card
-
-## Online data analysis
-
-Allocating compute nodes, programming using Python and Matlab during the beamtime.
-```
-
-````
-For offline analysis, more detailed documentation on use of slurm on Ra, description of NoMachine setup is available at https://dari.pages.psi.ch/ra/compute.html/.
+For offline analysis, more detailed documentation on use of slurm on Ra, description of NoMachine setup is available at .
diff --git a/docs/user/ptychography/flomni.md b/docs/user/ptychography/flomni.md
index b789a49c..b7fe0c6e 100644
--- a/docs/user/ptychography/flomni.md
+++ b/docs/user/ptychography/flomni.md
@@ -1,4 +1,3 @@
-(user.ptychography.flomni)=
# flOMNI
flOMNI is an instrument for tomographic measurements via X-ray ptychography. The sample environment is at atmospheric pressure and room temperature (or higher).
@@ -9,7 +8,7 @@ Samples are to be mounted on [OMNY pins](https://www.dora.lib4ri.ch/psi/islandor
… a step-by-step guide for users
-(user.ptychography.flomni.transfer)=
+
### Sample storage and transfer
Print the current usage of the sample storage
@@ -35,8 +34,8 @@ __If something goes wrong__, there are additional commands to perform a manual o
| command | explanation |
| --- | --- |
-| `flomni.ftransfer_get_sample()` | Pick sample from |
-| `flomni.ftransfer_put_sample()` | Mount sample at |
+| `flomni.ftransfer_get_sample()` | Pick sample from <position> |
+| `flomni.ftransfer_put_sample()` | Mount sample at <position> |
| `flomni.ftransfer_flomni_stage_in()` | stage to measurement position |
| `flomni.ftransfer_flomni_stage_out()` | stage to the sample change position |
@@ -56,11 +55,11 @@ If you see your sample already at the approximately correct height:
1. `flomni.xrayeye_alignment_start()` start the coarse alignment of the sample by measuring (clicking in the X-ray eye software) the sample position at its height and then angles of 0, 45, 90, 135, 180 degrees. The GUI will present a fit of this data, which is automatically loaded to BEC for aligning the sample.
- **Flat samples** are edge-on at 90 degrees, so their center cannot be measured there: press **Skip** in the GUI instead of Submit to leave that angle out. One angle may be skipped, the fit needs at least 4 of the 5 angles; a second Skip is refused with a message. Skipping 45, 90 or 135 degrees costs little accuracy, skipping 0 or 180 degrees makes the fit noticeably noisier (a warning is printed). The FZP center and the height marking cannot be skipped. With 4 points the fit cannot flag a bad click, so check the plot. The skipped angles are stored in the alignment h5 file.
+ **Flat samples** are edge-on at 90 degrees, so their center cannot be measured there: press **Skip** in the GUI instead of Submit to leave that angle out. One angle may be skipped, the fit needs at least 4 of the 5 angles; a second Skip is refused with a message. Skipping 45, 90 or 135 degrees costs little accuracy, skipping 0 or 180 degrees makes the fit noticeably noisier (a warning is printed). The FZP center and the height marking cannot be skipped. With 4 points the fit cannot flag a bad click, so check the plot. The skipped angles are stored in the alignment h5 file.
Otherwise adjust the height manually:
-1. `flomni.umvr_fsamy_tracked(0.01)`, attention: unit , move the sample stage relative up (positive) or down (negative) until the sample is approximately vertically centered in xray eye screen
+1. `flomni.umvr_fsamy_tracked(0.01)`, attention: unit <mm>, move the sample stage relative up (positive) or down (negative) until the sample is approximately vertically centered in xray eye screen
1. `flomni.xrayeye_update_frame()` will update the current image on the xray eye screen
#### Fine alignment
@@ -76,13 +75,15 @@ _To bypass the fine alignment: `flomni.feye_out()`_
### Tomographic Measurement
Now that the sample is aligned, the tomographic measurement can be performed.
-1. `flomni.tomo_parameters()` opens the tomo parameter window (GUI) to adjust the scan parameters for the tomographic scan (`flomni.tomo_parameters_cli()` is the command line version, which prompts for each value in the terminal). This includes the parameters for ptychographic scans of projections plus the strategy for angular sampling. The vertical shift adjusts the field of view, up (positive) or down (negative). After adjusting the numbers, type again `flomni.tomo_parameters()` and verify that they are correct. Besides the computed angular sampling modes, `tomo_type` 4 reads the angles from a text file, see [Angles from a file](user.ptychography.flomni.angle_file) for the file requirements. For the "8 sub-tomograms" mode, an optional 0-deg reference shot can be enabled at the start of every odd sub-tomogram and once more at the end, useful for tracking radiation damage over the course of a long measurement.
-1. `flomni.tomo_scan_projection(angle)` perform a ptychographic scan at the rotation angle . Launch the tomographic measurement by `flomni.tomo_scan()`. During the scan a live progress report is printed, including an estimated time of completion. Unusually long gaps (e.g. a beamline interruption) are detected automatically and excluded from the estimate, and the total time lost to such gaps is reported once the scan finishes.
+
+1. `flomni.tomo_parameters()` opens the tomo parameter window (GUI) to adjust the scan parameters for the tomographic scan (`flomni.tomo_parameters_cli()` is the command line version, which prompts for each value in the terminal). This includes the parameters for ptychographic scans of projections plus the strategy for angular sampling. The vertical shift adjusts the field of view, up (positive) or down (negative). After adjusting the numbers, type again `flomni.tomo_parameters()` and verify that they are correct. Besides the computed angular sampling modes, `tomo_type` 4 reads the angles from a text file, see [Angles from a file](flomni.md#angles-from-a-file-tomo_type-4) for the file requirements. For the "8 sub-tomograms" mode, an optional 0-deg reference shot can be enabled at the start of every odd sub-tomogram and once more at the end, useful for tracking radiation damage over the course of a long measurement.
+1. `flomni.tomo_scan_projection(angle)` perform a ptychographic scan at the rotation angle <angle>. Launch the tomographic measurement by `flomni.tomo_scan()`. During the scan a live progress report is printed, including an estimated time of completion. Unusually long gaps (e.g. a beamline interruption) are detected automatically and excluded from the estimate, and the total time lost to such gaps is reported once the scan finishes.
1. Before changing sample, verify that all subtomograms were completely acquired using the tomo_reconstruction matlab script.
#### Queueing multiple scans
Several parameter sets can be queued and run one after another automatically, e.g. a fast overview scan followed by a higher resolution scan on the same sample, without having to wait around to start the next one by hand.
+
1. `flomni.tomo_parameters()` set up the first parameter set, then `flomni.tomo_queue_add("label")` to add it to the queue.
1. Repeat for further parameter sets.
1. `flomni.tomo_queue_show()` review the queue before starting.
@@ -90,7 +91,7 @@ Several parameter sets can be queued and run one after another automatically, e.
If a queued scan is interrupted, the next call to `flomni.tomo_queue_execute()` resumes it automatically rather than starting over, then continues with the remaining entries.
-The same queue can also hold **command jobs** that reconfigure the beamline between scans (e.g. change energy, then re-peak the undulator gap) instead of running a tomogram, so "scan A, reconfigure, scan B" runs unattended as one queue. A queued tomogram can also run custom code at each projection angle (e.g. moving a polarizer in and out between two exposures) via a registered **at_each_angle hook**. See [Tomography](user.ptychography.flomni.tomography) below for the full command reference, including command jobs and hooks.
+The same queue can also hold **command jobs** that reconfigure the beamline between scans (e.g. change energy, then re-peak the undulator gap) instead of running a tomogram, so "scan A, reconfigure, scan B" runs unattended as one queue. A queued tomogram can also run custom code at each projection angle (e.g. moving a polarizer in and out between two exposures) via a registered **at_each_angle hook**. See [Tomography](flomni.md#tomography) below for the full command reference, including command jobs and hooks.
#### If something went wrong…
@@ -103,6 +104,7 @@ To continue an __interrupted tomography scan__, run
It picks up automatically from wherever the scan was interrupted, no need to look up the exact subtomogram/angle by hand. Do not use this command when running from the tomo queuing system. Instead use `flomni.tomo_queue_execute()`.
Alternatively, the same kind of parameters used internally by `tomo_scan_resume()` can be given to `flomni.tomo_scan()` directly, e.g. to resume from a different point than where it actually stopped:
+
| tomo type | parameters and their defaults |
| --- | --- |
| 8 sub-tomograms | subtomo_start=1, start_angle=None |
@@ -111,7 +113,7 @@ Alternatively, the same kind of parameters used internally by `tomo_scan_resume(
### GUI tools
-During operation the BEC GUI will show the relevant cameras or progress information. To manually switch view TAB completion on 'flomni.flomnigui_' will show all options to control the GUI. Most useful
+During operation the BEC GUI will show the relevant cameras or progress information. To manually switch view ++tab++ completion on 'flomni.flomnigui_' will show all options to control the GUI. Most useful
'flomni.flomnigui_show_cameras()' will show the cameras for sample transfer and interior overview
'flomni.flomnigui_show_progress()' will show the measurement progress GUI
'flomnigui_show_xeyealign()' will show the XrayEye alignment GUI
@@ -173,9 +175,10 @@ Example: `flomni.ffzp_info(6.2)`
Documents about availabe optics can be accessed by
`flomni.flomnigui_docs`
-The [laser feedback](user.ptychography.flomni.laser_feedback) will be disabled and fine alignment lost if foptx/y are moved!
+The [laser feedback](flomni.md#interferometer-feedback-commands) will be disabled and fine alignment lost if foptx/y are moved!
Following functions exist to move the optics in and out, with self-explaining naming.
+
- `flomni.ffzp_in()`
- `flomni.foptics_in()`
- `flomni.foptics_out()`
@@ -187,6 +190,7 @@ Following functions exist to move the optics in and out, with self-explaining na
The position feedback in flOMNI is controlled in closed loop to an interferometric position measurement. To show the signal of the interferometers:
`flomni.show_signal_strength_interferometer()`
Typical values with proper alignment, sample stage at the measurement position and laser tracker running are in the range of
+
| Axis | Value |
| --- | --- |
| 0 | 13681.0 |
@@ -203,12 +207,14 @@ The horizontal interferometer is built according to the [tracking interferometer
- `flomni.laser_tracker_on()`
- `flomni.laser_tracker_off()`
-(user.ptychography.flomni.laser_feedback)=
+
#### Interferometer feedback commands
The closed loop control of the Piezo stages can be controlled by
+
- `flomni.feedback_feedback_enable_with_reset()`.
_There is also an enable without reset, which is used during tomography scans, when using coarse stages to increase the scan range. It should not be required to use manually._
+
- `flomni.feedback_disable()`
- `flomni.feedback_status()`
@@ -270,6 +276,7 @@ each mode captures and how to switch between them.
#### Overview of the alignment steps
There are several corrections applied to maintain the sample in the FOV:
+
1. Mirror calibration
1. X-ray eye alignment
1. Ptychography fine alignment (improvement of the X-ray eye alignment step)
@@ -359,7 +366,7 @@ Define the scan parameters by `flomni.tomo_parameters()`
Run a scan at _angle_ (in degrees) by `flomni.tomo_scan_projection(angle)`
-(user.ptychography.flomni.tomography)=
+
### Tomography
The tomo parameters have to be set by
@@ -371,6 +378,7 @@ Once satisfied with the alignment, the tomography scan can be started by
During the scan, a live progress report is printed (subtomogram/projection counters and an estimated time of completion). Gaps significantly longer than a normal acquisition cycle (e.g. a beamline-down interruption, or a crash followed by a restart) are detected automatically from the time between consecutive projections and excluded from the time estimate; the total time lost to such gaps is printed once the scan finishes.
Four modes for angular sampling are implemented (selected by `tomo_type` 1-4) and they have different optional parameters for the tomo_scan method:
+
| tomography mode | tomo_type | parameters and defaults |
| --- | --- | --- |
| 8 sub-tomograms | 1 | subtomo_start=1, start_angle=None |
@@ -378,7 +386,7 @@ Four modes for angular sampling are implemented (selected by `tomo_type` 1-4) an
| Equally spaced with golden starting angle | 3 | projection_number=None |
| Angles read from a file | 4 | projection_number=None |
-See [Angles from a file](user.ptychography.flomni.angle_file) below for tomo_type 4.
+See [Angles from a file](flomni.md#angles-from-a-file-tomo_type-4) below for tomo_type 4.
For the "8 sub-tomograms" mode, `flomni.tomo_parameters()` also offers a `zero_deg_reference_at_each_subtomo` option: when enabled, an additional reference projection at exactly 0 degrees is acquired at the start of every odd (forward) sub-tomogram and once more after the final sub-tomogram, useful for tracking radiation damage across the full measurement.
@@ -390,23 +398,24 @@ The parameters above can be used to __restart an interrupted acquisition__ manua
`flomni.tomo_scan_resume()`
which reads the last recorded progress and resumes automatically at the exact point (subtomogram/angle, or projection for the golden ratio modes) the scan was interrupted at, without needing to look up the values by hand. When running from the tomo scan queuing system use `flomni.tomo_queue_execute()` instead!
-(user.ptychography.flomni.angle_file)=
+
#### Angles from a file (tomo_type 4)
With `tomo_type` 4 the projection angles are not computed but read from a plain-text file you provide, e.g. for a non-uniform sampling, a missing-wedge-aware set of angles, or to repeat a previously used list. Set the file in `flomni.tomo_parameters()` (choose type 4, then **Browse...** to pick the file; the GUI shows a live preview of the file content and blocks Submit / Add to queue while the file is invalid), or in `flomni.tomo_parameters_cli()` which prompts for the path until it parses. Only the path is stored (`flomni.tomo_angle_file`), so use a path that is readable from the BEC client machine.
**File requirements**
+
- Plain text, one projection per line.
- Column 1: the angle in degrees, `0 <= angle <= 360`. Angles above 180 are allowed; `tomo_angle_range` is not applied.
- Column 2 (optional): the sub-tomogram number, an integer `>= 1`. If omitted, it is 1. It is only a label used for progress display and the saved metadata; it does not change the acquisition.
- Columns are separated by whitespace and/or commas. Everything after `#` is a comment; blank lines are ignored.
- Projections are acquired in file order, so the order in the file is the order of the measurement.
-- Further, optional `key=value` tokens after the angle/subtomo may override acquisition parameters for that projection -- see [Per-line acquisition overrides](user.ptychography.flomni.angle_file.overrides) below.
+- Further, optional `key=value` tokens after the angle/subtomo may override acquisition parameters for that projection -- see [Per-line acquisition overrides](flomni.md#per-line-acquisition-overrides) below.
- At least one angle is required. Any malformed line (not a number, angle outside 0-360, sub-tomogram number below 1, an unrecognized or malformed `key=value` token) makes the whole file invalid and names the offending line.
- A line that is `END` (case-insensitive, nothing but whitespace/comment around it) marks the file as **complete** -- no more angles will ever be appended. A commented-out `# END` does not count, so the marker can be staged ahead of time and uncommented when the file is truly finished. Anything other than a comment or blank line after `END` is an error.
Example:
-```
+```text
# angle subtomo
0 1
45 1
@@ -416,20 +425,22 @@ END
```
**Behavior**
+
- The file is read once at the start of `flomni.tomo_scan()` (and again at `flomni.tomo_scan_resume()` or when a queued job runs), before any sample registration or motion. A missing or invalid file fails immediately (in the queue the job is marked `incomplete` with the error message).
- **While the scan is running, the file is re-read and polled (about every 5 s) whenever the scan catches up to the current end of file.** This means you can grow the file by appending lines while a scan is running -- newly appended angles are picked up automatically, with no need to call `tomo_scan_resume()`.
-- A file without an `END` marker is **incomplete**: once the scan reaches the end of it, it waits indefinitely for more lines rather than finishing, printing a reminder each time it starts waiting. Add an `END` line when you want the scan to finish on its own -- a file prepared in advance with the full list of angles should have `END` as its last line, or a scan against it will hang at the end rather than completing. Pressing Ctrl-C while waiting raises a clean, catchable error (safe to use to abort a queued job in this state) rather than a bare interrupt.
+- A file without an `END` marker is **incomplete**: once the scan reaches the end of it, it waits indefinitely for more lines rather than finishing, printing a reminder each time it starts waiting. Add an `END` line when you want the scan to finish on its own -- a file prepared in advance with the full list of angles should have `END` as its last line, or a scan against it will hang at the end rather than completing. Pressing ++ctrl+c++ while waiting raises a clean, catchable error (safe to use to abort a queued job in this state) rather than a bare interrupt.
- Only append new lines after the last one the scan has already acquired. Editing or removing a line that has already been acquired aborts the scan with an error on the next poll; editing a line that has been written to the file but not yet acquired is not guaranteed to be picked up, so avoid relying on it.
- At scan start the number of angles known so far, their range and the number of sub-tomograms are printed (noting if the file is still incomplete), and the parsed angle list is written to scilog. The summary is printed again, together with the 180-deg-pair warning below, once the file becomes complete.
- A warning is printed if the file contains angles that are identical or 180 deg apart (within 0.05 deg), which are redundant in parallel-beam geometry. The scan is still run.
- No extra 0-deg damage-estimation shots are inserted (`golden_projections_at_0_deg_for_damage_estimation` and the sub-tomogram 0-deg reference are ignored); put 0-deg lines into the file if you want them.
-- `flomni.tomo_scan_resume()` is for recovering from a crash or an explicit abort (e.g. Ctrl-C) -- it is not needed just to pick up appended lines, since a running scan already waits for and picks those up on its own. When used, it continues at the interrupted projection index of the file, using the file's *current* content from that index on. If the file has become shorter than the resume index, the resume is refused.
+- `flomni.tomo_scan_resume()` is for recovering from a crash or an explicit abort (e.g. ++ctrl+c++) -- it is not needed just to pick up appended lines, since a running scan already waits for and picks those up on its own. When used, it continues at the interrupted projection index of the file, using the file's *current* content from that index on. If the file has become shorter than the resume index, the resume is refused.
- In the tomo queue the file path is snapshotted per job when it is added, and `flomni.tomo_queue_reacquire(job_index, projection_number)` uses the projection index in the file (0-indexed, in file order).
-(user.ptychography.flomni.angle_file.overrides)=
-**Per-line acquisition overrides**
+
+##### Per-line acquisition overrides
Besides the angle and sub-tomogram number, each line may add any number of `key=value` tokens that override acquisition parameters otherwise taken from the live `flomni.tomo_parameters()` configuration, for that projection and every one after it:
+
- `step=` -- the Fermat scan step size (otherwise `flomni.tomo_shellstep`), range `0.025-20.0`.
- `exptime=` -- the exposure/counting time per frame (otherwise `flomni.tomo_countingtime`), range `0.001-100.0`.
- `frames=` -- the burst frame count (otherwise `flomni.frames_per_trigger`), integer, range `1-100`.
@@ -437,7 +448,7 @@ Besides the angle and sub-tomogram number, each line may add any number of `key=
These three are **sticky**: once a line sets one, it stays in effect -- for that line and every line after it -- until a later line changes it again. They are independent of each other (setting `step=` doesn't touch `exptime=`/`frames=`) and independent of the sub-tomogram number, which is never sticky. A field that is never set on any line simply uses whatever the live configuration is at the moment that projection is actually acquired, so a mix of overridden and non-overridden lines behaves exactly as if the non-overridden ones weren't in a tomo_type-4 file at all.
Example -- coarse-and-fast for the first half, then fine-and-slow:
-```
+```text
0 1
45 1
90 1 step=0.3 exptime=2 frames=3
@@ -470,12 +481,12 @@ Several tomo parameter sets can be queued and run sequentially on the same sampl
The queue is persisted (it survives a BEC client restart). Each job's status is one of `pending`, `running`, `incomplete`, or `done`. A job that did not run to completion (an exception was caught, or the BEC client itself crashed mid-scan) is automatically resumed - rather than restarted - the next time `flomni.tomo_queue_execute()` is called.
-If the process running the queue dies hard enough that it never gets to write a status update at all (a kernel restart, a Ctrl-C during a blocking prompt) a job can be left stuck showing `running` with nothing actually running. `flomni.tomo_queue_delete(index)` has no status guard and works on a stuck row regardless; you can also fix the status directly with `flomni._tomo_queue_proxy.update_by_id(job_id, status="incomplete")` (to make it resumable) or `status="done"` (to skip it). The GUI's Delete/Clear normally refuse to touch a `running` row, but detect a stale one (no recent scan heartbeat) and offer to proceed anyway with an explicit confirmation instead of blocking forever.
+If the process running the queue dies hard enough that it never gets to write a status update at all (a kernel restart, a ++ctrl+c++ during a blocking prompt) a job can be left stuck showing `running` with nothing actually running. `flomni.tomo_queue_delete(index)` has no status guard and works on a stuck row regardless; you can also fix the status directly with `flomni._tomo_queue_proxy.update_by_id(job_id, status="incomplete")` (to make it resumable) or `status="done"` (to skip it). The GUI's Delete/Clear normally refuse to touch a `running` row, but detect a stale one (no recent scan heartbeat) and offer to proceed anyway with an explicit confirmation instead of blocking forever.
In the examples, `flomni.tomo_parameters_cli()` is used because it waits until the values are entered before the next command runs. With the GUI window, adjust the values there and add the job with its queue button, or with `flomni.tomo_queue_add()`.
Example:
-```
+```python
flomni.tomo_parameters_cli() # set up parameter set #1
flomni.tomo_queue_add("fast overview")
flomni.tomo_parameters_cli() # set up parameter set #2
@@ -520,7 +531,7 @@ anything itself.
Example — job 0 already finished, but its last few projections (and the jobs
queued after it) need redoing:
-```
+```python
flomni.tomo_queue_show() # find the job index and the projection number to restart at
flomni.tomo_queue_reacquire(0, 130) # reopen job 0 at projection 130; jobs 1+ reset to pending
flomni.tomo_queue_resume() # actually re-run, in order
@@ -542,10 +553,11 @@ two tomograms on the same sample.
`flomni.tomo_queue_add_command(steps, label=None, idempotent=None)`
- `steps`: a single `{"action": ..., "kwargs": {...}}` dict, or a list of them run in
- sequence within that one job.
+ sequence within that one job.
+
- `label`: optional name shown by `tomo_queue_show()`, same as for `tomo_queue_add()`.
- `idempotent`: normally inferred (safe to blindly re-run after a crash only if every
- step is); override explicitly if needed.
+ step is); override explicitly if needed.
Only actions from a fixed, reviewed registry can be queued — not arbitrary code:
@@ -559,7 +571,7 @@ Devices allowed for `move`: `mokev` (energy, keV), `idgap` (undulator gap, mm).
it actually runs.
Example — change energy, then re-peak idgap, before the next tomogram:
-```
+```python
flomni.tomo_queue_add_command(
[{"action": "move", "kwargs": {"positions": {"mokev": 6.2}}},
{"action": "optimize_idgap", "kwargs": {"search_range": 0.5}}],
@@ -568,16 +580,18 @@ flomni.tomo_queue_add_command(
```
`tomo_queue_show()` lists command jobs alongside tomogram jobs, e.g.:
-```
+```text
[2] pending reconfigure to 6.2 keV CMD move{'positions': {'mokev': 6.2}} > optimize_idgap{'search_range': 0.5} [idem]
```
If a command job is interrupted by a crash, there is no per-step resume point — the
whole job is either safe to redo from the top or it isn't:
+
- If every step is idempotent (the usual case — an absolute move is harmless to
- repeat), `flomni.tomo_queue_execute()` silently re-runs the whole job from the top.
+ repeat), `flomni.tomo_queue_execute()` silently re-runs the whole job from the top.
+
- If any step is not idempotent, you are asked whether to re-run the job from the top
- or mark it done as-is.
+ or mark it done as-is.
#### Custom behavior at each projection angle
@@ -693,7 +707,7 @@ flomni.tomo_queue_execute()
`progress["subtomo"]`/`progress["subtomo_projection"]` are populated the same way for
tomo_types 2/3, so the same pattern works there too — just note that unlike type 1's
fixed 8 sub-tomograms, those types have no fixed sub-tomogram count (see
-[Tomography](user.ptychography.flomni.tomography) above), so "sub-tomogram 2" means
+[Tomography](flomni.md#tomography) above), so "sub-tomogram 2" means
something different (and open-ended) for them.
**`tomo_scan_projection()` vs `tomo_acquire_at_angle()`:** these are not
@@ -707,7 +721,7 @@ confirmation now fails the job** (raises, rather than silently skipping that
projection) — inside a custom hook or the normal tomo flow this correctly marks the
queue job `incomplete` and pauses the queue, instead of quietly acquiring fewer
projections than expected with no trace, or (if you get asked at every angle and
-eventually give up and hit Ctrl-C) leaving a job stuck at status `running` forever
+eventually give up and hit ++ctrl+c++) leaving a job stuck at status `running` forever
with nothing actually running. If you hit this, use `tomo_acquire_at_angle(angle)`
in your hook instead, or fix the queue entry via `flomni.tomo_queue_delete(index)`
(no status guard, works even on a stuck `running` row) or by marking it done/
@@ -744,7 +758,7 @@ removed later.
### Sample storage and transfer
-[See short version](user.ptychography.flomni.transfer)
+[See short version](flomni.md#sample-storage-and-transfer)
### Heater
@@ -754,4 +768,4 @@ flomni.move_fheater_up()
The functions are safe in the sense that no collisions should occur. E.g. the OSA will be moved back before a movement of the heater.
-__The heater still needs commissioning in BEC!!!__
\ No newline at end of file
+__The heater still needs commissioning in BEC!!!__
diff --git a/docs/user/ptychography/lamni.md b/docs/user/ptychography/lamni.md
index 276dc878..5c911f46 100644
--- a/docs/user/ptychography/lamni.md
+++ b/docs/user/ptychography/lamni.md
@@ -1,5 +1,3 @@
-(user.ptychography.lamni)=
-
# LamNI
LamNI is an instrument for 3D ptychography via ptychographic X-ray computed laminography (PyXL). The instrument is described in detail [here](https://www.dora.lib4ri.ch/psi/islandora/object/psi:33067).
@@ -39,7 +37,8 @@ At the end you're shown the computed `lsamx_center`/`lsamy_center` and asked to
- `"min"` (default) keeps the darkest value seen at each pixel. Use it for absorption contrast, i.e. dark sample features on a bright background — the usual case on the X-ray eye. Small absorbing features leave dark arcs. A large sample fills in as a dark region covering everything it occupied during the rotation; its outline is symmetric about the projected rotation axis (an ellipse rather than a circle, because of the tilted axis), so click the centre of that outline.
- Opaque parts such as the sample holder frame would otherwise black out every pixel they pass at any angle and shrink the usable field of view. To avoid that, a pixel is ignored in any frame where it is darker than `opaque_level` (default `0.25`) times that frame's bright level (its 99th-percentile value), and the minimum is taken over the remaining frames only. A pixel that was opaque at every angle stays dark. If the holder still blacks out too much, raise `opaque_level` (e.g. `0.4`). If faint sample features disappear, lower it. `opaque_level=0` gives the plain minimum.
+ Opaque parts such as the sample holder frame would otherwise black out every pixel they pass at any angle and shrink the usable field of view. To avoid that, a pixel is ignored in any frame where it is darker than `opaque_level` (default `0.25`) times that frame's bright level (its 99th-percentile value), and the minimum is taken over the remaining frames only. A pixel that was opaque at every angle stays dark. If the holder still blacks out too much, raise `opaque_level` (e.g. `0.4`). If faint sample features disappear, lower it. `opaque_level=0` gives the plain minimum.
+
- `"max"` keeps the brightest value at each pixel, for bright features on a dark background. Do not use it for absorption: every pixel sees the bright background at some point during the rotation, so the dark features are washed out.
Each run is archived to `~/data/raw/logs/xrayeye_smear_calibration/` (composites, clicked centres, result, and the `sweep_deg`/`projection`/`opaque_level` used).
@@ -54,8 +53,9 @@ To observe the axis of rotation obtain the position of the Fresnel zone plate on
4. `umv(dev.lsamrot,90)` to rotate the sample. One might observe the center of rotation at 0 and 180 degrees.
5. `umvr(dev.lsamx,0.01)` to move lsamx and lsamy such that the center of rotation is at the center of the X-ray beam
6. `dev.lsamx` and `dev.lsamy` will print current position and the center value. Update the center value by
- `dev.lsamx.update_user_parameter({'center':8.69})`
- `dev.lsamy.update_user_parameter({'center':8.69})`
+ `dev.lsamx.update_user_parameter({'center':8.69})`
+ `dev.lsamy.update_user_parameter({'center':8.69})`
+
7. close the shutter: `dev.omnyfsh.fshclose()`
#### X-ray eye alignment
@@ -134,25 +134,27 @@ The alignment scan itself already uses the x-ray eye correction and any correcti
* `lamni.tomo_alignment_scan()` perform the alignment scan. Requires x-ray-eye alignment to have already been done — it will abort with a message otherwise. Scan numbers, angles and the existing x-ray-eye-fit offset at each angle are written to `~/data/raw/logs/ptychotomoalign_scannum.txt` and also printed at the end.
* Run `BEC_ptycho_align` (in Matlab, **force ptycho=1**, and **correct scan numbers**) using the printed/logged scan numbers.
* Click the sample position in the Matlab GUI and then load the generated file by, for example
- `lamni.read_additional_correction('/sls/X12SA/data/e20632/Data10/cxs_software/ptycho/correction_lamni_um_S05389_lamni_fit.txt')`
+ `lamni.read_additional_correction('/sls/X12SA/data/e20632/Data10/cxs_software/ptycho/correction_lamni_um_S05389_lamni_fit.txt')`
+
* With this alignment a second iteration could be performed. To read the second correction file use `lamni.read_additional_correction_2()`
-(user.ptychography.lamni.laminography)=
+
### Test projections and Laminography scan
Start the laminography scan by
1. `lamni.tomo_parameters()` opens the tomo parameter window (GUI) to adjust the parameters to the desired settings. The command line version, which prompts for each value in the terminal, is `lamni.tomo_parameters_cli()`.
2. for test scans run
- `lamni.tomo_scan_projection(angle)`
- `lamni.tomo_reconstruct()`
+ `lamni.tomo_scan_projection(angle)`
+ `lamni.tomo_reconstruct()`
+
3. `lamni.tomo_scan()` to start the laminography scan
During the scan, a live progress report is printed (subtomogram/projection counters and an estimated time of completion). Gaps significantly longer than a normal acquisition cycle (e.g. a beamline-down interruption, or a crash followed by a restart) are detected automatically from the time between consecutive projections and excluded from the time estimate; the total time lost to such gaps is printed once the scan finishes.
-Four angular sampling modes are implemented (the fourth reads the angles from a file, see [Angles from a file](user.ptychography.lamni.angle_file) below):
+Four angular sampling modes are implemented (the fourth reads the angles from a file, see [Angles from a file](lamni.md#angles-from-a-file-tomo_type-4) below):
| tomography mode | parameters and defaults |
| --- | --- |
@@ -169,22 +171,23 @@ In case of eight equally spaced sub-tomograms, an individual sub-tomogram can be
`lamni.tomo_parameters()` also offers `lamni_stitch_x`/`lamni_stitch_y` (integers, default 0, up to 50 each) for a field of view larger than a single scan can cover: when nonzero, every projection angle is acquired as a `(2*lamni_stitch_x+1) × (2*lamni_stitch_y+1)` grid of separate Fermat scans instead of a single one, tiled around the normal alignment-corrected center and spaced by `lamni_piezo_range_x`/`lamni_piezo_range_y` minus `tomo_stitch_overlap` (µm, default 0.2) per step in x/y — stitching together an effective field of view of roughly `(2*lamni_stitch_x+1) × lamni_piezo_range_x` by `(2*lamni_stitch_y+1) × lamni_piezo_range_y`, with `tomo_stitch_overlap` controlling the deliberate overlap between adjacent tiles used for aligning them together during reconstruction. Same mechanism as flomni's `stitch_x`/`stitch_y`, just under lamni's own parameter names (see `lamni.tomo_scan_projection()`, which passes `stitch_x`/`stitch_y`/`stitch_overlap` straight through to `scans.lamni_fermat_scan()`).
-(user.ptychography.lamni.angle_file)=
+
#### Angles from a file (tomo_type 4)
-With `tomo_type` 4 the projection angles are not computed but read from a plain-text file you provide, e.g. for a non-uniform sampling or to repeat a previously used list. Set the file in `lamni.tomo_parameters()` (choose type 4, then **Browse...**; the GUI shows a live preview of the file and blocks Submit / Add to queue while the file is invalid), or in `lamni.tomo_parameters_cli()`, which prompts for the path until it parses. Only the path is stored (`lamni.tomo_angle_file`), so use a path readable from the BEC client machine. The file format, the `END` marker and the per-line overrides are identical to flomni, see [Angles from a file](user.ptychography.flomni.angle_file) there for the full description.
+With `tomo_type` 4 the projection angles are not computed but read from a plain-text file you provide, e.g. for a non-uniform sampling or to repeat a previously used list. Set the file in `lamni.tomo_parameters()` (choose type 4, then **Browse...**; the GUI shows a live preview of the file and blocks Submit / Add to queue while the file is invalid), or in `lamni.tomo_parameters_cli()`, which prompts for the path until it parses. Only the path is stored (`lamni.tomo_angle_file`), so use a path readable from the BEC client machine. The file format, the `END` marker and the per-line overrides are identical to flomni, see [Angles from a file](flomni.md#angles-from-a-file-tomo_type-4) there for the full description.
**File requirements**
+
- Plain text, one projection per line.
- Column 1: the angle in degrees, `0 <= angle <= 360`.
- Column 2 (optional): the sub-tomogram number, an integer `>= 1` (default 1). It is only a label for the progress display and saved metadata.
- Whitespace and/or commas separate columns; everything after `#` is a comment.
- Projections are acquired in file order.
- Optional `key=value` tokens per line override `step=` (`0.025-20.0`), `exptime=` (`0.001-100.0`) and `frames=` (`1-100`) for that projection and all following ones (sticky). They replace `lamni.tomo_shellstep`, `lamni.tomo_countingtime` and `lamni.frames_per_trigger`; an active `at_each_angle_hook` never sees them (a warning is printed).
-- A final `END` line marks the file complete. Without it, the scan waits (polling about every 5 s) for more lines to be appended once it reaches the end of the file; Ctrl-C while waiting gives a clean, catchable error.
+- A final `END` line marks the file complete. Without it, the scan waits (polling about every 5 s) for more lines to be appended once it reaches the end of the file; ++ctrl+c++ while waiting gives a clean, catchable error.
Example:
-```
+```text
# angle subtomo
0 1
45 1
@@ -194,6 +197,7 @@ END
```
**Behavior**
+
- The file is read at the start of `lamni.tomo_scan()`, at `lamni.tomo_scan_resume()` and when a queued job runs, before any sample registration or motion. A missing or invalid file fails immediately (in the queue the job is marked `incomplete`).
- Only append new lines after the last acquired one; editing or removing an already acquired line aborts the scan on the next poll.
- Unlike flomni, no warning is given for angles that are identical or 180 deg apart: in laminography they are not redundant.
@@ -215,12 +219,12 @@ Several tomo parameter sets can be queued and run sequentially on the same sampl
The queue is persisted (it survives a BEC client restart). Each job's status is one of `pending`, `running`, `incomplete`, or `done`. A job that did not run to completion (an exception was caught, or the BEC client itself crashed mid-scan) is automatically resumed - rather than restarted - the next time `lamni.tomo_queue_execute()` is called.
-If the process running the queue dies hard enough that it never gets to write a status update at all (a kernel restart, a Ctrl-C during a blocking prompt) a job can be left stuck showing `running` with nothing actually running. `lamni.tomo_queue_delete(index)` has no status guard and works on a stuck row regardless; you can also fix the status directly with `lamni._tomo_queue_proxy.update_by_id(job_id, status="incomplete")` (to make it resumable) or `status="done"` (to skip it). The GUI's Delete/Clear normally refuse to touch a `running` row, but detect a stale one (no recent scan heartbeat) and offer to proceed anyway with an explicit confirmation instead of blocking forever.
+If the process running the queue dies hard enough that it never gets to write a status update at all (a kernel restart, a ++ctrl+c++ during a blocking prompt) a job can be left stuck showing `running` with nothing actually running. `lamni.tomo_queue_delete(index)` has no status guard and works on a stuck row regardless; you can also fix the status directly with `lamni._tomo_queue_proxy.update_by_id(job_id, status="incomplete")` (to make it resumable) or `status="done"` (to skip it). The GUI's Delete/Clear normally refuse to touch a `running` row, but detect a stale one (no recent scan heartbeat) and offer to proceed anyway with an explicit confirmation instead of blocking forever.
In the examples, `lamni.tomo_parameters_cli()` is used because it waits until the values are entered before the next command runs. With the GUI window, adjust the values there and add the job with its queue button, or with `lamni.tomo_queue_add()`.
Example:
-```
+```python
lamni.tomo_parameters_cli() # set up parameter set #1
lamni.tomo_queue_add("fast overview")
lamni.tomo_parameters_cli() # set up parameter set #2
@@ -256,7 +260,7 @@ from there forward, in order. It does not run anything itself.
Example — job 0 already finished, but its last few projections (and the jobs
queued after it) need redoing:
-```
+```python
lamni.tomo_queue_show() # find the job index and the projection number to restart at
lamni.tomo_queue_reacquire(0, 130) # reopen job 0 at projection 130; jobs 1+ reset to pending
lamni.tomo_queue_resume() # actually re-run, in order
@@ -278,10 +282,11 @@ two tomograms on the same sample.
`lamni.tomo_queue_add_command(steps, label=None, idempotent=None)`
- `steps`: a single `{"action": ..., "kwargs": {...}}` dict, or a list of them run in
- sequence within that one job.
+ sequence within that one job.
+
- `label`: optional name shown by `tomo_queue_show()`, same as for `tomo_queue_add()`.
- `idempotent`: normally inferred (safe to blindly re-run after a crash only if every
- step is); override explicitly if needed.
+ step is); override explicitly if needed.
Only actions from a fixed, reviewed registry can be queued — not arbitrary code:
@@ -295,7 +300,7 @@ same beamline-wide devices as flOMNI's queue. A `move` naming any other device i
rejected, both when the job is added and again when it actually runs.
Example — change energy, then re-peak idgap, before the next laminogram:
-```
+```python
lamni.tomo_queue_add_command(
[{"action": "move", "kwargs": {"positions": {"mokev": 6.2}}},
{"action": "optimize_idgap", "kwargs": {"search_range": 0.5}}],
@@ -304,16 +309,18 @@ lamni.tomo_queue_add_command(
```
`tomo_queue_show()` lists command jobs alongside tomogram jobs, e.g.:
-```
+```text
[2] pending reconfigure to 6.2 keV CMD move{'positions': {'mokev': 6.2}} > optimize_idgap{'search_range': 0.5} [idem]
```
If a command job is interrupted by a crash, there is no per-step resume point — the
whole job is either safe to redo from the top or it isn't:
+
- If every step is idempotent (the usual case — an absolute move is harmless to
- repeat), `lamni.tomo_queue_execute()` silently re-runs the whole job from the top.
+ repeat), `lamni.tomo_queue_execute()` silently re-runs the whole job from the top.
+
- If any step is not idempotent, you are asked whether to re-run the job from the top
- or mark it done as-is.
+ or mark it done as-is.
#### Custom behavior at each projection angle
@@ -425,7 +432,7 @@ lamni.tomo_queue_execute()
`progress["subtomo"]`/`progress["subtomo_projection"]` are populated the same way for
tomo_types 2/3, so the same pattern works there too — just note that unlike type 1's
fixed 8 sub-tomograms, those types have no fixed sub-tomogram count (see
-[Laminography scan](user.ptychography.lamni.laminography) above), so "sub-tomogram 2"
+[Laminography scan](lamni.md#test-projections-and-laminography-scan) above), so "sub-tomogram 2"
means something different (and open-ended) for them.
**GUI:** the tomo parameters panel has an "At-each-angle hook" dropdown, listing
@@ -520,7 +527,8 @@ Typical values with proper alignment are
* `lamni.feedback_disable()`
* `lamni.feedback_enable_without_reset()` \*is only used internally by lamni methods
* if reset of angle interferometer is required
- `lamni.feedback_disable_and_even_reset_lamni_angle_interferometer()`
+ `lamni.feedback_disable_and_even_reset_lamni_angle_interferometer()`
+
* `lamni.feedback_enable_with_reset()`
### Scanning in 2D and sample alignment
@@ -532,7 +540,7 @@ Use `scans.lamni_fermat_scan?` for detailed information. A prerequisite for scan
### GUI tools
-During operation the BEC GUI will show the relevant cameras or progress information. TAB completion on `lamni.lamnigui_` will show all options to control the GUI. Most useful:
+During operation the BEC GUI will show the relevant cameras or progress information. ++tab++ completion on `lamni.lamnigui_` will show all options to control the GUI. Most useful:
* `lamni.lamnigui_show_progress()` — shows the measurement progress with ring progress bar
* `lamni.lamnigui_show_xeyealign()` — opens the X-ray eye alignment GUI on the Alignment tab
@@ -561,7 +569,7 @@ Following functions exist to move the optics in and out. The positions are the `
* `lamni.lcs_in()` moves `lcsx` and `lcsy` to their `in` positions
* `lamni.lcs_out()` moves `lcsy` to its `out` position; `lcsx` has no `out` position and stays where it is
-(user.ptychography.lamni.laser_feedback)=
+
#### Interferometer feedback commands
* `lamni.feedback_enable_with_reset()` enables the closed-loop control and resets the interferometers
diff --git a/docs/user/ptychography/omny.md b/docs/user/ptychography/omny.md
index 5f3e316a..5fb3ffb3 100644
--- a/docs/user/ptychography/omny.md
+++ b/docs/user/ptychography/omny.md
@@ -1,4 +1,3 @@
-(user.ptychography.omny)=
# OMNY
OMNY is a microscope setup for 3D mesurements via ptychographic X-ray computed tomography. The sample enviroment is in ultra-high vacuum and at a sample temperature of 90 K. The instrument is equipped with a load-lock system and allows loading and unloading of samples under cryogenic conditions. The setup is described in detail [here](https://www.dora.lib4ri.ch/psi/islandora/object/psi:4776). Samples have to be mounted on [OMNY pins](https://www.dora.lib4ri.ch/psi/islandora/object/psi:4528).
@@ -9,10 +8,11 @@ OMNY is a microscope setup for 3D mesurements via ptychographic X-ray computed t
### Change to a new sample
-The sample storage, shuttles and parking positions are described in detail (here)[user.ptychography.omny.samples].
+The sample storage, shuttles and parking positions are described in detail [here](omny.md#sample-storage-and-transfer).
+
+1. `omny.otransfer_get_sample(0)` remove current sample from sample stage. Watch gripper action and be ready to ++ctrl+c++ in case something is wrong.
+ _If in doubt check that the correct sample shutte is in the active position by calling `omny.otransfer_storage()`. The slot can be selected by `omny.otransfer_park_slot(slot)`._
-1. `omny.otransfer_get_sample(0)` remove current sample from sample stage. Watch gripper action and be ready to ctrl+c in case something is wrong.
-_If in doubt check that the correct sample shutte is in the active position by calling `omny.otransfer_storage()`. The slot can be selected by `omny.otransfer_park_slot(slot)`._
1. `omny.otransfer_put_sample(position)` put the sample to the selected shuttle
1. `omny.otransfer_get_sample(position) ` get the new sample from a shuttle
1. `omny.otransfer_put_sample(0)`, mount the sample in the sample stage
@@ -24,7 +24,7 @@ _If in doubt check that the correct sample shutte is in the active position by c
After mounting a new sample, the Xray eye will automatically be at the correct position to collect X-ray data. It can also be manually moved to the correct position by `omny.oeye_xray_in()`.
1. `omny.xrayeye_update_frame()` obtain a new frame that will be displayed on the Windows computer, OMNY software. If you see your sample already at the approximately correct height, you can skip step 2. Otherwise adjust the height:
-1. `umvr(dev.osamy, 0.01)`, attention: unit , move the sample stage relative up (positive) or down (negative) until the sample is approximately vertically centered in xray eye screen. After a move get a new frame by `omny.xrayeye_update_frame()`.
+1. `umvr(dev.osamy, 0.01)`, attention: unit <mm>, move the sample stage relative up (positive) or down (negative) until the sample is approximately vertically centered in xray eye screen. After a move get a new frame by `omny.xrayeye_update_frame()`.
1. `omny.xrayeye_alignment_start()` start the coarse alignment of the sample by measuring (clicking in the X-ray eye software) the sample position at 0, 45, 90, 135, 180 degrees. Then use the matlab routine `SPEC_ptycho_align.m` to fit this data.
1. `omny.read_alignment_offset()` read the generated alignment data.
@@ -42,27 +42,29 @@ _To bypass the fine alignment skip steps_.
### Tomographic Measurement
Now that the sample is aligned, the tomographic measurement can be performed.
+
1. `omny.tomo_parameters()` adjust the scan parameters for the tomographic scan. This includes the parameters for ptychographic scans of projections plus the strategy for angular sampling. The vertical shift adjusts the field of view, up (positive) or down (negative). After adjusting the numbers, type again `omny.tomo_parameters()` and verify that they are correct.
-1. `omny.tomo_scan_projection(angle)` perform a ptychographic scan at the rotation angle , e.g. at zero degrees. When happy with the scan parameters launch the tomographic measurement by `omny.tomo_scan()`.
+1. `omny.tomo_scan_projection(angle)` perform a ptychographic scan at the rotation angle <angle>, e.g. at zero degrees. When happy with the scan parameters launch the tomographic measurement by `omny.tomo_scan()`.
1. Before changing to the next sample sample, verify that all subtomograms were completely acquired using the `tomo_recons matlab` script.
### If something went wrong…
Special cases:
-If the gripper or another stage got stuck during transfer. Ctrl+c and then
+If the gripper or another stage got stuck during transfer. ++ctrl+c++ and then
`umv(dev.otransy, -1.5)` followed by
`omny._otransfer_gripper_to_park_z()`, which will move the gripper to its parking position.
-If the above fails for the vertical movement of the gripper _Ctrl+C_.
-Try moving up and down a bit `umvr(dev.otransy,0.5)`, `umvr(dev.otransy,-0.5)`, potentially requires a _ctrl+C_ again if stuck.
+If the above fails for the vertical movement of the gripper ++ctrl+c++.
+Try moving up and down a bit `umvr(dev.otransy,0.5)`, `umvr(dev.otransy,-0.5)`, potentially requires a ++ctrl+c++ again if stuck.
Then, `umv(dev.ootransy,-1.5)` followed by
`omny._otransfer_gripper_to_park_z()`, which will move the gripper to its parking position.
If this error happens after a sample was mounted or unmounted, it is important to chech that the sample storage is correct `omny.otransfer_storage()`.
-(user.ptychography.omny.samples)=
+
### Sample storage and transfer
Following commands will provide help within BEC:
+
- `omny.otransfer_help()` print help related to sample transfer
- `dev.omny_samples.help()` print help related to sample storage
@@ -71,17 +73,17 @@ Following commands will provide help within BEC:
The sample holders used are [OMNY pins](https://www.dora.lib4ri.ch/psi/islandora/object/psi:4528). These are instsalled in sample transfer shuttles, which can load up to six pins. These shuttles are transferred via a vacuum load lock to the vacuum chamber. The loading procedure can be handled at room temperature or under cryogenic conditions.
The thee __shuttles__ that exist are named __“A”, “B”, “C”__. The __pin positions__ within a shuttle are number __1 to 6__ according to the following sketch:
-```{figure} omny_shuttle.png
-OMNY sample shuttle
-```
+
+
+*OMNY sample shuttle*
In addition to the shuttle positions, there are __fixed positions in OMNY__ which have numbers __larger than 10__. Such fixed positions are treated as system __“O”__.
Each shuttle can be placed in a __parking slot__ in OMNY. The parking slots are numbered as displayed below (oparkz slot). Slots 1 and 2 are at room temperature. Slots 3 to 6 are at cryogenic temperature.
-```{figure} omny_parking.png
-OMNY parking station
-```
+
+
+*OMNY parking station*
The status of the sample storage has to be correct in BEC. This means that the status of OMNY pins within OMNY ("O") as well as the shuttles has to be correct, the pin status within the shuttles ("A", "B", "C"), as well as the status of the shuttles within the OMNY parking.
This loading status is handled via a OMNY samples device: `dev.omny_samples`
@@ -115,14 +117,15 @@ Once the sample places are set correctly and checked by using `omny.otransfer_st
| Command | Explanation |
| --- | --- |
| `omny.otransfer_help()` | print a brief help |
-| `omny.otransfer_park_slot(slot)` | drive the __parking station__ to place for sample transfer from __ |
-| `omny.otransfer_park_loadlock_slot(slot)` | drive the __parking station__ to load __ with the loadlock |
-| `omny.otransfer_get_sample(position)` | pick with the gripper from __ |
-| `omny.otransfer_put_sample(position)` | put with the gripper to __ |
+| `omny.otransfer_park_slot(slot)` | drive the __parking station__ to place for sample transfer from _<slot>_ |
+| `omny.otransfer_park_loadlock_slot(slot)` | drive the __parking station__ to load _<slot>_ with the loadlock |
+| `omny.otransfer_get_sample(position)` | pick with the gripper from _<position>_ |
+| `omny.otransfer_put_sample(position)` | put with the gripper to _<position>_ |
For transfer the __sample stage__ is refered to as _position_ 0.
Advanced commands ... in case something goes wrong
+
| Command | Explanation |
| --- | --- |
| `omny._otransfer_gripper_up()` | move gripper up |
@@ -134,11 +137,11 @@ When closing a shuttle of the shield, the gripper will be moved to the parking p
### Status of OMNY
-To see the status of the insrument, following commands can be used. Most of the components mentioned below are controlled via devices with naming starting with omny. TAB completion on dev.omny can be a quick way to find the commands.
+To see the status of the insrument, following commands can be used. Most of the components mentioned below are controlled via devices with naming starting with omny. ++tab++ completion on dev.omny can be a quick way to find the commands.
#### Cameras
-During operation the BEC GUI will show the relevant cameras or progress information. To manually switch view TAB completion on `omny.omnygui_` will show all options to control the GUI. Most useful
+During operation the BEC GUI will show the relevant cameras or progress information. To manually switch view ++tab++ completion on `omny.omnygui_` will show all options to control the GUI. Most useful
- `omny.omnygui_show_omnycam_parking()`
- `omny.omnygui_show_omnycam_samplestage()`
@@ -255,6 +258,7 @@ If the realtime system is restarted, BEC will lose communication. To restart:
To show the signal of the interferometers:
`omny.show_signal_strength_interferometer()`
Typical values with proper alignment, sample stage at the measurement position and laser tracker running are
+
| Channel | Name | Value |
|---------|-----------|----------|
| 1 | OSA FZP Y | 5500 |
@@ -285,8 +289,10 @@ Some mirrors are regularly automatically aligned, such as the horizontal mirror
#### Interferometer feedback commands
The closed loop control of the Piezo stages can be controlled by
+
- `omny.feedback_enable_with_reset()`
_There is also an enable without reset, which is used during tomography scans, when using coarse stages to increase the scan range. It should not be required to use manually._
+
- `omny.feedback_disable()`
- `omny.feedback_status()`
@@ -310,6 +316,7 @@ Example: `omny.ofzp_info(6.2)`
__Laser feedback will be disabled and thus fine alignment lost if commands are used that move optics stages!__
Following functions exist to move the optics in and out, with self-explaining naming.
+
- `omny.optics_in()`
- `omny.ofzp_in()`
- `omny.ofzp_out()`
@@ -350,6 +357,7 @@ each mode captures and how to switch between them.
#### Overview of the alignment steps
There are several corrections applied to maintain the sample in the FOV:
+
1. Mirror calibration
1. X-ray eye alignment
1. Ptychography fine alignment (improvement of the X-ray eye alignment step)
@@ -358,6 +366,7 @@ There are several corrections applied to maintain the sample in the FOV:
#### XrayEye and sample alignment
Within a usual work-flow the movement of the X-ray eye is mostly moved automatically to the correct position. For manual movements use
+
| Command | Explanation |
| --- | --- |
| omny.oeye_xray_in() | move to the fluorescense microscope in |
@@ -448,6 +457,7 @@ Once satisfied with the alignment, the tomography scan can be started by
`omny.tomo_scan()`
Three modes for angular sampling are implemented and they have different optional parameters for the tomo_scan method:
+
| tomography mode | parameters and defaults |
| --- | --- |
| 2 sub-tomograms | subtomo_start=1, start_angle=None |
diff --git a/docs/user/ptychography/ptychography.md b/docs/user/ptychography/ptychography.md
index b70892b6..045b6810 100644
--- a/docs/user/ptychography/ptychography.md
+++ b/docs/user/ptychography/ptychography.md
@@ -1,72 +1,26 @@
-(user.ptychography)=
# Ptychography
Welcome to the ptychography section of the cSAXS beamline.
-```{toctree}
----
-maxdepth: 2
-hidden: true
----
+
-flomni/
-lamni/
-omny/
-reconstructions/
+- { width="32" height="32" .middle .card-icon } **[flOMNI](flomni.md)**
+ { .card-heading }
-```
+ All about the flOMNI instrument
+- { width="32" height="32" .middle .card-icon } **[LamNI](lamni.md)**
+ { .card-heading }
-***
+ All about the LamNI instrument
-````{grid} 2
-:gutter: 5
+- { width="32" height="32" .middle .card-icon } **[OMNY](omny.md)**
+ { .card-heading }
-```{grid-item-card}
-:link: user.ptychography.flomni
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
+ All about the OMNY instrument
-## flOMNI
+- { width="32" height="32" .middle .card-icon } **[Ptychoshelves](reconstructions.md)**
+ { .card-heading }
-All about the flOMNI instrument
-```
+ All about ptychography reconstructions
-```{grid-item-card}
-:link: user.ptychography.lamni
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
-
-## LamNI
-
-All about the LamNI instrument
-```
-
-```{grid-item-card}
-:link: user.ptychography.omny
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
-
-## OMNY
-
-All about the OMNY instrument
-```
-
-```{grid-item-card}
-:link: user.ptychography.reconstructions
-:link-type: ref
-:img-top: /assets/receipt_long.svg
-:text-align: center
-:class-item: index-card
-
-## Ptychoshelves
-
-All about ptychography reconstructions
-```
-
-````
\ No newline at end of file
+
diff --git a/docs/user/ptychography/reconstructions.md b/docs/user/ptychography/reconstructions.md
index 3c126e22..f17cb23e 100644
--- a/docs/user/ptychography/reconstructions.md
+++ b/docs/user/ptychography/reconstructions.md
@@ -1,4 +1,3 @@
-(user.ptychography.reconstructions)=
# Ptychoshelves
Check it out [here](https://www.dora.lib4ri.ch/psi/islandora/object/psi%3A31264).
diff --git a/docs/user/saxs/online_integration.md b/docs/user/saxs/online_integration.md
index 6ff984f1..6d0ece04 100644
--- a/docs/user/saxs/online_integration.md
+++ b/docs/user/saxs/online_integration.md
@@ -1,37 +1,35 @@
-(user.saxs.online_integration)=
# Setup online radial integration on Jungfraujoch
1. **Calibrate the detector using pyFAI.**
- Analyze a calibration scan carefully with `pyFAI` and save the resulting **PONI** file and **pixel mask**. Also determine the beam center position.
+ Analyze a calibration scan carefully with `pyFAI` and save the resulting **PONI** file and **pixel mask**. Also determine the beam center position.
- :::{note}
- As of 2026-06-18, Jungfraujoch only accepts `uint32` TIFF mask files. If the mask generated by `pyFAI` is stored as `uint8`, it needs to be converted to the required format before uploading.
- To do this (from the home directory `/sls/x12sa/data/[p-group]/raw/`):
+ !!! note
+ As of 2026-06-18, Jungfraujoch only accepts `uint32` TIFF mask files. If the mask generated by `pyFAI` is stored as `uint8`, it needs to be converted to the required format before uploading.
+ To do this (from the home directory `/sls/x12sa/data/[p-group]/raw/`):
+
+ - Activate the python environment: `source mask/.mask/bin/activate`
+ - Run `python convert_mask_format.py -i -o `
- - Activate the python environment: `source mask/.mask/bin/activate`
- - Run `python convert_mask_format.py -i -o `
- :::
2. **Update the BEC configuration.**
- Update the detector distance and beam center coordinates in the BEC configuration files using the calibration results.
+ Update the detector distance and beam center coordinates in the BEC configuration files using the calibration results.
3. **Configure Jungfraujoch.**
- Open the **Jungfraujoch Expert Configuration** panel in the frontend interface, for example:
+ Open the **Jungfraujoch Expert Configuration** panel in the frontend interface, for example:
- ```text
- http://sls-jfjoch-001:8080/frontend
- ```
+ ```text
+ http://sls-jfjoch-001:8080/frontend
+ ```
- - Upload the pixel mask under **Pixel Mask**.
- - Fill in the required parameters under **Azimuthal Integration Settings**.
- - Make sure to enable **Force CPU calculation in FPGA workflow**.
- - After uploading a new configuration, do not press "initialize", as this will remove all the previously uploaded configuration.
+ - Upload the pixel mask under **Pixel Mask**.
+ - Fill in the required parameters under **Azimuthal Integration Settings**.
+ - Make sure to enable **Force CPU calculation in FPGA workflow**.
+ - After uploading a new configuration, do not press "initialize", as this will remove all the previously uploaded configuration.
4. **Detector rotation (if required).**
- :::{note}
- Adding rotation of the detector still needs to be documented (likely configured in the BEC configuration).
- :::
+ !!! note
+ Adding rotation of the detector still needs to be documented (likely configured in the BEC configuration).
diff --git a/docs/user/saxs/saxs.md b/docs/user/saxs/saxs.md
index abaa235b..727d8d19 100644
--- a/docs/user/saxs/saxs.md
+++ b/docs/user/saxs/saxs.md
@@ -1,39 +1,15 @@
-(user.saxs)=
# SAXS
Welcome to the SAXS section of the cSAXS beamline.
-```{toctree}
----
-maxdepth: 2
-hidden: true
----
+
-online_integration
+- { width="32" height="32" .middle .card-icon } **[Online integration](online_integration.md)**
+ { .card-heading }
-```
-
-
-***
-
-````{grid} 2
-:gutter: 5
-
-```{grid-item-card}
-:link: user.saxs.online_integration
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
-
-## Online integration
-
-Setup of online radial integration on Jungfraujoch.
-```
-
-````
+ Setup of online radial integration on Jungfraujoch.
+
## Reference documents
-- {download}`SAXS standards plate (PDF) `
-
+- [SAXS standards plate (PDF)](SAXS_standards_plate.pdf)
diff --git a/docs/user/user.md b/docs/user/user.md
index 763d47d2..b93c7da0 100644
--- a/docs/user/user.md
+++ b/docs/user/user.md
@@ -1,72 +1,26 @@
-(user)=
# User
Welcome to the User section of the cSAXS beamline.
-```{toctree}
----
-maxdepth: 2
-hidden: true
----
+
-before_you_arrive/before_you_arrive.md
-ptychography/ptychography.md
-saxs/saxs.md
-data_analysis/data_analysis.md
+- { width="32" height="32" .middle .card-icon } **[Before you arrive](before_you_arrive/before_you_arrive.md)**
+ { .card-heading }
-```
+ Learn what to do before you arrive to the beamline.
+- { width="32" height="32" .middle .card-icon } **[Ptychography](ptychography/ptychography.md)**
+ { .card-heading }
-***
+ All about ptychography measurements and reconstructions.
-````{grid} 2
-:gutter: 5
+- { width="32" height="32" .middle .card-icon } **[SAXS](saxs/saxs.md)**
+ { .card-heading }
-```{grid-item-card}
-:link: user.before_you_arrive
-:link-type: ref
-:img-top: /assets/receipt_long.svg
-:text-align: center
-:class-item: index-card
+ All about SAXS measurements and analysis.
-## Before you arrive
+- { width="32" height="32" .middle .card-icon } **[Data analysis](data_analysis/data_analysis.md)**
+ { .card-heading }
-Learn what to do before you arrive to the beamline.
-```
+ All about data analysis during the beamtime.
-```{grid-item-card}
-:link: user.ptychography
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
-
-## Ptychography
-
-All about ptychography measurements and reconstructions.
-```
-
-```{grid-item-card}
-:link: user.saxs
-:link-type: ref
-:img-top: /assets/biotech.svg
-:text-align: center
-:class-item: index-card
-
-## SAXS
-
-All about SAXS measurements and analysis.
-```
-```{grid-item-card}
-:link: user.data_analysis
-:link-type: ref
-:img-top: /assets/programming.svg
-:text-align: center
-:class-item: index-card
-
-## Data analysis
-
-All about data analysis during the beamtime.
-```
-
-
-````
\ No newline at end of file
+
diff --git a/pyproject.toml b/pyproject.toml
index ba3b703a..4110f2b6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -30,6 +30,7 @@ dependencies = [
]
[project.optional-dependencies]
+docs = ["zensical", "pymdown-extensions"]
allied_vision = [
"pygobject<3.52", # for the AlliedVision Alvium camera (native Aravis/GenICam, no EPICS IOC)
# pinned below 3.52: that version switched to requiring
diff --git a/zensical.toml b/zensical.toml
new file mode 100644
index 00000000..37fe217e
--- /dev/null
+++ b/zensical.toml
@@ -0,0 +1,88 @@
+[project]
+site_name = "SLS cSAXS"
+site_url = "https://sls-csaxs.readthedocs.io/en/latest/"
+site_description = "User and developer documentation for the cSAXS beamline"
+site_author = "Paul Scherrer Institute"
+repo_url = "https://gitea.psi.ch/bec/csaxs_bec"
+repo_name = "bec/csaxs_bec"
+copyright = "Copyright © Paul Scherrer Institute"
+docs_dir = "docs"
+site_dir = "site"
+extra_css = ["stylesheets/extra.css"]
+# Preserve Sphinx's existing page URLs.
+use_directory_urls = false
+exclude_docs = """
+/plans/
+/_build/
+/api_reference/
+*.log
+/objects.inv
+/developer/ptouch_label_printer_plan.md
+"""
+nav = [
+ { "Home" = "index.md" },
+ { "Introduction" = "introduction/introduction.md" },
+ { "Safety" = "safety/safety.md" },
+ { "User guide" = [
+ { "Overview" = "user/user.md" },
+ { "Before you arrive" = "user/before_you_arrive/before_you_arrive.md" },
+ { "Ptychography" = [
+ { "Overview" = "user/ptychography/ptychography.md" },
+ { "flOMNI" = "user/ptychography/flomni.md" },
+ { "LamNI" = "user/ptychography/lamni.md" },
+ { "OMNY" = "user/ptychography/omny.md" },
+ { "Ptychoshelves" = "user/ptychography/reconstructions.md" },
+ ] },
+ { "SAXS" = [
+ { "Overview" = "user/saxs/saxs.md" },
+ { "Online integration" = "user/saxs/online_integration.md" },
+ ] },
+ { "Data analysis" = [
+ { "Overview" = "user/data_analysis/data_analysis.md" },
+ { "Computing" = "user/data_analysis/computing.md" },
+ ] },
+ ] },
+ { "Developer guide" = [
+ { "Overview" = "developer/developer.md" },
+ { "Editing the documentation" = "developer/editing_docs.md" },
+ { "LamNI smear aid architecture" = "developer/lamni_smear_architecture.md" },
+ { "PandaBox free-running setup" = "developer/panda_box_free_running_setup.md" },
+ { "PandaBox data schema" = "developer/panda_box_free_running_data_schema.md" },
+ ] },
+]
+
+[project.theme]
+language = "en"
+features = ["navigation.tabs", "navigation.sections", "navigation.top", "content.code.copy", "search.highlight"]
+
+[[project.theme.palette]]
+media = "(prefers-color-scheme)"
+toggle.icon = "lucide/sun-moon"
+toggle.name = "Switch to light mode"
+
+[[project.theme.palette]]
+media = "(prefers-color-scheme: light)"
+scheme = "default"
+toggle.icon = "lucide/sun"
+toggle.name = "Switch to dark mode"
+
+[[project.theme.palette]]
+media = "(prefers-color-scheme: dark)"
+scheme = "slate"
+toggle.icon = "lucide/moon"
+toggle.name = "Switch to system preference"
+
+[project.markdown_extensions.admonition]
+[project.markdown_extensions.attr_list]
+[project.markdown_extensions.md_in_html]
+[project.markdown_extensions.pymdownx.betterem]
+smart_enable = "all"
+[project.markdown_extensions.pymdownx.highlight]
+[project.markdown_extensions.pymdownx.keys]
+[project.markdown_extensions.pymdownx.superfences]
+[project.markdown_extensions.pymdownx.tabbed]
+alternate_style = true
+[project.markdown_extensions.pymdownx.tasklist]
+custom_checkbox = true
+[project.markdown_extensions.toc]
+permalink = true