Skip to content

Commit 7953662

Browse files
committed
refactor into gains_helper
1 parent 7deb00f commit 7953662

File tree

1 file changed

+12
-16
lines changed
  • element_array_ephys/export/nwb

1 file changed

+12
-16
lines changed

element_array_ephys/export/nwb/nwb.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,14 @@ def get_electrodes_mapping(electrodes):
310310
}
311311

312312

313+
def gains_helper(gains):
314+
if all(x == 1 for x in gains):
315+
return dict(conversion=1e-6, channel_conversion=None)
316+
if all(x == gains[0] for x in gains):
317+
return dict(conversion=1e-6 * gains[0], channel_conversion=None)
318+
return dict(conversion=1e-6, channel_conversion=gains)
319+
320+
313321
def add_ephys_recording_to_nwb(
314322
session_key: dict, nwbfile: pynwb.NWBFile, end_frame: int = None
315323
):
@@ -352,10 +360,7 @@ def add_ephys_recording_to_nwb(
352360
f"unsupported acq_software type: {ephys_recording_record['acq_software']}"
353361
)
354362

355-
if all(extractor.get_channel_gains() == 1):
356-
channel_conversion = None
357-
else:
358-
channel_conversion = extractor.get_channel_gains()
363+
conversion_kwargs = gains_helper(extractor.get_channel_gains())
359364

360365
if end_frame is not None:
361366
extractor = extractor.frame_slice(0, end_frame)
@@ -379,8 +384,7 @@ def add_ephys_recording_to_nwb(
379384
name="electrodes",
380385
description="recorded electrodes",
381386
),
382-
conversion=1e-6,
383-
channel_conversion=channel_conversion,
387+
**conversion_kwargs
384388
)
385389
)
386390

@@ -485,14 +489,7 @@ def add_ephys_lfp_from_source_to_nwb(
485489
probe.ElectrodeConfig.Electrode() & ephys_recording_record
486490
).fetch("electrode")
487491

488-
conversion = 1e-6
489-
channel_conversion = None
490-
if any(extractor.get_channel_gains() != 1):
491-
gains = extractor.get_channel_gains()
492-
if all(x == gains[0] for x in gains):
493-
conversion *= gains[0]
494-
else:
495-
channel_conversion = gains
492+
conversion_kwargs = gains_helper(extractor.get_channel_gains())
496493

497494
lfp.add_electrical_series(
498495
pynwb.ecephys.ElectricalSeries(
@@ -509,8 +506,7 @@ def add_ephys_lfp_from_source_to_nwb(
509506
name="electrodes",
510507
description="recorded electrodes",
511508
),
512-
conversion=conversion,
513-
channel_conversion=channel_conversion,
509+
**conversion_kwargs
514510
)
515511
)
516512

0 commit comments

Comments
 (0)