Methods¶
Recipe BC Methods. A Method names a technique abstractly (ISA-88 General Recipe layer). Two binding fields, distinct purposes: needed_families lists the Equipment Families the technique requires hardware-compat-wise; capability_id binds to a Recipe Capability template that declares the operations contract (required affordances, parameter schema, executor shape). Methods are cross-facility vocabulary, not bound to any Site. See Model for the aggregate shape.
| Method | Capability | Needed families | Purpose |
|---|---|---|---|
motor_homing |
maintenance |
RotaryStage, LinearStage |
Reference-position seek for one or more motorized Devices; produces motors with encoders zeroed and ready for absolute-coordinate moves |
resolution_alignment |
alignment |
LinearStage, Camera, Scintillator |
The resolution step in the rotation-axis alignment chain; iterative focus-Z peak search on a mounted resolution target |
focus_alignment |
alignment |
LinearStage, Camera, Scintillator |
The focus step in the rotation-axis alignment chain; iterative Sample-Z peak search for depth-of-focus on the mounted sample |
center_alignment |
alignment |
RotaryStage, LinearStage, Camera, Scintillator |
The center step in the rotation-axis alignment chain; iterative 0°/180° convergence on the calibrated rotation-axis pixel position |
roll_alignment |
alignment |
RotaryStage, LinearStage, Camera, Scintillator |
The roll step in the rotation-axis alignment chain; iterative 0°/180° Y-delta correction to make the rotation axis perpendicular to the camera Y axis |
pitch_alignment |
alignment |
RotaryStage, LinearStage, Camera, Scintillator |
The pitch step in the rotation-axis alignment chain; iterative 0°/180° sharpness-delta correction to make the rotation axis perpendicular to the beam direction |
first_light |
acquisition |
Shutter, Camera, Scintillator |
The canonical commissioning milestone; dark + first-light + safe-state frame ceremony confirming beam reaches the detector |
dark_baseline |
acquisition |
Shutter, Camera, Scintillator |
Dark-frame stack acquisition + pixel-wise baseline computation, producing a Dataset for reconstruction subtraction |
flat_baseline |
acquisition |
Shutter, Camera, Scintillator |
Flat-field stack acquisition (shutter open, no sample) + pixel-wise baseline computation, producing a Dataset for reconstruction division |
hexapod_reboot |
maintenance |
Hexapod |
Recovery routine for a stuck hexapod controller: IOC stop, PDU power-cycle, IOC start, EPICS enable check |
tomography |
tomography |
RotaryStage, LinearStage, Camera, Scintillator |
The canonical proposal-driven imaging routine; runs as a Run aggregate that produces an H5 projection-stack Dataset (operator-supplied exposure_ms + n_projections + angle_range_deg validated against the Method's parameters_schema) |
alignment_calibration |
calibration |
RotaryStage, LinearStage, Camera, Scintillator |
Pre-step of the alignment chain; measures motor-sensitivity constants empirically (bump axis by known delta, observe sphere centroid shift, compute K = shift/bump) — patches the existing chain's "K values appear from nowhere" gap |
streaming_tomography |
tomography |
RotaryStage, LinearStage, Camera, Scintillator |
TomoScanStream + tomoStream live-reconstruction; supports mid-flight adjust_run steering on operator-observed reco quality (autonomous-CT pathway) |
continuous_rotation_tomography |
tomography |
RotaryStage, LinearStage, Camera, Scintillator |
N back-to-back rotation Runs sharing one Plan + one Subject under a Campaign(intent=Series); one TomoScan call yields N child Runs |
mosaic_tomography |
tomography |
RotaryStage, LinearStage, Camera, Scintillator |
Tiled lateral-translation tomography for samples larger than the field of view; multiple Runs stitched by post-processing |
Source of truth: test_aps_facility.py, test_2bm_motor_homing.py, test_2bm_first_light.py, test_2bm_dark_baseline.py, test_2bm_flat_baseline.py, test_2bm_alignment_resolution.py, test_2bm_alignment_focus.py, test_2bm_alignment_center.py, test_2bm_alignment_roll.py, test_2bm_alignment_pitch.py, test_2bm_hexapod_reboot.py, test_2bm_tomography_scan.py, test_2bm_streaming_tomography.py, test_2bm_continuous_rotation_sweep.py, test_2bm_mosaic_acquisition.py.
Pending in code¶
Science-acquisition Methods (phase-contrast micro-CT fly-scan, nano-CT with FZP, MHz imaging, energy scan, XAS) are not yet defined. Each lands as a row above when a scenario test or seed script registers it.