-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathnwb.misc.yaml
331 lines (327 loc) · 11.4 KB
/
nwb.misc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
groups:
- neurodata_type_def: AbstractFeatureSeries
neurodata_type_inc: TimeSeries
doc: Abstract features, such as quantitative descriptions of sensory stimuli. The
TimeSeries::data field is a 2D array, storing those features (e.g., for visual
grating stimulus this might be orientation, spatial frequency and contrast). Null
stimuli (eg, uniform gray) can be marked as being an independent feature (eg,
1.0 for gray, 0.0 for actual stimulus) or by storing NaNs for feature values,
or through use of the TimeSeries::control fields. A set of features is considered
to persist until the next set of features is defined. The final set of features
stored should be the null set. This is useful when storing the raw stimulus
is impractical.
datasets:
- name: data
dtype: numeric
dims:
- - num_times
- - num_times
- num_features
shape:
- - null
- - null
- null
doc: Values of each feature at each time.
attributes:
- name: unit
dtype: text
default_value: see 'feature_units'
doc: Since there can be different units for different features, store the units
in 'feature_units'. The default value for this attribute is "see 'feature_units'".
required: false
- name: feature_units
dtype: text
dims:
- num_features
shape:
- null
doc: Units of each feature.
quantity: '?'
- name: features
dtype: text
dims:
- num_features
shape:
- null
doc: Description of the features represented in TimeSeries::data.
- neurodata_type_def: AnnotationSeries
neurodata_type_inc: TimeSeries
doc: Stores user annotations made during an experiment. The data[]
field stores a text array, and timestamps are stored for each annotation (ie,
interval=1). This is largely an alias to a standard TimeSeries storing a text
array but that is identifiable as storing annotations in a machine-readable way.
datasets:
- name: data
dtype: text
dims:
- num_times
shape:
- null
doc: Annotations made during an experiment.
attributes:
- name: resolution
dtype: float32
value: -1.0
doc: Smallest meaningful difference between values in data. Annotations have
no units, so the value is fixed to -1.0.
- name: unit
dtype: text
value: n/a
doc: Base unit of measurement for working with the data. Annotations have
no units, so the value is fixed to 'n/a'.
- neurodata_type_def: IntervalSeries
neurodata_type_inc: TimeSeries
doc: Stores intervals of data. The timestamps field stores the beginning and end
of intervals. The data field stores whether the interval just started (>0 value)
or ended (<0 value). Different interval types can be represented in the same series
by using multiple key values (eg, 1 for feature A, 2 for feature B, 3 for feature
C, etc). The field data stores an 8-bit integer. This is largely an alias of a
standard TimeSeries but that is identifiable as representing time intervals in
a machine-readable way.
datasets:
- name: data
dtype: int8
dims:
- num_times
shape:
- null
doc: Use values >0 if interval started, <0 if interval ended.
attributes:
- name: resolution
dtype: float32
value: -1.0
doc: Smallest meaningful difference between values in data. Annotations have
no units, so the value is fixed to -1.0.
- name: unit
dtype: text
value: n/a
doc: Base unit of measurement for working with the data. Annotations have
no units, so the value is fixed to 'n/a'.
- neurodata_type_def: DecompositionSeries
neurodata_type_inc: TimeSeries
doc: Spectral analysis of a time series, e.g. of an LFP or a speech signal.
datasets:
- name: data
dtype: numeric
dims:
- num_times
- num_channels
- num_bands
shape:
- null
- null
- null
doc: Data decomposed into frequency bands.
attributes:
- name: unit
dtype: text
default_value: no unit
doc: Base unit of measurement for working with the data. Actual stored values are
not necessarily stored in these units. To access the data in these units,
multiply 'data' by 'conversion'.
- name: metric
dtype: text
doc: The metric used, e.g. phase, amplitude, power.
- name: source_channels
neurodata_type_inc: DynamicTableRegion
doc: DynamicTableRegion pointer to the channels that this decomposition series was generated from.
quantity: '?'
groups:
- name: bands
neurodata_type_inc: DynamicTable
doc: Table for describing the bands that this series was generated from. There
should be one row in this table for each band.
datasets:
- name: band_name
neurodata_type_inc: VectorData
dtype: text
doc: Name of the band, e.g. theta.
- name: band_limits
neurodata_type_inc: VectorData
dtype: float32
dims:
- num_bands
- low, high
shape:
- null
- 2
doc: Low and high limit of each band in Hz. If it is a Gaussian filter, use
2 SD on either side of the center.
- name: band_mean
neurodata_type_inc: VectorData
dtype: float32
dims:
- num_bands
shape:
- null
doc: The mean Gaussian filters, in Hz.
quantity: '?'
- name: band_stdev
neurodata_type_inc: VectorData
dtype: float32
dims:
- num_bands
shape:
- null
doc: The standard deviation of Gaussian filters, in Hz.
quantity: '?'
links:
- name: source_timeseries
target_type: TimeSeries
doc: Link to TimeSeries object that this data was calculated from. Metadata about
electrodes and their position can be read from that ElectricalSeries so it is
not necessary to store that information here.
quantity: '?'
- neurodata_type_def: Units
neurodata_type_inc: DynamicTable
default_name: Units
doc: Data about spiking units. Event times of observed units (e.g. cell, synapse,
etc.) should be concatenated and stored in spike_times.
datasets:
- name: spike_times_index
neurodata_type_inc: VectorIndex
doc: Index into the spike_times dataset.
quantity: '?'
- name: spike_times
neurodata_type_inc: VectorData
dtype: float64
doc: Spike times for each unit in seconds.
quantity: '?'
attributes:
- name: resolution
dtype: float64
doc: The smallest possible difference between two spike times. Usually 1 divided by the acquisition sampling rate
from which spike times were extracted, but could be larger if the acquisition time series was downsampled or
smaller if the acquisition time series was smoothed/interpolated and it is possible for the spike time to be
between samples.
required: false
- name: obs_intervals_index
neurodata_type_inc: VectorIndex
doc: Index into the obs_intervals dataset.
quantity: '?'
- name: obs_intervals
neurodata_type_inc: VectorData
dtype: float64
dims:
- num_intervals
- start|end
shape:
- null
- 2
doc: Observation intervals for each unit.
quantity: '?'
- name: electrodes_index
neurodata_type_inc: VectorIndex
doc: Index into electrodes.
quantity: '?'
- name: electrodes
neurodata_type_inc: DynamicTableRegion
doc: Electrode that each spike unit came from, specified using a DynamicTableRegion.
quantity: '?'
- name: electrode_group
neurodata_type_inc: VectorData
dtype:
target_type: ElectrodeGroup
reftype: object
doc: Electrode group that each spike unit came from.
quantity: '?'
- name: waveform_mean
neurodata_type_inc: VectorData
dtype: float32
dims:
- - num_units
- num_samples
- - num_units
- num_samples
- num_electrodes
shape:
- - null
- null
- - null
- null
- null
doc: Spike waveform mean for each spike unit.
quantity: '?'
attributes:
- name: sampling_rate
dtype: float32
doc: Sampling rate, in hertz.
required: false
- name: unit
dtype: text
value: volts
doc: Unit of measurement. This value is fixed to 'volts'.
required: false
- name: waveform_sd
neurodata_type_inc: VectorData
dtype: float32
dims:
- - num_units
- num_samples
- - num_units
- num_samples
- num_electrodes
shape:
- - null
- null
- - null
- null
- null
doc: Spike waveform standard deviation for each spike unit.
quantity: '?'
attributes:
- name: sampling_rate
dtype: float32
doc: Sampling rate, in hertz.
required: false
- name: unit
dtype: text
value: volts
doc: Unit of measurement. This value is fixed to 'volts'.
required: false
- name: waveforms
neurodata_type_inc: VectorData
dtype: numeric
dims:
- num_waveforms
- num_samples
shape:
- null
- null
doc: "Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index'
column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform
was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column
to indicate which spike events belong to a given unit. For example, if the
'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column
correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond
to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to
the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then
the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different
electrodes for the first spike time of the first unit. See
https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical
representation of this example. When there is only one electrode for each unit (i.e., each spike time is
associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is
the number of spike events. The number of electrodes for each spike event should be the same within a given unit.
The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order
of the waveforms within a given unit x spike event should be the same as the order of the electrodes referenced in
the 'electrodes' column of this table. The number of samples for each waveform must be the same."
quantity: '?'
attributes:
- name: sampling_rate
dtype: float32
doc: Sampling rate, in hertz.
required: false
- name: unit
dtype: text
value: volts
doc: Unit of measurement. This value is fixed to 'volts'.
required: false
- name: waveforms_index
neurodata_type_inc: VectorIndex
doc: Index into the 'waveforms' dataset. One value for every spike event. See 'waveforms' for more detail.
quantity: '?'
- name: waveforms_index_index
neurodata_type_inc: VectorIndex
doc: Index into the 'waveforms_index' dataset. One value for every unit (row in the table). See 'waveforms' for more
detail.
quantity: '?'