@@ -310,6 +310,14 @@ def get_electrodes_mapping(electrodes):
310
310
}
311
311
312
312
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
+
313
321
def add_ephys_recording_to_nwb (
314
322
session_key : dict , nwbfile : pynwb .NWBFile , end_frame : int = None
315
323
):
@@ -352,10 +360,7 @@ def add_ephys_recording_to_nwb(
352
360
f"unsupported acq_software type: { ephys_recording_record ['acq_software' ]} "
353
361
)
354
362
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 ())
359
364
360
365
if end_frame is not None :
361
366
extractor = extractor .frame_slice (0 , end_frame )
@@ -379,8 +384,7 @@ def add_ephys_recording_to_nwb(
379
384
name = "electrodes" ,
380
385
description = "recorded electrodes" ,
381
386
),
382
- conversion = 1e-6 ,
383
- channel_conversion = channel_conversion ,
387
+ ** conversion_kwargs
384
388
)
385
389
)
386
390
@@ -485,14 +489,7 @@ def add_ephys_lfp_from_source_to_nwb(
485
489
probe .ElectrodeConfig .Electrode () & ephys_recording_record
486
490
).fetch ("electrode" )
487
491
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 ())
496
493
497
494
lfp .add_electrical_series (
498
495
pynwb .ecephys .ElectricalSeries (
@@ -509,8 +506,7 @@ def add_ephys_lfp_from_source_to_nwb(
509
506
name = "electrodes" ,
510
507
description = "recorded electrodes" ,
511
508
),
512
- conversion = conversion ,
513
- channel_conversion = channel_conversion ,
509
+ ** conversion_kwargs
514
510
)
515
511
)
516
512
0 commit comments