Page History
...
1) Select limits from graphical input and plot filtered IPIMB
Here's a log from a session that produces a loglog plot (blue dots) of two IPIMB channels, selects limits from graphical inpu (mouse click),
draws the selected events with red dots.
Code Block | ||||
---|---|---|---|---|
| ||||
In [1]: from matlab import *
Pretend this is matlab
In [2]: whos
Variable Type Data/Info
------------------------------------------------------
H5getobjnames function <function H5getobjnames at 0x1379fde8>
ScanInput type <class 'matlab.ScanInput'>
ScanOutput type <class 'matlab.ScanOutput'>
filtvec function <function filtvec at 0x1379ff50>
findmovingmotor function <function findmovingmotor at 0x1379fd70>
getSTDMEANfrac_from_startpoint function <function getSTDMEANfrac_<...>startpoint at 0x137a01b8>
get_filter function <function get_filter at 0x1379fed8>
get_limits function <function get_limits at 0x137a0050>
get_limits_automatic function <function get_limits_automatic at 0x137a0230>
get_limits_channelhist function <function get_limits_channelhist at 0x137a02a8>
get_limits_correlation function <function get_limits_correlation at 0x137a00c8>
get_limits_corrfrac function <function get_limits_corrfrac at 0x137a0140>
h5py module <module 'h5py' from '/reg<...>ython/h5py/__init__.pyc'>
np module <module 'numpy' from '/re<...>thon/numpy/__init__.pyc'>
plt module <module 'matplotlib.pyplo<...>n/matplotlib/pyplot.pyc'>
rdXPPdata function <function rdXPPdata at 0x1379fc80>
runexpNO2fina function <function runexpNO2fina at 0x1379fe60>
In [4]: scaninput = ScanInput()
In [6]: scaninput.fina = "/reg/d/psdm/XPP/xpp23410/hdf5/xpp23410-r0107.h5"
In [7]: scan = rdXPPdata(scaninput)
Reading XPP data from /reg/d/psdm/XPP/xpp23410/hdf5/xpp23410-r0107.h5
Found pv control object fs2:ramp_angsft_target
Found scan vector [ 2800120. 2800240. 2800360. 2800480. 2800600. 2800720. 2800840.
2800960. 2801080. 2801200. 2801320. 2801440. 2801560. 2801680.
2801800. 2801920. 2802040. 2802160. 2802280. 2802400. 2802520.
2802640. 2802760. 2802880. 2803000. 2803120. 2803240. 2803360.
2803480. 2803600. 2803720. 2803840. 2803960. 2804080. 2804200.
2804320. 2804440. 2804560. 2804680. 2804800. 2804920. 2805040.
2805160. 2805280.]
Fetching data to correlate with motor
['IPM1', 'IPM2']
(44, 120, 4)
In [8]: channels = np.concatenate(scan.scandata,axis=0)
In [9]: channels.shape
Out[9]: (5280, 4)
In [10]: get_limits(channels,1,"correlation")
4 channels a 5280 events
indexes that pass filter: (array([ 1, 5, 8, ..., 5266, 5272, 5273]),)
Out[10]:
array([[ 0.00086654, 0.01604564],
[ 0.67172102, 0.71968567],
[ 0.00194716, 0.01447819],
[ 0.80365403, 0.73463468]])
In [11]: plt.draw()
|
Overview
Content Tools