@@ -91,16 +91,35 @@ def _parse_header(self):
91
91
for stream_id in signal_streams ['id' ]:
92
92
if int (version ) == 20160704 :
93
93
sr = 20000.
94
- gain_uV = h5 ['settings' ]['lsb' ][0 ] * 1e6
94
+ settings = h5 ["settings" ]
95
+ if 'lsb' in settings :
96
+ gain_uV = settings ['lsb' ][0 ] * 1e6
97
+ else :
98
+ if "gain" not in settings :
99
+ print ("'gain' amd 'lsb' not found in settings. "
100
+ "Setting gain to 512 (default)" )
101
+ gain = 512
102
+ else :
103
+ gain = settings ['gain' ][0 ]
104
+ gain_uV = 3.3 / (1024 * gain ) * 1e6
95
105
sigs = h5 ['sig' ]
96
106
mapping = h5 ["mapping" ]
97
107
ids = np .array (mapping ['channel' ])
98
108
ids = ids [ids >= 0 ]
99
109
self ._channel_slice = ids
100
110
elif int (version ) > 20160704 :
101
111
settings = h5 ['wells' ][stream_id ][self .rec_name ]['settings' ]
102
- sr = settings ['sampling' ][:][0 ]
103
- gain_uV = settings ['lsb' ][:][0 ] * 1e6
112
+ sr = settings ['sampling' ][0 ]
113
+ if 'lsb' in settings :
114
+ gain_uV = settings ['lsb' ][0 ] * 1e6
115
+ else :
116
+ if "gain" not in settings :
117
+ print ("'gain' amd 'lsb' not found in settings. "
118
+ "Setting gain to 512 (default)" )
119
+ gain = 512
120
+ else :
121
+ gain = settings ['gain' ][0 ]
122
+ gain_uV = 3.3 / (1024 * gain ) * 1e6
104
123
mapping = settings ['mapping' ]
105
124
sigs = h5 ['wells' ][stream_id ][self .rec_name ]['groups' ]['routed' ]['raw' ]
106
125
0 commit comments