@@ -91,16 +91,35 @@ def _parse_header(self):
9191 for stream_id in signal_streams ['id' ]:
9292 if int (version ) == 20160704 :
9393 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
95105 sigs = h5 ['sig' ]
96106 mapping = h5 ["mapping" ]
97107 ids = np .array (mapping ['channel' ])
98108 ids = ids [ids >= 0 ]
99109 self ._channel_slice = ids
100110 elif int (version ) > 20160704 :
101111 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
104123 mapping = settings ['mapping' ]
105124 sigs = h5 ['wells' ][stream_id ][self .rec_name ]['groups' ]['routed' ]['raw' ]
106125
0 commit comments