Reading simulated data in HDF5 formats¶
[1]:
from liso import open_sim
[2]:
sim = open_sim("../../../examples/astra_scan/s0001")
sim.info()
# of simulations: 12
Control channels (4):
- gun/gun_gradient
- gun/gun_phase
- gun/tws_gradient
- gun/tws_phase
Phasespace channels (1):
- gun/out
Obtain general information¶
[3]:
sim.sim_ids
[3]:
array([ 2, 1, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12], dtype=uint64)
[4]:
sim.control_channels
[4]:
frozenset({'gun/gun_gradient',
'gun/gun_phase',
'gun/tws_gradient',
'gun/tws_phase'})
[5]:
sim.phasespace_channels
[5]:
frozenset({'gun/out'})
Access a single simulation result¶
[6]:
# From index
sid, data = sim.from_index(2)
assert sid == sim.sim_ids[2]
data
[6]:
{'gun/tws_phase': -90.168686,
'gun/gun_phase': -9.759125,
'gun/gun_gradient': 126.57121,
'gun/tws_gradient': 28.701859,
'gun/out': <liso.proc.phasespace.Phasespace at 0x7f1751afef90>}
[7]:
# From simulation ID
sid, data = sim.from_id(1)
assert sid == 1
Access channel data¶
Control channel¶
[8]:
gun_gradient_channel = sim.channel("gun/gun_gradient")
[9]:
# convert the channel data to numpy array
gun_gradient_channel.numpy()
[9]:
array([119.89723 , 119.79218 , 126.57121 , 120.25057 , 126.629486,
126.602135, 133.48413 , 133.60179 , 133.207 , 140.03694 ,
140.05751 , 139.79796 ], dtype=float32)
Phasespace channel¶
[10]:
out_x_channel = sim.channel("gun/out", 'x')
[11]:
# convert the channel data to numpy array
out_x_channel.numpy()
[11]:
array([[[ 1.28036786e-08, 9.88629741e-05, -1.06629905e-04, ...,
6.15140007e-05, -3.26903398e-04, -5.39911480e-04]],
[[ 7.09292839e-09, 5.10445742e-05, -6.85575333e-05, ...,
1.10543007e-04, -2.00049388e-04, -4.14134403e-04]],
[[ 1.39342955e-08, 8.27889731e-05, -9.48883950e-05, ...,
1.15470304e-04, -2.57691407e-04, -5.11017904e-04]],
...,
[[ 2.86095269e-08, 1.35965724e-04, -1.26268681e-04, ...,
1.38502748e-04, -3.13041940e-04, -6.31381217e-04]],
[[ 4.12047741e-08, 2.01677470e-04, -1.68134351e-04, ...,
8.12973208e-05, -4.59484021e-04, -7.80738915e-04]],
[[ 4.75849888e-08, 2.49665821e-04, -1.96608664e-04, ...,
2.58773940e-05, -5.91125733e-04, -8.81490778e-04]]])