@@ -83,6 +83,10 @@ groups:
8383 - name : lens
8484 dtype : text
8585 doc : lens info
86+ - name : frame_rate
87+ dtype : float
88+ doc : Frame rate of the camera, in frames per second.
89+ required : false
8690- neurodata_type_def : HeaderDevice
8791 neurodata_type_inc : Device
8892 doc : metadata from global configuration from header
@@ -179,3 +183,155 @@ groups:
179183 - name : units
180184 dtype : text
181185 doc : ' units of fields, acceptable values: um or mm'
186+ - neurodata_type_def : FrankLabOptogeneticEpochsTable
187+ neurodata_type_inc : OptogeneticEpochsTable
188+ doc : General metadata about the optogenetic stimulation that may change per epoch,
189+ with fields specific to Loren Frank Lab experiments. If the spatial filter is
190+ ON, then the experimenter can stimulate in either open (frequency-based) or closed
191+ loop (theta-based), only when animal is in a particular position. If the spatial
192+ filter is OFF, then ignore the position (this is not common / doesn't happen).
193+ If the spatial filter is ON and the experimeter is stimulating in open loop mode
194+ and the animal enters the spatial filter rectangle, then immediately apply one
195+ and only one stimulation bout. If stimulating in closed loop mode and the animal
196+ enters the rectangle, then every time the particular theta phase is detected,
197+ immediately apply one stimulation bout (accounting for the lockout period).
198+ datasets :
199+ - name : epoch_name
200+ neurodata_type_inc : VectorData
201+ dtype : text
202+ doc : Name of the epoch.
203+ - name : epoch_number
204+ neurodata_type_inc : VectorData
205+ dtype : int
206+ doc : 1-indexed number of the epoch.
207+ - name : convenience_code
208+ neurodata_type_inc : VectorData
209+ dtype : text
210+ doc : Convenience code of the epoch.
211+ - name : epoch_type
212+ neurodata_type_inc : VectorData
213+ dtype : text
214+ doc : Type of the epoch.
215+ - name : theta_filter_on
216+ neurodata_type_inc : VectorData
217+ dtype : bool
218+ doc : Whether the theta filter was on. A theta filter is closed-loop stimulation
219+ - read one tetrode and calculate the phase. Depending on the phase of theta,
220+ apply stimulation immediately. If this column is not present, then the theta
221+ filter was not used.
222+ quantity : ' ?'
223+ - name : theta_filter_lockout_period_in_samples
224+ neurodata_type_inc : VectorData
225+ dtype : int
226+ doc : If the theta filter was used, lockout period in the number of samples (based
227+ on the clock of the SpikeGadgets hardware) needed between stimulations, start
228+ to start. Use -1 if the theta filter was not used.
229+ quantity : ' ?'
230+ - name : theta_filter_phase_in_deg
231+ neurodata_type_inc : VectorData
232+ dtype : float
233+ doc : ' If the theta filter was used, phase in degrees during closed-loop theta
234+ phase-specific stimulation experiments. 0 is defined as the trough. 90 is ascending
235+ phase. Options are: 0, 90, 180, 270, 360, NaN. Use NaN if the theta filter was
236+ not used.'
237+ quantity : ' ?'
238+ - name : theta_filter_reference_ntrode
239+ neurodata_type_inc : VectorData
240+ dtype : int
241+ doc : If the theta filter was used, reference electrode that used used for theta
242+ phase-specific stimulation. ntrode is related to SpikeGadgets. ntrodes are specified
243+ in the electrode groups. (note that ntrodes are 1-indexed.) mapping from ntrode
244+ to electrode ID is in the electrode metadata files. Use -1 if the theta filter
245+ was not used.
246+ quantity : ' ?'
247+ - name : spatial_filter_on
248+ neurodata_type_inc : VectorData
249+ dtype : bool
250+ doc : Whether the spatial filter was on. Closed-loop stimulation based on whether
251+ the position of the animal is within a specified rectangular region of the video.
252+ If this column is not present, then the spatial filter was not used.
253+ quantity : ' ?'
254+ - name : spatial_filter_lockout_period_in_samples
255+ neurodata_type_inc : VectorData
256+ dtype : int
257+ doc : If the spatial filter was used, lockout period in the number of samples.
258+ Uses trodes time (samplecount). Use -1 if the spatial filter was not used.
259+ quantity : ' ?'
260+ - name : spatial_filter_bottom_left_coord_in_pixels
261+ neurodata_type_inc : VectorData
262+ dtype : int
263+ dims :
264+ - n_epochs
265+ - x y
266+ shape :
267+ - null
268+ - 2
269+ doc : If the spatial filter was used, the (x, y) coordinate of the bottom-left
270+ corner pixel of the rectangular region of the video that was used for space-specific
271+ stimulation. (0,0) is the bottom-left corner of the video. Use (-1, -1) if the
272+ spatial filter was not used.
273+ quantity : ' ?'
274+ - name : spatial_filter_top_right_coord_in_pixels
275+ neurodata_type_inc : VectorData
276+ dtype : int
277+ dims :
278+ - n_epochs
279+ - x y
280+ shape :
281+ - null
282+ - 2
283+ doc : If the spatial filter was used, the (x, y) coordinate of the top-right corner
284+ pixel of the rectangular region of the video that was used for space-specific
285+ stimulation. (0,0) is the bottom-left corner of the video. Use (-1, -1) if the
286+ spatial filter was not used.
287+ quantity : ' ?'
288+ - name : spatial_filter_cameras_index
289+ neurodata_type_inc : VectorIndex
290+ doc : Index column for `spatial_filter_cameras` so that each epoch can have multiple
291+ cameras.
292+ quantity : ' ?'
293+ - name : spatial_filter_cameras
294+ neurodata_type_inc : VectorData
295+ dtype :
296+ target_type : CameraDevice
297+ reftype : object
298+ doc : References to camera objects used for the spatial filter.
299+ quantity : ' ?'
300+ - name : spatial_filter_cameras_cm_per_pixel_index
301+ neurodata_type_inc : VectorIndex
302+ doc : Index column for `spatial_filter_cameras_cm_per_pixel` so that each epoch
303+ can have multiple cameras.
304+ quantity : ' ?'
305+ - name : spatial_filter_cameras_cm_per_pixel
306+ neurodata_type_inc : VectorData
307+ dtype : float
308+ doc : The cm/pixel values for each spatial filter camera used in this epoch, in
309+ the same order as `spatial_filter_cameras`. Use this if the cm/pixel values
310+ change per epoch. Otherwise, use the `meters_per_pixel` attribute of `CameraDevice`.
311+ quantity : ' ?'
312+ - name : ripple_filter_on
313+ neurodata_type_inc : VectorData
314+ dtype : bool
315+ doc : Whether the ripple filter was on. Closed-loop stimulation based on whether
316+ a ripple was detected - whether N tetrodes have their signal cross the standard
317+ deviation threshold. If this column is not present, then the ripple filter was
318+ not used.
319+ quantity : ' ?'
320+ - name : ripple_filter_lockout_period_in_samples
321+ neurodata_type_inc : VectorData
322+ dtype : int
323+ doc : If the ripple filter was used, lockout period in the number of samples. Uses
324+ trodes time (samplecount).
325+ quantity : ' ?'
326+ - name : ripple_filter_threshold_sd
327+ neurodata_type_inc : VectorData
328+ dtype : float
329+ doc : If the ripple filter was used, the threshold for detecting a ripple, in number
330+ of standard deviations.
331+ quantity : ' ?'
332+ - name : ripple_filter_num_above_threshold
333+ neurodata_type_inc : VectorData
334+ dtype : int
335+ doc : If the ripple filter was used, the number of tetrodes that have their signal
336+ cross the standard deviation threshold.
337+ quantity : ' ?'
0 commit comments