Skip to content

Commit cb45900

Browse files
Merge pull request #1018 from alejoe91/maxwell_lsb
Fix Maxwell gain when 'lsb' is not in settings
2 parents 400c042 + 3de3aaf commit cb45900

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

neo/rawio/maxwellrawio.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)