@@ -175,7 +175,6 @@ def make(self, key):
175
175
electrode_group_members = [
176
176
probe_electrodes [(shank , shank_col , shank_row )]
177
177
for shank , shank_col , shank_row , _ in spikeglx_meta .shankmap ['data' ]]
178
-
179
178
else :
180
179
raise NotImplementedError (
181
180
'Processing for neuropixels probe model'
@@ -190,7 +189,6 @@ def make(self, key):
190
189
self .EphysFile .insert1 ({
191
190
** key ,
192
191
'file_path' : meta_filepath .relative_to (root_dir ).as_posix ()})
193
-
194
192
elif acq_software == 'Open Ephys' :
195
193
dataset = openephys .OpenEphys (sess_dir )
196
194
for serial_number , probe_data in dataset .probes .items ():
@@ -210,7 +208,6 @@ def make(self, key):
210
208
electrode_group_members = [
211
209
probe_electrodes [channel_idx ]
212
210
for channel_idx in probe_data .ap_meta ['channels_ids' ]]
213
-
214
211
else :
215
212
raise NotImplementedError (
216
213
'Processing for neuropixels'
@@ -289,7 +286,6 @@ def make(self, key):
289
286
for recorded_site in lfp_channel_ind :
290
287
shank , shank_col , shank_row , _ = spikeglx_recording .apmeta .shankmap ['data' ][recorded_site ]
291
288
electrode_keys .append (probe_electrodes [(shank , shank_col , shank_row )])
292
-
293
289
elif acq_software == 'Open Ephys' :
294
290
sess_dir = pathlib .Path (get_session_directory (key ))
295
291
loaded_oe = openephys .OpenEphys (sess_dir )
@@ -315,7 +311,6 @@ def make(self, key):
315
311
316
312
for channel_idx in np .array (oe_probe .lfp_meta ['channels_ids' ])[lfp_channel_ind ]:
317
313
electrode_keys .append (probe_electrodes [channel_idx ])
318
-
319
314
else :
320
315
raise NotImplementedError (f'LFP extraction from acquisition software'
321
316
f' of type { acq_software } is not yet implemented' )
@@ -537,26 +532,27 @@ def make(self, key):
537
532
538
533
539
534
@schema
540
- class Waveform (dj .Imported ):
535
+ class WaveformSet (dj .Imported ):
541
536
definition = """
542
537
-> CuratedClustering
543
538
"""
544
539
545
- class Unit (dj .Part ):
540
+ class PeakWaveform (dj .Part ):
546
541
definition = """
547
542
-> master
548
543
-> CuratedClustering.Unit
549
544
---
550
545
peak_electrode_waveform: longblob # (uV) mean waveform for this unit's peak electrode
551
546
"""
552
547
553
- class UnitElectrode (dj .Part ):
548
+ class Waveform (dj .Part ):
554
549
definition = """
555
- -> master.Unit
550
+ -> master
551
+ -> CuratedClustering.Unit
556
552
-> probe.ElectrodeConfig.Electrode
557
553
---
558
- waveform_mean: longblob # (uV) mean waveform
559
- waveforms=null: longblob # (uV) (spike x sample) waveform of each spike at each electrode
554
+ waveform_mean: longblob # (uV) mean waveform across spikes of the given unit
555
+ waveforms=null: longblob # (uV) (spike x sample) waveforms of a sampling of spikes at the given electrode for the given unit
560
556
"""
561
557
562
558
def make (self , key ):
@@ -598,7 +594,6 @@ def yield_unit_waveforms():
598
594
** units [unit_no ],
599
595
'peak_electrode_waveform' : channel_waveform }
600
596
yield unit_peak_waveform , unit_electrode_waveforms
601
-
602
597
else :
603
598
if acq_software == 'SpikeGLX' :
604
599
spikeglx_meta_filepath = get_spikeglx_meta_filepath (key )
@@ -633,8 +628,8 @@ def yield_unit_waveforms():
633
628
# insert waveform on a per-unit basis to mitigate potential memory issue
634
629
self .insert1 (key )
635
630
for unit_peak_waveform , unit_electrode_waveforms in yield_unit_waveforms ():
636
- self .Unit .insert1 (unit_peak_waveform , ignore_extra_fields = True )
637
- self .UnitElectrode .insert (unit_electrode_waveforms , ignore_extra_fields = True )
631
+ self .PeakWaveform .insert1 (unit_peak_waveform , ignore_extra_fields = True )
632
+ self .Waveform .insert (unit_electrode_waveforms , ignore_extra_fields = True )
638
633
639
634
640
635
# ---------------- HELPER FUNCTIONS ----------------
@@ -686,7 +681,6 @@ def get_neuropixels_channel2electrode_map(ephys_recording_key, acq_software):
686
681
recorded_site : probe_electrodes [(shank , shank_col , shank_row )]
687
682
for recorded_site , (shank , shank_col , shank_row , _ ) in enumerate (
688
683
spikeglx_meta .shankmap ['data' ])}
689
-
690
684
elif acq_software == 'Open Ephys' :
691
685
sess_dir = pathlib .Path (get_session_directory (ephys_recording_key ))
692
686
openephys_dataset = openephys .OpenEphys (sess_dir )
0 commit comments