Skip to content

Commit 65b9ece

Browse files
committed
Add recording metadata
1 parent b13995e commit 65b9ece

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

element_array_ephys/ephys.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,9 @@ class EphysRecording(dj.Imported):
130130
---
131131
-> probe.ElectrodeConfig
132132
-> AcquisitionSoftware
133-
sampling_rate: float # (Hz)
133+
sampling_rate: float # (Hz)
134+
recording_datetime: datetime # datetime of the recording from this probe
135+
recording_duration: float # (seconds) duration of the recording from this probe
134136
"""
135137

136138
class EphysFile(dj.Part):
@@ -189,7 +191,10 @@ def make(self, key):
189191
self.insert1({**key,
190192
**generate_electrode_config(probe_type, electrode_group_members),
191193
'acq_software': acq_software,
192-
'sampling_rate': spikeglx_meta.meta['imSampRate']})
194+
'sampling_rate': spikeglx_meta.meta['imSampRate'],
195+
'recording_datetime': spikeglx_meta.recording_time,
196+
'recording_duration': (spikeglx_meta.recording_duration
197+
or spikeglx.retrieve_recording_duration(meta_filepath))})
193198

194199
root_dir = find_root_directory(get_ephys_root_data_dir(),
195200
meta_filepath)
@@ -223,7 +228,9 @@ def make(self, key):
223228
self.insert1({**key,
224229
**generate_electrode_config(probe_type, electrode_group_members),
225230
'acq_software': acq_software,
226-
'sampling_rate': probe_data.ap_meta['sample_rate']})
231+
'sampling_rate': probe_data.ap_meta['sample_rate'],
232+
'recording_datetime': probe_data.recording_info['recording_datetimes'][0],
233+
'recording_duration': np.sum(probe_data.recording_info['recording_durations'])})
227234

228235
root_dir = find_root_directory(get_ephys_root_data_dir(),
229236
probe_data.recording_info['recording_files'][0])

element_array_ephys/ephys_chronic.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ class EphysRecording(dj.Imported):
132132
---
133133
-> probe.ElectrodeConfig
134134
-> AcquisitionSoftware
135-
sampling_rate: float # (Hz)
135+
sampling_rate: float # (Hz)
136+
recording_datetime: datetime # datetime of the recording from this probe
137+
recording_duration: float # (seconds) duration of the recording from this probe
136138
"""
137139

138140
class EphysFile(dj.Part):
@@ -168,7 +170,8 @@ def make(self, key):
168170
break
169171
else:
170172
raise FileNotFoundError(
171-
'No SpikeGLX data found for probe insertion: {}'.format(key))
173+
'No SpikeGLX data found for probe insertion: {}'.format(key)
174+
' The probe serial number does not match.')
172175

173176
if re.search('(1.0|2.0)', spikeglx_meta.probe_model):
174177
probe_type = spikeglx_meta.probe_model
@@ -190,7 +193,10 @@ def make(self, key):
190193
self.insert1({**key,
191194
**generate_electrode_config(probe_type, electrode_group_members),
192195
'acq_software': acq_software,
193-
'sampling_rate': spikeglx_meta.meta['imSampRate']})
196+
'sampling_rate': spikeglx_meta.meta['imSampRate'],
197+
'recording_datetime': spikeglx_meta.recording_time,
198+
'recording_duration': (spikeglx_meta.recording_duration
199+
or spikeglx.retrieve_recording_duration(meta_filepath))})
194200

195201
root_dir = find_root_directory(get_ephys_root_data_dir(),
196202
meta_filepath)
@@ -224,7 +230,9 @@ def make(self, key):
224230
self.insert1({**key,
225231
**generate_electrode_config(probe_type, electrode_group_members),
226232
'acq_software': acq_software,
227-
'sampling_rate': probe_data.ap_meta['sample_rate']})
233+
'sampling_rate': probe_data.ap_meta['sample_rate'],
234+
'recording_datetime': probe_data.recording_info['recording_datetimes'][0],
235+
'recording_duration': np.sum(probe_data.recording_info['recording_durations'])})
228236

229237
root_dir = find_root_directory(get_ephys_root_data_dir(),
230238
probe_data.recording_info['recording_files'][0])

0 commit comments

Comments
 (0)