mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-13 11:11:49 +02:00
feat: add Dap dialog widget
This commit is contained in:
BIN
docs/assets/widget_screenshots/lmfit_dialog.png
Normal file
BIN
docs/assets/widget_screenshots/lmfit_dialog.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 147 KiB |
BIN
docs/assets/widget_screenshots/lmfit_dialog_connect.png
Normal file
BIN
docs/assets/widget_screenshots/lmfit_dialog_connect.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
50
docs/user/widgets/lmfit_dialog/lmfit_dialog.md
Normal file
50
docs/user/widgets/lmfit_dialog/lmfit_dialog.md
Normal file
@ -0,0 +1,50 @@
|
||||
(user.widgets.lmfit_dialog)=
|
||||
|
||||
# LMFit Dialog
|
||||
|
||||
````{tab} Overview
|
||||
|
||||
The [`LMFit Dialog`](/api_reference/_autosummary/bec_widgets.widgets.lmfit_dialog.lmfit_dialog.LMFitDialog) is a widget that is developed to be used togther with the [`BECWaveformWidget`](/api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget). The `BECWaveformWidget` allows user to submit a fit request to BEC's [DAP server](https://bec.readthedocs.io/en/latest/developer/getting_started/architecture.html) choosing from a selection of [LMFit models](https://lmfit.github.io/lmfit-py/builtin_models.html#) to fit monitored data sources. The `LMFit Dialog` provides an interface to monitor these fits, including statistics and fit parameters in real time.
|
||||
Within the `BECWaveformWidget`, the dialog is accessible via the toolbar and will be automatically linked to the current waveform widget. For a more customised use, we can embed the `LMFit Dialog` in a larger GUI using the *BEC Designer*. In this case, one has to connect the [`update_summary_tree`](/api_reference/_autosummary/bec_widgets.widgets.lmfit_dialog.lmfit_dialog.LMFitDialog.rst#bec_widgets.widgets.lmfit_dialog.lmfit_dialog.LMFitDialog.update_summary_tree) slot of the LMFit Dialog to the [`dap_summary_update`](/api_reference/_autosummary/bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget.rst#bec_widgets.widgets.waveform.waveform_widget.BECWaveformWidget.dap_summary_update) signal of the BECWaveformWidget to ensure its functionality.
|
||||
|
||||
|
||||
## Key Features:
|
||||
- **Fit Summary**: Display updates on LMFit DAP processes and fit statistics.
|
||||
- **Fit Parameter**: Display current fit parameter.
|
||||
- **BECWaveformWidget Integration**: Directly connect to BECWaveformWidget to display fit statistics and parameters.
|
||||
```{figure} /assets/widget_screenshots/lmfit_dialog.png
|
||||
---
|
||||
name: lmfit_dialog
|
||||
---
|
||||
LMFit Dialog
|
||||
```
|
||||
````
|
||||
````{tab} Connect in BEC Designer
|
||||
The `LMFit Dialog` widget can be connected to a `BECWaveformWidget` to display fit statistics and parameters from the LMFit DAP process hooked up to the waveform widget. You can use the signal/slot editor from the BEC Designer to connect the `dap_summary_update` signal of the BECWaveformWidget to the `update_summary_tree` slot of the LMFit Dialog.
|
||||
|
||||
```{figure} /assets/widget_screenshots/lmfit_dialog_connect.png
|
||||
````
|
||||
````{tab} Connect in Python
|
||||
It is also possible to directly connect the `dap_summary_update` signal of the BECWaveformWidget to the `update_summary_tree` slot of the LMFit Dialog in Python.
|
||||
|
||||
```python
|
||||
waveform = BECWaveformWidget(...)
|
||||
lmfit_dialog = LMFitDialog(...)
|
||||
waveform.dap_summary_update.connect(lmfit_dialog.update_summary_tree)
|
||||
|
||||
```
|
||||
````
|
||||
````{tab} API
|
||||
```{eval-rst}
|
||||
.. include:: /api_reference/_autosummary/bec_widgets.cli.client.LMFitDialog.rst
|
||||
```
|
||||
````
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -190,6 +190,14 @@ Display spinner widget for loading or device movement.
|
||||
|
||||
Display position of motor withing its limits.
|
||||
```
|
||||
|
||||
```{grid-item-card} LMFit Dialog
|
||||
:link: user.widgets.lmfit_dialog
|
||||
:link-type: ref
|
||||
:img-top: /assets/widget_screenshots/lmfit_dialog.png
|
||||
|
||||
Display DAP summaries of LMFit models in a window.
|
||||
```
|
||||
````
|
||||
|
||||
```{toctree}
|
||||
@ -216,5 +224,6 @@ toggle/toggle.md
|
||||
spinner/spinner.md
|
||||
device_input/device_input.md
|
||||
position_indicator/position_indicator.md
|
||||
lmfit_dialog/lmfit_dialog.md
|
||||
|
||||
```
|
Reference in New Issue
Block a user