mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
docs(becfigure): docs added
This commit is contained in:
@ -7,7 +7,6 @@ In the following, we describe 4 different type of widgets thaat are available in
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
(user.widgets.waveform_1d)=
|
|
||||||
## [1D Waveform Widget](/api_reference/_autosummary/bec_widgets.cli.client.BECWaveform)
|
## [1D Waveform Widget](/api_reference/_autosummary/bec_widgets.cli.client.BECWaveform)
|
||||||
|
|
||||||
**Purpose:** This widget provides a straightforward visualization of 1D data. It is particularly useful for plotting positioner movements against detector readings, enabling users to observe correlations and patterns in a simple, linear format.
|
**Purpose:** This widget provides a straightforward visualization of 1D data. It is particularly useful for plotting positioner movements against detector readings, enabling users to observe correlations and patterns in a simple, linear format.
|
||||||
@ -20,11 +19,12 @@ In the following, we describe 4 different type of widgets thaat are available in
|
|||||||
**Example of Use:**
|
**Example of Use:**
|
||||||

|

|
||||||
|
|
||||||
**Code example**
|
**Code example 1 - adding curves**
|
||||||
|
|
||||||
The following code snipped demonstrates how to create a 1D waveform plot using BEC Widgets within BEC. More details about BEC Widgets in BEC can be found in the getting started section within the [introduction to the command line.](user.command_line_introduction)
|
The following code snipped demonstrates how to create a 1D waveform plot using BEC Widgets within BEC. More details about BEC Widgets in BEC can be found in the getting started section within the [introduction to the command line.](user.command_line_introduction)
|
||||||
```python
|
```python
|
||||||
# adds a new dock, a new BECFigure and a BECWaveForm to the dock
|
# adds a new dock, a new BECFigure and a BECWaveForm to the dock
|
||||||
plt = gui.add_dock().add_widget('BECFigure').plot('samx', 'bpm4i')
|
plt = gui.add_dock().add_widget('BECFigure').plot(x_name='samx', y_name='bpm4i')
|
||||||
# add a second curve to the same plot
|
# add a second curve to the same plot
|
||||||
plt.plot(x_name='samx', y_name='bpm3i')
|
plt.plot(x_name='samx', y_name='bpm3i')
|
||||||
plt.set_title("Gauss plots vs. samx")
|
plt.set_title("Gauss plots vs. samx")
|
||||||
@ -39,6 +39,48 @@ dev.bpm4i.sim.select_sim_model("GaussianModel")
|
|||||||
dev.bpm3i.sim.select_sim_model("StepModel")
|
dev.bpm3i.sim.select_sim_model("StepModel")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Code example 2 - Adding Data Processing Pipeline Curve with LMFit Models**
|
||||||
|
|
||||||
|
Together with the scan curve, one can also add a second curve that fits the signal using a specified model
|
||||||
|
from [LMFit](https://lmfit.github.io/lmfit-py/builtin_models.html). The following code snippet demonstrates how to
|
||||||
|
create a 1D waveform curve with an attached DAP process, or how to add a DAP process to an existing curve using the BEC
|
||||||
|
CLI. Please note that for this example, both devices were set as Gaussian signals.
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Add a new dock, a new BECFigure, and a BECWaveForm to the dock with a GaussianModel DAP
|
||||||
|
plt = gui.add_dock().add_widget('BECFigure').plot(x_name='samx', y_name='bpm4i', dap="GaussianModel")
|
||||||
|
|
||||||
|
# Add a second curve to the same plot without DAP
|
||||||
|
plt.plot(x_name='samx', y_name='bpm3a')
|
||||||
|
|
||||||
|
# Add DAP to the second curve
|
||||||
|
plt.add_dap(x_name='samx', y_name='bpm3a', dap="GaussianModel")
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
To get the parameters of the fit, one has to retrieve the curve objects and call the dap_params property.
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Get the curve object by name from the legend
|
||||||
|
dap_bpm4i = plt.get_curve("bpm4i-bpm4i-GaussianModel")
|
||||||
|
dap_bpm3a = plt.get_curve("bpm3a-bpm3a-GaussianModel")
|
||||||
|
|
||||||
|
# Get the parameters of the fit
|
||||||
|
print(dap_bpm4i.dap_params)
|
||||||
|
# Output
|
||||||
|
{'amplitude': 197.399639720862,
|
||||||
|
'center': 5.013486095404885,
|
||||||
|
'sigma': 0.9820868875739888}
|
||||||
|
|
||||||
|
print(dap_bpm3a.dap_params)
|
||||||
|
# Output
|
||||||
|
{'amplitude': 698.3072786185278,
|
||||||
|
'center': 0.9702840866173836,
|
||||||
|
'sigma': 1.97139754785518}
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
(user.widgets.scatter_2d)=
|
(user.widgets.scatter_2d)=
|
||||||
## [2D Scatter Plot](/api_reference/_autosummary/bec_widgets.cli.client.BECWaveform)
|
## [2D Scatter Plot](/api_reference/_autosummary/bec_widgets.cli.client.BECWaveform)
|
||||||
|
|
||||||
|
BIN
docs/user/widgets/bec_figure_dap.gif
Normal file
BIN
docs/user/widgets/bec_figure_dap.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 MiB |
Reference in New Issue
Block a user