User cheat-sheet
This guide is targeted at a beamline user or instrument scientist wanting to run scans, either interactively or from a user python script.
Running a scan
Note
This guide assumes that the scan you want to run is either a general plan, or has already been defined by an instrument scientist as an instrument-specific scan.
To find out which instrument-specific scans are available on your beamline, consult the beamline instrument scientist or the beamline manual if available.
In this example, we will run a motor_scan. This is a generic plan provided by the ibex_bluesky_core library, which performs a one-dimensional step-scan
of a motor block against monitor-normalised intensity, \(I/I_0\), from one or more detector pixels. We’ll then fit
a Gaussian to the resulting curve and extract the centre (x0) of the fit.
To run a bluesky plan interactively, use the RE object which is automatically created by the IBEX scripting console:
# Note: imports may have been done automatically in `init_<instrument>.py` for your instrument.
from ibex_bluesky_core.plans import motor_scan
from ibex_bluesky_core.fitting import Gaussian
result = RE(motor_scan(
"motor_block",
start=5,
stop=15,
num=11,
model=Gaussian().fit(),
frames=100,
det=66,
mon=2
))
print(result.plan_result.live_fit.result.values["x0"])
To run a bluesky plan non-interactively, use ibex_bluesky_core.run_engine.run_plan:
from ibex_bluesky_core.plans import motor_scan
from ibex_bluesky_core.run_engine import run_plan
from ibex_bluesky_core.fitting import Gaussian
def an_external_script_function():
result = run_plan(motor_scan(
"motor_block",
start=5,
stop=15,
num=11,
model=Gaussian().fit(),
frames=100,
det=66,
mon=2
))
print(result.plan_result.live_fit.result.values["x0"])
Plans provided in the ibex_bluesky_core.plans module have reference documentation describing their
arguments and return values (for example, click on motor_scan).
For documentation on instrument-specific plans (under the inst.bluesky.plans module), consult the
instrument scientist or beamline manual for your instrument.