Download presentation
Presentation is loading. Please wait.
Published bySydney Craig Modified over 9 years ago
1
Python Applications for beamline control/analysis Tim Mooney
ca_util.py – thin layer above CaChannel plot.py – display 1D of a scan readMDA.py – read MDA file format detView.py – display images from 2D scan
2
ca_util.py Automatic dictionary: PV name : CaChannel object
caget(PVname) caput(PVname, value) caputw(PVname, value) camonitor(PVname, python function, user args) caunmonitor(PVname)
3
plot.py
4
readMDA.py from readMDA import *
d = readMDA(filename, max_dimension, verbose, help) returns a list: d[0] – dictionary of scan-environment variables (mostly PV names) e.g., d[0][‘2idd:mca1.R2LO’] = (‘ROI_2_LEFT:’,’’,[342]) d[n>0] one dimension of the scan, with the following fields: time date & time at which scan was started scan_name - name of scan record that acquired this dimension curr_pt number of data points actually acquired npts number of data points requested nd number of detectors for this scan dimension d[] list of detector-data structures np number of positioners for this scan dimension p[] list of positioner-data structures nt number of detector triggers for this scan dimension t[] list of trigger-info structures
5
readMDA.py each detector-data structure (e.g., d[1].d[0]) has the following fields: desc description of this detector data data list unit engineering units associated with this detector fieldName - scan-record field (e.g., 'D01') each positioner-data structure (e.g., d[1].p[0]) has the following fields: desc description of this positioner data data list step_mode scan mode (e.g., Linear, Table, On-The-Fly) unit engineering units associated with this positioner fieldName scan-record field (e.g., 'P1') name name of EPICS PV (e.g., 'xxx:m1.VAL') readback_desc - description of this positioner readback_unit - engineering units associated with this positioner readback_name - name of EPICS PV (e.g., 'xxx:m1.VAL')
6
detView.py Requires numeric.py from readMDA import *
from detView import * d=readMDA(“2idd_0004.mda”) detView(d[2].d[0:15],scale=(2,2),columns=5)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.