Closed prjemian closed 10 months ago
Here is what I just wrote as a course description. It's a start.
The APS Bluesky 101 class provides a basic, yet hands-on, introduction to using the Bluesky framework.
APS Bluesky 101 guides users through the first measurements at the APS using the Bluesky framework, then visualize and analyze data after the measurement. After an introduction to the simulated beamline (provisioned with components typical of many APS instruments), users will have hands-on control using Bluesky. Data acquisition will cover step scans (scaler v. motor), alignment, and area detector imaging. Data analysis will cover retrieving data from the databroker (database of recorded experiment data) for plotting and processing.
The course will use Jupyter notebooks and the Python computer language for the data acquisition and analysis steps. While not required, it is recommended that participants have at least an introductory knowledge of Python.
The course is allotted a 4-hour period. This should include a break time and generous time for Q&A as well as work on assignments.
Because this course is part of the NX School, it should focus on the experience of a user who comes to the APS for beam time. Not so much on the instrument configuration, more on getting and using the data.
These are links to existing documentation. They focus on how to setup the instrument. This course will assume these steps have already been completed (so this documentation is not a best fit for the course).
See the wiki: https://github.com/BCDA-APS/bluesky_training/wiki/2023-NX-School
These are the notes used for the 2023 NX School, class X30: Beamline Control and Data Acquisition with Bluesky
The course relies on two IOCs running on the same LAN. No documentation was written about setting up those IOCs. The installation checklist was used to install the bluesky software stack, including the instrument package.
The IOCs were created with podman
using a docker image. Here is the startup script:
#!/bin/bash
# Start EPICS IOCs (gp: general purpose, ad: ADSimDetector)
# Change index number for each workstation to avoid identical PVs on same subnet.
iocmgr.sh restart ADSIM ad4
iocmgr.sh restart GP gp4
podman
was used since these workstations were used at ANL, which cannot use docker
due to licensing issues.
Note that the comments on these two lines in the local copy of iocmgr.sh
were swapped to use podman
. This is the local version:
# DOCKER=/usr/bin/docker
DOCKER=/usr/bin/podman
We have notes for the presenter about the APS Bluesky 101 course. But we do not have any documentation for the student about the course.
We'll need these materials for the next presentation of the course, at the 2023 NX School, in August.