|
| 1 | +.. _overview: |
| 2 | + |
| 3 | +======== |
| 4 | +Overview |
| 5 | +======== |
| 6 | + |
| 7 | +The Sirepo-Bluesky project interfaces two frameworks --- **Sirepo** and |
| 8 | +**Bluesky**. |
| 9 | + |
| 10 | +`Sirepo`_ is a framework providing convenient access to various physics |
| 11 | +simulation codes (such as `SRW`_, `Shadow3`_, etc.) via an intuitive |
| 12 | +browser-based interface. |
| 13 | + |
| 14 | +`Bluesky`_ is a data collection and experiment orchestration framework |
| 15 | +routinely used at NSLS-II and other synchrotrons for data collection & data |
| 16 | +access, and integrates well with the scientific Python ecosystem. Core Bluesky |
| 17 | +components include the `bluesky library`_ for experiment orchestration, the |
| 18 | +`ophyd library`_ for device abstractions, and the `databroker library`_ for |
| 19 | +convenient access to the experiment data. Relationships of the libraries are |
| 20 | +shown at the `Bluesky Project`_ website. |
| 21 | + |
| 22 | +Combining the two systems together enables researchers to perform virtual |
| 23 | +experiments using Sirepo as a "digital twin" of a real beamline or an |
| 24 | +instrument. |
| 25 | + |
| 26 | +The scheme below shows how the libraries from the Bluesky stack communicate |
| 27 | +with other external systems (hardware and software): |
| 28 | + |
| 29 | +.. image:: _static/bluesky-ophyd-sirepo.png |
| 30 | + |
| 31 | +The following scheme explains how an optical element in the Sirepo JSON model |
| 32 | +turns into an Ophyd ``Device``: |
| 33 | + |
| 34 | +.. image:: _static/sirepo-json-ophyd.png |
| 35 | + |
| 36 | +The Watchpoint optical element acts as a virtual detector and the scheme below |
| 37 | +demonstrates the code for the corresponding Ophyd class with the ``trigger`` |
| 38 | +method and the relevant actions in the Sirepo frontent UI: |
| 39 | + |
| 40 | +.. image:: _static/sirepo-ophyd-watchpoint.png |
| 41 | + |
| 42 | +Please check the :ref:`installation` and the :ref:`examples` sections for more |
| 43 | +details on how to get started using Sirepo-Bluesky. |
| 44 | + |
| 45 | +.. _Sirepo: https://www.sirepo.com |
| 46 | +.. _Bluesky: https://blueskyproject.io |
| 47 | +.. _SRW: https://github.com/ochubar/SRW |
| 48 | +.. _Shadow3: https://github.com/oasys-kit/shadow3 |
| 49 | +.. _bluesky library: https://blueskyproject.io/bluesky |
| 50 | +.. _ophyd library: https://blueskyproject.io/ophyd |
| 51 | +.. _databroker library: https://blueskyproject.io/databroker |
| 52 | +.. _Bluesky Project: https://blueskyproject.io |
0 commit comments