diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.base.yaml
index 677b981..805820e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.2.0
imports:
@@ -39,32 +46,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -130,7 +130,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -138,7 +141,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -146,7 +152,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -201,27 +210,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -268,13 +276,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.behavior.yaml
index d9662ae..aa4ab77 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.2.0
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.device.yaml
index aaabc95..e1947cd 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.2.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ecephys.yaml
index b04a85a..ecaa563 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.2.0
imports:
@@ -25,8 +32,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -45,47 +65,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -120,52 +106,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -181,19 +146,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -204,36 +180,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -270,13 +216,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -287,12 +239,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -309,12 +262,13 @@ classes:
the ElectricalSeries.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -323,12 +277,13 @@ classes:
properties should be noted in the ElectricalSeries description or comments field.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -385,72 +340,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -472,21 +379,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.epoch.yaml
index 9ed7171..5ac1f3c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.2.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.file.yaml
index 3859c5b..40bfb11 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.2.0
imports:
@@ -41,7 +48,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -183,9 +193,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -274,7 +289,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -286,7 +304,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -318,7 +339,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -622,42 +646,3 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.icephys.yaml
index 5726b5d..f1ac89f 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.2.0
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.image.yaml
index b533fee..3e471d0 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.2.0
imports:
@@ -16,22 +23,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -42,28 +34,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -74,28 +45,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -115,12 +65,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -130,8 +95,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -143,40 +108,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -216,8 +182,17 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -226,36 +201,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -274,7 +219,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.misc.yaml
index 467ac48..bc542e8 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.2.0
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -169,23 +184,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__bands:
name: DecompositionSeries__bands
description: Table for describing the bands that this series was generated from.
@@ -209,33 +213,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -269,7 +271,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -292,14 +299,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
tree_root: true
Units__spike_times_index:
name: Units__spike_times_index
@@ -345,18 +372,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -381,43 +396,3 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ogen.yaml
index 0aaa21a..ea5c428 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.2.0
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ophys.yaml
index 910b672..8eeb122 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.2.0
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: DynamicTable
tree_root: true
ImagingPlane:
name: ImagingPlane
@@ -302,29 +273,21 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__manifold__Array
- ImagingPlane__manifold__Array:
- name: ImagingPlane__manifold__Array
- is_a: Arraylike
- attributes:
- height:
- name: height
range: float32
- required: true
- width:
- name: width
- range: float32
- required: true
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
- depth:
- name: depth
- range: float32
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: height
+ - alias: width
+ - alias: x, y, z
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: height
+ - alias: width
+ - alias: depth
+ - alias: x, y, z
+ exact_cardinality: 3
ImagingPlane__origin_coords:
name: ImagingPlane__origin_coords
description: Physical location of the first element of the imaging plane (0, 0)
@@ -344,23 +307,13 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__origin_coords__Array
- ImagingPlane__origin_coords__Array:
- name: ImagingPlane__origin_coords__Array
- is_a: Arraylike
- attributes:
- x, y:
- name: x, y
+ array:
+ dimensions:
+ - alias: x, y
+ exact_cardinality: 2
+ - alias: x, y, z
+ exact_cardinality: 3
range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
ImagingPlane__grid_spacing:
name: ImagingPlane__grid_spacing
description: Space between pixels in (x, y) or voxels in (x, y, z) directions,
@@ -380,23 +333,13 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__grid_spacing__Array
- ImagingPlane__grid_spacing__Array:
- name: ImagingPlane__grid_spacing__Array
- is_a: Arraylike
- attributes:
- x, y:
- name: x, y
+ array:
+ dimensions:
+ - alias: x, y
+ exact_cardinality: 2
+ - alias: x, y, z
+ exact_cardinality: 3
range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
OpticalChannel:
name: OpticalChannel
description: An optical channel used to record from an imaging plane.
@@ -426,10 +369,11 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.retinotopy.yaml
index 9150be9..d717b32 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.2.0
imports:
@@ -28,20 +35,12 @@ classes:
range: float32
array:
name: array
- range: RetinotopyMap__Array
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
+ range: float32
tree_root: true
- RetinotopyMap__Array:
- name: RetinotopyMap__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
- range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
AxisMap:
name: AxisMap
description: Abstract two-dimensional map of responses to stimuli along a single
@@ -59,20 +58,12 @@ classes:
range: text
array:
name: array
- range: AxisMap__Array
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
+ range: float32
tree_root: true
- AxisMap__Array:
- name: AxisMap__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
- range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
RetinotopyImage:
name: RetinotopyImage
description: 'Gray-scale image related to retinotopic mapping. Array structure:
@@ -155,7 +146,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_axes
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/namespace.yaml
index 9d9e3e8..0aff3ae 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_0/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.2.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.base.yaml
index 7fee945..0e3f8dd 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.2.1
imports:
@@ -39,32 +46,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -130,7 +130,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -138,7 +141,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -146,7 +152,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -201,27 +210,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -268,13 +276,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.behavior.yaml
index d78319f..e21f8c7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.2.1
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.device.yaml
index 2870228..d2031fd 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.2.1
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ecephys.yaml
index 4a2e8ae..c84d7f5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.2.1
imports:
@@ -25,8 +32,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -45,47 +65,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -120,52 +106,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -181,19 +146,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -204,36 +180,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -270,13 +216,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -287,12 +239,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -309,12 +262,13 @@ classes:
the ElectricalSeries.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -323,12 +277,13 @@ classes:
properties should be noted in the ElectricalSeries description or comments field.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -385,72 +340,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -472,21 +379,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.epoch.yaml
index 92f6983..b58cc4e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.2.1
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.file.yaml
index c2799c2..1ecf130 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.2.1
imports:
@@ -41,7 +48,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -183,9 +193,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -274,7 +289,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -286,7 +304,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -318,7 +339,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -622,42 +646,3 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.icephys.yaml
index be5faf5..d5cb863 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.2.1
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.image.yaml
index 29f0726..bfded6d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.2.1
imports:
@@ -16,22 +23,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -42,28 +34,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -74,28 +45,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -115,12 +65,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -130,8 +95,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -143,40 +108,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -216,8 +182,17 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -226,36 +201,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -274,7 +219,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.misc.yaml
index 4bce50a..d04f85b 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.2.1
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -169,23 +184,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__bands:
name: DecompositionSeries__bands
description: Table for describing the bands that this series was generated from.
@@ -209,33 +213,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -269,7 +271,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -292,14 +299,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
tree_root: true
Units__spike_times_index:
name: Units__spike_times_index
@@ -345,18 +372,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -381,43 +396,3 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ogen.yaml
index 1336019..8404680 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.2.1
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ophys.yaml
index 8c000e7..469788a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.2.1
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: DynamicTable
tree_root: true
ImagingPlane:
name: ImagingPlane
@@ -302,29 +273,21 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__manifold__Array
- ImagingPlane__manifold__Array:
- name: ImagingPlane__manifold__Array
- is_a: Arraylike
- attributes:
- height:
- name: height
range: float32
- required: true
- width:
- name: width
- range: float32
- required: true
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
- depth:
- name: depth
- range: float32
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: height
+ - alias: width
+ - alias: x, y, z
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: height
+ - alias: width
+ - alias: depth
+ - alias: x, y, z
+ exact_cardinality: 3
ImagingPlane__origin_coords:
name: ImagingPlane__origin_coords
description: Physical location of the first element of the imaging plane (0, 0)
@@ -344,23 +307,13 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__origin_coords__Array
- ImagingPlane__origin_coords__Array:
- name: ImagingPlane__origin_coords__Array
- is_a: Arraylike
- attributes:
- x, y:
- name: x, y
+ array:
+ dimensions:
+ - alias: x, y
+ exact_cardinality: 2
+ - alias: x, y, z
+ exact_cardinality: 3
range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
ImagingPlane__grid_spacing:
name: ImagingPlane__grid_spacing
description: Space between pixels in (x, y) or voxels in (x, y, z) directions,
@@ -380,23 +333,13 @@ classes:
range: text
array:
name: array
- range: ImagingPlane__grid_spacing__Array
- ImagingPlane__grid_spacing__Array:
- name: ImagingPlane__grid_spacing__Array
- is_a: Arraylike
- attributes:
- x, y:
- name: x, y
+ array:
+ dimensions:
+ - alias: x, y
+ exact_cardinality: 2
+ - alias: x, y, z
+ exact_cardinality: 3
range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- x, y, z:
- name: x, y, z
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
OpticalChannel:
name: OpticalChannel
description: An optical channel used to record from an imaging plane.
@@ -426,10 +369,11 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.retinotopy.yaml
index 25a6ef5..1cf2daf 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.2.1
imports:
@@ -28,20 +35,12 @@ classes:
range: float32
array:
name: array
- range: RetinotopyMap__Array
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
+ range: float32
tree_root: true
- RetinotopyMap__Array:
- name: RetinotopyMap__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
- range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
AxisMap:
name: AxisMap
description: Abstract two-dimensional map of responses to stimuli along a single
@@ -59,20 +58,12 @@ classes:
range: text
array:
name: array
- range: AxisMap__Array
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
+ range: float32
tree_root: true
- AxisMap__Array:
- name: AxisMap__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
- range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
RetinotopyImage:
name: RetinotopyImage
description: 'Gray-scale image related to retinotopic mapping. Array structure:
@@ -155,7 +146,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_axes
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/namespace.yaml
index 2a81855..4864718 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_1/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.2.1
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.base.yaml
index 5f06b33..a68fc43 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.2.2
imports:
@@ -39,32 +46,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -130,7 +130,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -138,7 +141,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -146,7 +152,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -201,27 +210,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -268,13 +276,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.behavior.yaml
index 1f4b370..d2b99a4 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.2.2
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.device.yaml
index b669e93..150a0b1 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.2.2
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ecephys.yaml
index fc0575d..d3197fb 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.2.2
imports:
@@ -25,8 +32,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -45,47 +65,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -120,52 +106,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -181,19 +146,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -204,36 +180,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -270,13 +216,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -287,12 +239,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -309,12 +262,13 @@ classes:
the ElectricalSeries.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -323,12 +277,13 @@ classes:
properties should be noted in the ElectricalSeries description or comments field.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -385,72 +340,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -472,21 +379,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.epoch.yaml
index 215a042..5f64174 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.2.2
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.file.yaml
index 8f239b1..f758026 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.2.2
imports:
@@ -41,7 +48,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -183,9 +193,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -274,7 +289,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -286,7 +304,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -318,7 +339,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -622,42 +646,3 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.icephys.yaml
index b2acbbb..daa1fd9 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.2.2
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.image.yaml
index 2b24ebd..6453d3a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.2.2
imports:
@@ -16,22 +23,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -42,28 +34,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -74,28 +45,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -115,12 +65,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -130,8 +95,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -143,40 +108,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -216,14 +182,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -232,72 +220,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -316,7 +238,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.misc.yaml
index 9b667e1..53d7a9c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.2.2
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -169,23 +184,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__bands:
name: DecompositionSeries__bands
description: Table for describing the bands that this series was generated from.
@@ -209,33 +213,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -269,7 +271,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -292,14 +299,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
tree_root: true
Units__spike_times_index:
name: Units__spike_times_index
@@ -345,18 +372,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -381,43 +396,3 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ogen.yaml
index c3e23ed..03a42a0 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.2.2
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ophys.yaml
index def2b96..da24d9a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.2.2
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,24 +139,26 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: DynamicTable
tree_root: true
ImagingPlane:
name: ImagingPlane
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBContainer
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBContainer
tree_root: true
MotionCorrection:
name: MotionCorrection
@@ -195,10 +167,11 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.retinotopy.yaml
index fa692c0..b0ba8c6 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.2.2
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/namespace.yaml
index daa5754..f918a52 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_2/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.2.2
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.base.yaml
index d02d959..14daf08 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.2.4
imports:
@@ -39,32 +46,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -130,7 +130,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -138,7 +141,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -146,7 +152,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -201,27 +210,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -268,13 +276,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.behavior.yaml
index e414f93..98b836c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.2.4
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.device.yaml
index ceb2d08..bd6c3cf 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.2.4
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ecephys.yaml
index d0d49a1..8e03555 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.2.4
imports:
@@ -25,8 +32,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -45,47 +65,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -120,52 +106,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -181,19 +146,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -204,36 +180,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -270,13 +216,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -287,12 +239,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -309,12 +262,13 @@ classes:
the ElectricalSeries.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -323,12 +277,13 @@ classes:
properties should be noted in the ElectricalSeries description or comments field.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -385,72 +340,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -472,21 +379,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.epoch.yaml
index 13822e7..8c9a07e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.2.4
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.file.yaml
index 37f4484..88d3032 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.2.4
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -289,7 +304,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -301,7 +319,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -333,7 +354,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -575,45 +599,6 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.icephys.yaml
index 76ba65b..3fbf2c8 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.2.4
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.image.yaml
index d7788bb..33213e7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.2.4
imports:
@@ -16,22 +23,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -42,28 +34,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -74,28 +45,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -115,12 +65,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -130,8 +95,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -143,40 +108,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -216,14 +182,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -232,72 +220,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -316,7 +238,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.misc.yaml
index e6a644b..6177d09 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.2.4
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -169,23 +184,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__bands:
name: DecompositionSeries__bands
description: Table for describing the bands that this series was generated from.
@@ -209,33 +213,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -269,7 +271,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -292,14 +299,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
tree_root: true
Units__spike_times_index:
name: Units__spike_times_index
@@ -345,18 +372,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -381,43 +396,3 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ogen.yaml
index bc49283..e1f0320 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.2.4
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ophys.yaml
index 831a683..3444dac 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.2.4
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: true
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -191,8 +162,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -228,19 +211,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -270,12 +240,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -307,12 +278,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.retinotopy.yaml
index a597f23..5f4183f 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.2.4
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/namespace.yaml
index 9e1371b..b061ff8 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_4/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.2.4
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.base.yaml
index 3bc9a86..466517d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.2.5
imports:
@@ -39,32 +46,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -130,7 +130,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -138,7 +141,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -146,7 +152,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -201,27 +210,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -268,13 +276,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.behavior.yaml
index 0fd2ee4..f41873f 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.2.5
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.device.yaml
index eb826f3..1ea59e7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.2.5
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ecephys.yaml
index 4051dfd..9c9a128 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.2.5
imports:
@@ -25,8 +32,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -45,47 +65,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -120,52 +106,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -181,19 +146,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -204,36 +180,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -270,13 +216,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -287,12 +239,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -309,12 +262,13 @@ classes:
the ElectricalSeries.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -323,12 +277,13 @@ classes:
properties should be noted in the ElectricalSeries description or comments field.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -385,72 +340,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -472,21 +379,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.epoch.yaml
index 5865f7e..c4d07b5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.2.5
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.file.yaml
index 34824bf..d003d2a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.2.5
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -289,7 +304,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -301,7 +319,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -333,7 +354,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -575,45 +599,6 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.icephys.yaml
index f924642..d446bc3 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.2.5
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.image.yaml
index 552f1e4..0fe5553 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.2.5
imports:
@@ -16,22 +23,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -42,28 +34,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -74,28 +45,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -115,12 +65,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -130,8 +95,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -143,40 +108,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -216,14 +182,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -232,72 +220,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -316,7 +238,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.misc.yaml
index 4c8d3fe..056c439 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.2.5
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -169,23 +184,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__bands:
name: DecompositionSeries__bands
description: Table for describing the bands that this series was generated from.
@@ -209,33 +213,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -269,7 +271,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -292,14 +299,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
tree_root: true
Units__spike_times_index:
name: Units__spike_times_index
@@ -345,18 +372,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -381,43 +396,3 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ogen.yaml
index b88e0e3..7a4847e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.2.5
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ophys.yaml
index 2863219..ae0c707 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.2.5
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height|depth
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -191,8 +162,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -228,19 +211,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -270,12 +240,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -307,12 +278,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.retinotopy.yaml
index db940d0..9b7ae8c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.2.5
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/namespace.yaml
index 65d1766..c2aa8dc 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_2_5/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.2.5
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.base.yaml
index 51f261e..b817010 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.3.0
imports:
@@ -40,32 +47,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -131,7 +131,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -139,7 +142,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -147,7 +153,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -214,27 +223,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -281,13 +289,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.behavior.yaml
index e5eb504..c5268e7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.3.0
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.device.yaml
index b69e8d3..44217f7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.3.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ecephys.yaml
index 9171aaf..5ff3db5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.3.0
imports:
@@ -35,8 +42,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -55,47 +75,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -130,52 +116,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -191,19 +156,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -214,36 +190,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -280,13 +226,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -297,12 +249,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -319,12 +272,13 @@ classes:
the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -333,12 +287,13 @@ classes:
properties should be noted in the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -395,72 +350,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -482,21 +389,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.epoch.yaml
index 750c28d..502aa87 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.3.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.file.yaml
index a4b867a..f3948e7 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.3.0
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -289,7 +304,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -301,7 +319,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -333,7 +354,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -576,45 +600,6 @@ classes:
multivalued: false
range: SweepTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.icephys.yaml
index 4cb2b01..63a0b6a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.3.0
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.image.yaml
index 5dc9f16..238a590 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.3.0
imports:
@@ -17,22 +24,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -43,28 +35,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -75,28 +46,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -116,12 +66,27 @@ classes:
name: data
description: Binary data representing images across frames.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -131,8 +96,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -144,40 +109,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -217,14 +183,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -233,72 +221,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -317,7 +239,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.misc.yaml
index b1f44e0..ac1eb11 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.3.0
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -176,23 +191,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__source_channels:
name: DecompositionSeries__source_channels
description: DynamicTableRegion pointer to the channels that this decomposition
@@ -229,33 +233,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -289,7 +291,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -312,14 +319,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveforms:
name: waveforms
description: Individual waveforms for each spike on each electrode. This is
@@ -346,7 +373,11 @@ classes:
same order as the electrodes referenced in the 'electrodes' column of this
table. The number of samples for each waveform must be the same.
multivalued: false
- range: Units__waveforms
+ array:
+ dimensions:
+ - alias: num_waveforms
+ - alias: num_samples
+ range: numeric
required: false
waveforms_index:
name: waveforms_index
@@ -407,18 +438,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -443,88 +462,6 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveforms:
- name: Units__waveforms
- description: 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 in the same order as the electrodes
- referenced in the 'electrodes' column of this table. The number of samples for
- each waveform must be the same.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveforms)
- identifier: true
- range: string
- required: true
- equals_string: waveforms
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
Units__waveforms_index:
name: Units__waveforms_index
description: Index into the waveforms dataset. One value for every spike event.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ogen.yaml
index c305004..f4f0673 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.3.0
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ophys.yaml
index ed59306..42b638d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.3.0
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height|depth
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -191,8 +162,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -228,19 +211,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -270,12 +240,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -307,12 +278,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.retinotopy.yaml
index f257f82..f44a870 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.3.0
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/namespace.yaml
index cbe558c..2725965 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_3_0/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.3.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.base.yaml
index 6a82617..e1832c4 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.4.0
imports:
@@ -53,32 +60,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -144,7 +144,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -152,7 +155,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -160,7 +166,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -227,27 +236,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -294,13 +302,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.behavior.yaml
index 97b402a..95940a5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.4.0
imports:
@@ -59,19 +66,15 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -88,12 +91,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -101,12 +105,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -114,36 +119,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -154,22 +162,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.device.yaml
index cb7a567..2631baa 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.4.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ecephys.yaml
index 456d52d..f6a0150 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.4.0
imports:
@@ -35,8 +42,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -55,47 +75,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion'
- and 'channel_conversion' (if present).
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -130,52 +116,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -191,19 +156,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -214,36 +190,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -280,13 +226,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -297,12 +249,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -319,12 +272,13 @@ classes:
the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -333,12 +287,13 @@ classes:
properties should be noted in the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -395,72 +350,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -482,21 +389,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.epoch.yaml
index b223191..88b0139 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.4.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.file.yaml
index 474db3e..72c41cf 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.4.0
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -289,7 +304,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -301,7 +319,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -333,7 +354,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -630,45 +654,6 @@ classes:
multivalued: false
range: ExperimentalConditionsTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.icephys.yaml
index d83c0ec..6aa85d5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.4.0
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.image.yaml
index 7cbe234..f0986dd 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.4.0
imports:
@@ -17,22 +24,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -43,28 +35,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -75,28 +46,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -117,12 +67,27 @@ classes:
description: Binary data representing images across frames. If data are stored
in an external file, this should be an empty 3D array.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -132,8 +97,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -145,41 +110,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames. If data are stored
- in an external file, this should be an empty 3D array.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -219,14 +184,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -235,72 +222,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -319,7 +240,10 @@ classes:
data:
name: data
description: Index of the frame in the referenced ImageSeries.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.misc.yaml
index e9ef754..c56c722 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.4.0
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -176,23 +191,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__source_channels:
name: DecompositionSeries__source_channels
description: DynamicTableRegion pointer to the channels that this decomposition
@@ -229,33 +233,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -289,7 +291,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -312,14 +319,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveforms:
name: waveforms
description: Individual waveforms for each spike on each electrode. This is
@@ -346,7 +373,11 @@ classes:
same order as the electrodes referenced in the 'electrodes' column of this
table. The number of samples for each waveform must be the same.
multivalued: false
- range: Units__waveforms
+ array:
+ dimensions:
+ - alias: num_waveforms
+ - alias: num_samples
+ range: numeric
required: false
waveforms_index:
name: waveforms_index
@@ -407,18 +438,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -443,88 +462,6 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveforms:
- name: Units__waveforms
- description: 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 in the same order as the electrodes
- referenced in the 'electrodes' column of this table. The number of samples for
- each waveform must be the same.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveforms)
- identifier: true
- range: string
- required: true
- equals_string: waveforms
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
Units__waveforms_index:
name: Units__waveforms_index
description: Index into the waveforms dataset. One value for every spike event.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ogen.yaml
index b847259..3879929 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.4.0
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ophys.yaml
index e8ff89d..1e62ac5 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.4.0
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height|depth
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -191,8 +162,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -228,19 +211,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -270,12 +240,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -307,12 +278,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.retinotopy.yaml
index beacf03..464e367 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.4.0
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/namespace.yaml
index 00e8404..2b3dff6 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_4_0/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.4.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.base.yaml
index 729211d..39857f8 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.5.0
imports:
@@ -53,32 +60,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageReferences:
name: ImageReferences
description: Ordered dataset of references to Image objects.
@@ -89,18 +89,13 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ImageReferences__Array
- tree_root: true
- ImageReferences__Array:
- name: ImageReferences__Array
- is_a: Arraylike
- attributes:
- num_images:
- name: num_images
+ image:
+ name: image
+ description: Ordered dataset of references to Image objects.
+ multivalued: true
range: Image
required: true
+ tree_root: true
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -166,7 +161,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -174,7 +172,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -182,7 +183,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -257,27 +261,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -324,13 +327,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.behavior.yaml
index a785773..14d8293 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.5.0
imports:
@@ -60,33 +67,26 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: false
- minimum_cardinality: 1
- maximum_cardinality: 1
- x,y:
- name: x,y
- range: numeric
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- x,y,z:
- name: x,y,z
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x
+ exact_cardinality: 1
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x,y
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x,y,z
+ exact_cardinality: 3
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -103,12 +103,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -116,12 +117,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -129,36 +131,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -169,22 +174,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.device.yaml
index 8a72bea..ea60a74 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.5.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ecephys.yaml
index 3697759..6c73e13 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.5.0
imports:
@@ -35,8 +42,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -55,47 +75,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion',
- followed by 'channel_conversion' (if present), and then add 'offset'.
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -130,52 +116,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -191,19 +156,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -214,36 +190,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -280,13 +226,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -297,12 +249,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -319,12 +272,13 @@ classes:
the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -333,12 +287,13 @@ classes:
properties should be noted in the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -395,72 +350,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -482,21 +389,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.epoch.yaml
index 8024ef1..cd992b0 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.5.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.file.yaml
index 2f63730..76ebf3d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.5.0
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -290,7 +305,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -302,7 +320,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -334,7 +355,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -633,45 +657,6 @@ classes:
multivalued: false
range: ExperimentalConditionsTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.icephys.yaml
index 8107ace..dd240da 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.5.0
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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' and add 'offset'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.image.yaml
index d4b1a86..2cef030 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.5.0
imports:
@@ -17,22 +24,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -43,28 +35,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -75,28 +46,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -117,12 +67,27 @@ classes:
description: Binary data representing images across frames. If data are stored
in an external file, this should be an empty 3D array.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -132,8 +97,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -145,41 +110,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames. If data are stored
- in an external file, this should be an empty 3D array.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -219,14 +184,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -235,72 +222,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -321,7 +242,10 @@ classes:
name: data
description: Index of the image (using zero-indexing) in the linked Images
object.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.misc.yaml
index 2d03a8e..51b0078 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.5.0
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -176,23 +191,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__source_channels:
name: DecompositionSeries__source_channels
description: DynamicTableRegion pointer to the channels that this decomposition
@@ -229,33 +233,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -289,7 +291,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -312,14 +319,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveforms:
name: waveforms
description: Individual waveforms for each spike on each electrode. This is
@@ -346,7 +373,11 @@ classes:
same order as the electrodes referenced in the 'electrodes' column of this
table. The number of samples for each waveform must be the same.
multivalued: false
- range: Units__waveforms
+ array:
+ dimensions:
+ - alias: num_waveforms
+ - alias: num_samples
+ range: numeric
required: false
waveforms_index:
name: waveforms_index
@@ -407,18 +438,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -443,88 +462,6 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveforms:
- name: Units__waveforms
- description: 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 in the same order as the electrodes
- referenced in the 'electrodes' column of this table. The number of samples for
- each waveform must be the same.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveforms)
- identifier: true
- range: string
- required: true
- equals_string: waveforms
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
Units__waveforms_index:
name: Units__waveforms_index
description: Index into the waveforms dataset. One value for every spike event.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ogen.yaml
index 9da2ad2..546b9cd 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.5.0
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ophys.yaml
index 646318d..a205204 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.5.0
imports:
@@ -33,39 +40,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height|depth
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -81,8 +67,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -91,32 +85,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -137,12 +105,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -151,12 +120,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -169,12 +139,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -191,8 +162,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -228,19 +211,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -270,12 +240,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -307,12 +278,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.retinotopy.yaml
index 1710053..8562943 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.5.0
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/namespace.yaml
index e7d33bd..b33d409 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_5_0/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.5.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.base.yaml
index ca6eca6..053d845 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.base.yaml
@@ -1,4 +1,11 @@
name: core.nwb.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.base
version: 2.6.0-alpha
imports:
@@ -53,32 +60,25 @@ classes:
range: text
array:
name: array
- range: Image__Array
+ range: numeric
+ any_of:
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
+ - array:
+ dimensions:
+ - alias: x
+ - alias: y
+ - alias: r, g, b, a
+ exact_cardinality: 4
tree_root: true
- Image__Array:
- name: Image__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: false
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageReferences:
name: ImageReferences
description: Ordered dataset of references to Image objects.
@@ -89,18 +89,13 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ImageReferences__Array
- tree_root: true
- ImageReferences__Array:
- name: ImageReferences__Array
- is_a: Arraylike
- attributes:
- num_images:
- name: num_images
+ image:
+ name: image
+ description: Ordered dataset of references to Image objects.
+ multivalued: true
range: Image
required: true
+ tree_root: true
NWBContainer:
name: NWBContainer
description: An abstract data type for a generic container storing collections
@@ -166,7 +161,10 @@ classes:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: false
control:
@@ -174,7 +172,10 @@ classes:
description: Numerical labels that apply to each time point in data for the
purpose of querying and slicing data by these values. If present, the length
of this array should be the same size as the first dimension of data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint8
required: false
control_description:
@@ -182,7 +183,10 @@ classes:
description: Description of each control value. Must be present if control
is present. If present, control_description[0] should describe time points
where control == 0.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_control_values
range: text
required: false
sync:
@@ -257,27 +261,26 @@ classes:
range: text
array:
name: array
- range: TimeSeries__data__Array
- TimeSeries__data__Array:
- name: TimeSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: AnyType
- required: true
- num_DIM2:
- name: num_DIM2
- range: AnyType
- required: false
- num_DIM3:
- name: num_DIM3
- range: AnyType
- required: false
- num_DIM4:
- name: num_DIM4
- range: AnyType
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_DIM2
+ - alias: num_DIM3
+ - alias: num_DIM4
TimeSeries__starting_time:
name: TimeSeries__starting_time
description: Timestamp of the first sample in seconds. When timestamps are uniformly
@@ -324,13 +327,14 @@ classes:
description: A collection of processed data.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: NWBDataInterface
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: NWBDataInterface
+ - range: DynamicTable
tree_root: true
Images:
name: Images
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.behavior.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.behavior.yaml
index 43ada3d..d656941 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.behavior.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.behavior.yaml
@@ -1,4 +1,11 @@
name: core.nwb.behavior
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.behavior
version: 2.6.0-alpha
imports:
@@ -60,33 +67,26 @@ classes:
range: text
array:
name: array
- range: SpatialSeries__data__Array
- SpatialSeries__data__Array:
- name: SpatialSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: false
- minimum_cardinality: 1
- maximum_cardinality: 1
- x,y:
- name: x,y
- range: numeric
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- x,y,z:
- name: x,y,z
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x
+ exact_cardinality: 1
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x,y
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: x,y,z
+ exact_cardinality: 3
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
@@ -103,12 +103,13 @@ classes:
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: IntervalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: IntervalSeries
tree_root: true
BehavioralEvents:
name: BehavioralEvents
@@ -116,12 +117,13 @@ classes:
for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
BehavioralTimeSeries:
name: BehavioralTimeSeries
@@ -129,36 +131,39 @@ classes:
of BehavioralEpochs for more details.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: TimeSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeSeries
tree_root: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
CompassDirection:
name: CompassDirection
@@ -169,22 +174,24 @@ classes:
be radians or degrees.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpatialSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpatialSeries
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.device.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.device.yaml
index 93c1e39..56e0400 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.device.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.device.yaml
@@ -1,4 +1,11 @@
name: core.nwb.device
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.device
version: 2.6.0-alpha
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ecephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ecephys.yaml
index 776a807..97a5f08 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ecephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ecephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ecephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ecephys
version: 2.6.0-alpha
imports:
@@ -35,8 +42,21 @@ classes:
name: data
description: Recorded voltage data.
multivalued: false
- range: ElectricalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_samples
electrodes:
name: electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -55,47 +75,13 @@ classes:
as native values generated by data acquisition systems. If this dataset
is not present, then there is no channel-specific conversion factor, i.e.
it is 1 for all channels.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_channels
range: float32
required: false
tree_root: true
- ElectricalSeries__data:
- name: ElectricalSeries__data
- description: Recorded voltage data.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Base unit of measurement for working with the data. This value
- is fixed to 'volts'. Actual stored values are not necessarily stored in
- these units. To access the data in these units, multiply 'data' by 'conversion',
- followed by 'channel_conversion' (if present), and then add 'offset'.
- range: text
- array:
- name: array
- range: ElectricalSeries__data__Array
- ElectricalSeries__data__Array:
- name: ElectricalSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
- num_samples:
- name: num_samples
- range: numeric
- required: false
ElectricalSeries__electrodes:
name: ElectricalSeries__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -130,52 +116,31 @@ classes:
name: data
description: Spike waveforms.
multivalued: false
- range: SpikeEventSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_samples
timestamps:
name: timestamps
description: Timestamps for samples stored in data, in seconds, relative to
the common experiment master-clock stored in NWBFile.timestamps_reference_time.
Timestamps are required for the events. Unlike for TimeSeries, timestamps
are required for SpikeEventSeries and are thus re-specified here.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: float64
required: true
tree_root: true
- SpikeEventSeries__data:
- name: SpikeEventSeries__data
- description: Spike waveforms.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- unit:
- name: unit
- description: Unit of measurement for waveforms, which is fixed to 'volts'.
- range: text
- array:
- name: array
- range: SpikeEventSeries__data__Array
- SpikeEventSeries__data__Array:
- name: SpikeEventSeries__data__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: numeric
- required: true
- num_samples:
- name: num_samples
- range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: false
FeatureExtraction:
name: FeatureExtraction
description: Features, such as PC1 and PC2, that are extracted from signals stored
@@ -191,19 +156,30 @@ classes:
name: description
description: Description of features (eg, ''PC1'') for each of the extracted
features.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
features:
name: features
description: Multi-dimensional array of features extracted from each event.
multivalued: false
- range: FeatureExtraction__features
+ array:
+ dimensions:
+ - alias: num_events
+ - alias: num_channels
+ - alias: num_features
+ range: float32
required: true
times:
name: times
description: Times of events that features correspond to (can be a link).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
electrodes:
@@ -214,36 +190,6 @@ classes:
range: FeatureExtraction__electrodes
required: true
tree_root: true
- FeatureExtraction__features:
- name: FeatureExtraction__features
- description: Multi-dimensional array of features extracted from each event.
- attributes:
- name:
- name: name
- ifabsent: string(features)
- identifier: true
- range: string
- required: true
- equals_string: features
- array:
- name: array
- range: FeatureExtraction__features__Array
- FeatureExtraction__features__Array:
- name: FeatureExtraction__features__Array
- is_a: Arraylike
- attributes:
- num_events:
- name: num_events
- range: float32
- required: true
- num_channels:
- name: num_channels
- range: float32
- required: true
- num_features:
- name: num_features
- range: float32
- required: true
FeatureExtraction__electrodes:
name: FeatureExtraction__electrodes
description: DynamicTableRegion pointer to the electrodes that this time series
@@ -280,13 +226,19 @@ classes:
corresponding to time of event. ''description'' should define what is meant
by time of event (e.g., .25 ms before action potential peak, zero-crossing
time, etc). The index points to each event from the raw data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
times:
name: times
description: Timestamps of events, in seconds.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
@@ -297,12 +249,13 @@ classes:
during experiment acquisition.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: SpikeEventSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: SpikeEventSeries
tree_root: true
FilteredEphys:
name: FilteredEphys
@@ -319,12 +272,13 @@ classes:
the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
LFP:
name: LFP
@@ -333,12 +287,13 @@ classes:
properties should be noted in the ElectricalSeries 'filtering' attribute.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: ElectricalSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: ElectricalSeries
tree_root: true
ElectrodeGroup:
name: ElectrodeGroup
@@ -395,72 +350,24 @@ classes:
3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence
should be empty (e.g., zero- filled)
multivalued: false
- range: ClusterWaveforms__waveform_mean
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
waveform_sd:
name: waveform_sd
description: Stdev of waveforms for each cluster, using the same indices as
in mean
multivalued: false
- range: ClusterWaveforms__waveform_sd
+ array:
+ dimensions:
+ - alias: num_clusters
+ - alias: num_samples
+ range: float32
required: true
tree_root: true
- ClusterWaveforms__waveform_mean:
- name: ClusterWaveforms__waveform_mean
- description: The mean waveform for each cluster, using the same indices for each
- wave as cluster numbers in the associated Clustering module (i.e, cluster 3
- is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should
- be empty (e.g., zero- filled)
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- array:
- name: array
- range: ClusterWaveforms__waveform_mean__Array
- ClusterWaveforms__waveform_mean__Array:
- name: ClusterWaveforms__waveform_mean__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
- ClusterWaveforms__waveform_sd:
- name: ClusterWaveforms__waveform_sd
- description: Stdev of waveforms for each cluster, using the same indices as in
- mean
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- array:
- name: array
- range: ClusterWaveforms__waveform_sd__Array
- ClusterWaveforms__waveform_sd__Array:
- name: ClusterWaveforms__waveform_sd__Array
- is_a: Arraylike
- attributes:
- num_clusters:
- name: num_clusters
- range: float32
- required: true
- num_samples:
- name: num_samples
- range: float32
- required: true
Clustering:
name: Clustering
description: DEPRECATED Clustered spike data, whether from automatic clustering
@@ -482,21 +389,30 @@ classes:
num:
name: num
description: Cluster number of each event
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: int32
required: true
peak_over_rms:
name: peak_over_rms
description: Maximum ratio of waveform peak to RMS on any channel in the cluster
(provides a basic clustering metric).
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_clusters
range: float32
required: true
times:
name: times
description: Times of clustered events, in seconds. This may be a link to
times field in associated FeatureExtraction module.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_events
range: float64
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.epoch.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.epoch.yaml
index 29a14be..89328ec 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.epoch.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.epoch.yaml
@@ -1,4 +1,11 @@
name: core.nwb.epoch
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.epoch
version: 2.6.0-alpha
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.file.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.file.yaml
index 2e7876a..6a536a3 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.file.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.file.yaml
@@ -1,4 +1,11 @@
name: core.nwb.file
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.file
version: 2.6.0-alpha
imports:
@@ -56,7 +63,10 @@ classes:
The file can be created after the experiment was run, so this may differ
from the experiment start time. Each modification to the nwb file adds a
new entry to the array.'
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_modifications
range: isodatetime
required: true
identifier:
@@ -198,9 +208,14 @@ classes:
having a particular scientific goal, trials (see trials subgroup) during
an experiment, or epochs (see epochs subgroup) deriving from analysis of
data.
- multivalued: false
- range: NWBFile__intervals
- required: false
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
+ - range: TimeIntervals
units:
name: units
description: Data about sorted spike units.
@@ -290,7 +305,10 @@ classes:
name: experimenter
description: Name of person(s) who performed the experiment. Can also specify
roles of different people involved.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_experimenters
range: text
required: false
institution:
@@ -302,7 +320,10 @@ classes:
keywords:
name: keywords
description: Terms to search over.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_keywords
range: text
required: false
lab:
@@ -334,7 +355,10 @@ classes:
related_publications:
name: related_publications
description: Publication information. PMID, DOI, URL, etc.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_publications
range: text
required: false
session_id:
@@ -633,45 +657,6 @@ classes:
multivalued: false
range: ExperimentalConditionsTable
required: false
- NWBFile__intervals:
- name: NWBFile__intervals
- description: Experimental intervals, whether that be logically distinct sub-experiments
- having a particular scientific goal, trials (see trials subgroup) during an
- experiment, or epochs (see epochs subgroup) deriving from analysis of data.
- attributes:
- name:
- name: name
- ifabsent: string(intervals)
- identifier: true
- range: string
- required: true
- equals_string: intervals
- epochs:
- name: epochs
- description: Divisions in time marking experimental stages or sub-divisions
- of a single recording session.
- multivalued: false
- range: TimeIntervals
- required: false
- trials:
- name: trials
- description: Repeated experimental events that have a logical grouping.
- multivalued: false
- range: TimeIntervals
- required: false
- invalid_times:
- name: invalid_times
- description: Time intervals that should be removed from analysis.
- multivalued: false
- range: TimeIntervals
- required: false
- time_intervals:
- name: time_intervals
- description: Optional additional table(s) for describing other experimental
- time intervals.
- multivalued: true
- range: TimeIntervals
- required: false
LabMetaData:
name: LabMetaData
description: Lab-specific meta-data.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.icephys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.icephys.yaml
index ff23e85..a034515 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.icephys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.icephys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.icephys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.icephys
version: 2.6.0-alpha
imports:
@@ -30,8 +37,8 @@ classes:
data:
name: data
description: Recorded voltage or current.
- multivalued: true
- range: numeric
+ multivalued: false
+ range: PatchClampSeries__data
required: true
gain:
name: gain
@@ -41,6 +48,29 @@ classes:
range: float32
required: false
tree_root: true
+ PatchClampSeries__data:
+ name: PatchClampSeries__data
+ description: Recorded voltage or current.
+ attributes:
+ name:
+ name: name
+ ifabsent: string(data)
+ identifier: true
+ range: string
+ required: true
+ equals_string: data
+ unit:
+ name: unit
+ description: 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' and add 'offset'.
+ range: text
+ array:
+ name: array
+ array:
+ dimensions:
+ - alias: num_times
+ range: numeric
CurrentClampSeries:
name: CurrentClampSeries
description: Voltage data from an intracellular current-clamp recording. A corresponding
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.image.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.image.yaml
index 5ea10fe..f171d2e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.image.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.image.yaml
@@ -1,4 +1,11 @@
name: core.nwb.image
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.image
version: 2.6.0-alpha
imports:
@@ -17,22 +24,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: GrayscaleImage__Array
tree_root: true
- GrayscaleImage__Array:
- name: GrayscaleImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
RGBImage:
name: RGBImage
description: A color image.
@@ -43,28 +35,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBImage__Array
tree_root: true
- RGBImage__Array:
- name: RGBImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: true
- minimum_cardinality: 3
- maximum_cardinality: 3
RGBAImage:
name: RGBAImage
description: A color image with transparency.
@@ -75,28 +46,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: RGBAImage__Array
tree_root: true
- RGBAImage__Array:
- name: RGBAImage__Array
- is_a: Arraylike
- attributes:
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b, a:
- name: r, g, b, a
- range: numeric
- required: true
- minimum_cardinality: 4
- maximum_cardinality: 4
ImageSeries:
name: ImageSeries
description: General image data that is common between acquisition and stimulus
@@ -117,12 +67,27 @@ classes:
description: Binary data representing images across frames. If data are stored
in an external file, this should be an empty 3D array.
multivalued: false
- range: ImageSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: z
dimension:
name: dimension
description: Number of pixels on x, y, (and z) axes.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: rank
range: int32
required: false
external_file:
@@ -132,8 +97,8 @@ classes:
in the file system as one or more image file(s). This field should NOT be
used if the image is stored in another NWB file and that file is linked
to this file.
- multivalued: true
- range: text
+ multivalued: false
+ range: ImageSeries__external_file
required: false
format:
name: format
@@ -145,41 +110,41 @@ classes:
range: text
required: false
tree_root: true
- ImageSeries__data:
- name: ImageSeries__data
- description: Binary data representing images across frames. If data are stored
- in an external file, this should be an empty 3D array.
+ ImageSeries__external_file:
+ name: ImageSeries__external_file
+ description: Paths to one or more external file(s). The field is only present
+ if format='external'. This is only relevant if the image series is stored in
+ the file system as one or more image file(s). This field should NOT be used
+ if the image is stored in another NWB file and that file is linked to this file.
attributes:
name:
name: name
- ifabsent: string(data)
+ ifabsent: string(external_file)
identifier: true
range: string
required: true
- equals_string: data
+ equals_string: external_file
+ starting_frame:
+ name: starting_frame
+ description: Each external image may contain one or more consecutive frames
+ of the full ImageSeries. This attribute serves as an index to indicate which
+ frames each file contains, to faciliate random access. The 'starting_frame'
+ attribute, hence, contains a list of frame numbers within the full ImageSeries
+ of the first frame of each file listed in the parent 'external_file' dataset.
+ Zero-based indexing is used (hence, the first element will always be zero).
+ For example, if the 'external_file' dataset has three paths to files and
+ the first file has 5 frames, the second file has 10 frames, and the third
+ file has 20 frames, then this attribute will have values [0, 5, 15]. If
+ there is a single external file that holds all of the frames of the ImageSeries
+ (and so there is a single element in the 'external_file' dataset), then
+ this attribute should have value [0].
+ range: int32
array:
name: array
- range: ImageSeries__data__Array
- ImageSeries__data__Array:
- name: ImageSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- z:
- name: z
- range: numeric
- required: false
+ array:
+ dimensions:
+ - alias: num_files
+ range: text
ImageMaskSeries:
name: ImageMaskSeries
description: An alpha mask that is applied to a presented visual stimulus. The
@@ -219,14 +184,36 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: OpticalSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width, height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width, height, depth
+ exact_cardinality: 3
data:
name: data
description: Images presented to subject, either grayscale or RGB
multivalued: false
- range: OpticalSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - array:
+ dimensions:
+ - alias: frame
+ - alias: x
+ - alias: y
+ - alias: r, g, b
+ exact_cardinality: 3
orientation:
name: orientation
description: Description of image relative to some reference frame (e.g.,
@@ -235,72 +222,6 @@ classes:
range: text
required: false
tree_root: true
- OpticalSeries__field_of_view:
- name: OpticalSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: OpticalSeries__field_of_view__Array
- OpticalSeries__field_of_view__Array:
- name: OpticalSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width, height:
- name: width, height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width, height, depth:
- name: width, height, depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
- OpticalSeries__data:
- name: OpticalSeries__data
- description: Images presented to subject, either grayscale or RGB
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: OpticalSeries__data__Array
- OpticalSeries__data__Array:
- name: OpticalSeries__data__Array
- is_a: Arraylike
- attributes:
- frame:
- name: frame
- range: numeric
- required: true
- x:
- name: x
- range: numeric
- required: true
- y:
- name: y
- range: numeric
- required: true
- r, g, b:
- name: r, g, b
- range: numeric
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
IndexSeries:
name: IndexSeries
description: Stores indices to image frames stored in an ImageSeries. The purpose
@@ -321,7 +242,10 @@ classes:
name: data
description: Index of the image (using zero-indexing) in the linked Images
object.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: uint32
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.language.yaml
index c57e91f..edba729 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.language.yaml
@@ -1,4 +1,11 @@
name: core.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.misc.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.misc.yaml
index 52ede98..c349c6c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.misc.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.misc.yaml
@@ -1,4 +1,11 @@
name: core.nwb.misc
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.misc
version: 2.6.0-alpha
imports:
@@ -35,13 +42,19 @@ classes:
feature_units:
name: feature_units
description: Units of each feature.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: false
features:
name: features
description: Description of the features represented in TimeSeries::data.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_features
range: text
required: true
tree_root: true
@@ -64,19 +77,15 @@ classes:
range: text
array:
name: array
- range: AbstractFeatureSeries__data__Array
- AbstractFeatureSeries__data__Array:
- name: AbstractFeatureSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
range: numeric
- required: true
- num_features:
- name: num_features
- range: numeric
- required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_features
AnnotationSeries:
name: AnnotationSeries
description: Stores user annotations made during an experiment. The data[] field
@@ -93,7 +102,10 @@ classes:
data:
name: data
description: Annotations made during an experiment.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: text
required: true
tree_root: true
@@ -116,7 +128,10 @@ classes:
data:
name: data
description: Use values >0 if interval started, <0 if interval ended.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: int8
required: true
tree_root: true
@@ -176,23 +191,12 @@ classes:
range: text
array:
name: array
- range: DecompositionSeries__data__Array
- DecompositionSeries__data__Array:
- name: DecompositionSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
+ array:
+ dimensions:
+ - alias: num_times
+ - alias: num_channels
+ - alias: num_bands
range: numeric
- required: true
- num_channels:
- name: num_channels
- range: numeric
- required: true
- num_bands:
- name: num_bands
- range: numeric
- required: true
DecompositionSeries__source_channels:
name: DecompositionSeries__source_channels
description: DynamicTableRegion pointer to the channels that this decomposition
@@ -229,33 +233,31 @@ classes:
description: Low and high limit of each band in Hz. If it is a Gaussian filter,
use 2 SD on either side of the center.
multivalued: false
- range: DecompositionSeries__bands__band_limits
+ array:
+ dimensions:
+ - alias: num_bands
+ - alias: low, high
+ exact_cardinality: 2
+ range: float32
required: true
band_mean:
name: band_mean
description: The mean Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
band_stdev:
name: band_stdev
description: The standard deviation of Gaussian filters, in Hz.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_bands
range: float32
required: true
- DecompositionSeries__bands__band_limits:
- name: DecompositionSeries__bands__band_limits
- description: Low and high limit of each band in Hz. If it is a Gaussian filter,
- use 2 SD on either side of the center.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(band_limits)
- identifier: true
- range: string
- required: true
- equals_string: band_limits
Units:
name: Units
description: Data about spiking units. Event times of observed units (e.g. cell,
@@ -289,7 +291,12 @@ classes:
name: obs_intervals
description: Observation intervals for each unit.
multivalued: false
- range: Units__obs_intervals
+ array:
+ dimensions:
+ - alias: num_intervals
+ - alias: start|end
+ exact_cardinality: 2
+ range: float64
required: false
electrodes_index:
name: electrodes_index
@@ -312,14 +319,34 @@ classes:
name: waveform_mean
description: Spike waveform mean for each spike unit.
multivalued: false
- range: Units__waveform_mean
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveform_sd:
name: waveform_sd
description: Spike waveform standard deviation for each spike unit.
multivalued: false
- range: Units__waveform_sd
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - array:
+ dimensions:
+ - alias: num_units
+ - alias: num_samples
+ - alias: num_electrodes
waveforms:
name: waveforms
description: Individual waveforms for each spike on each electrode. This is
@@ -346,7 +373,11 @@ classes:
same order as the electrodes referenced in the 'electrodes' column of this
table. The number of samples for each waveform must be the same.
multivalued: false
- range: Units__waveforms
+ array:
+ dimensions:
+ - alias: num_waveforms
+ - alias: num_samples
+ range: numeric
required: false
waveforms_index:
name: waveforms_index
@@ -407,18 +438,6 @@ classes:
range: string
required: true
equals_string: obs_intervals_index
- Units__obs_intervals:
- name: Units__obs_intervals
- description: Observation intervals for each unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(obs_intervals)
- identifier: true
- range: string
- required: true
- equals_string: obs_intervals
Units__electrodes_index:
name: Units__electrodes_index
description: Index into electrodes.
@@ -443,88 +462,6 @@ classes:
range: string
required: true
equals_string: electrodes
- Units__waveform_mean:
- name: Units__waveform_mean
- description: Spike waveform mean for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_mean)
- identifier: true
- range: string
- required: true
- equals_string: waveform_mean
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveform_sd:
- name: Units__waveform_sd
- description: Spike waveform standard deviation for each spike unit.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveform_sd)
- identifier: true
- range: string
- required: true
- equals_string: waveform_sd
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
- Units__waveforms:
- name: Units__waveforms
- description: 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 in the same order as the electrodes
- referenced in the 'electrodes' column of this table. The number of samples for
- each waveform must be the same.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(waveforms)
- identifier: true
- range: string
- required: true
- equals_string: waveforms
- sampling_rate:
- name: sampling_rate
- description: Sampling rate, in hertz.
- range: float32
- unit:
- name: unit
- description: Unit of measurement. This value is fixed to 'volts'.
- range: text
Units__waveforms_index:
name: Units__waveforms_index
description: Index into the waveforms dataset. One value for every spike event.
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ogen.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ogen.yaml
index 3bd5676..183bb5e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ogen.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ogen.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ogen
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ogen
version: 2.6.0-alpha
imports:
@@ -20,7 +27,10 @@ classes:
data:
name: data
description: Applied power for optogenetic stimulus, in watts.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_times
range: numeric
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ophys.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ophys.yaml
index d53bc17..00d10b3 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ophys.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.ophys.yaml
@@ -1,4 +1,11 @@
name: core.nwb.ophys
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.ophys
version: 2.6.0-alpha
imports:
@@ -70,39 +77,18 @@ classes:
name: field_of_view
description: Width, height and depth of image, or imaged area, in meters.
multivalued: false
- range: TwoPhotonSeries__field_of_view
+ range: float32
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: width|height
+ exact_cardinality: 2
+ - array:
+ dimensions:
+ - alias: width|height|depth
+ exact_cardinality: 3
tree_root: true
- TwoPhotonSeries__field_of_view:
- name: TwoPhotonSeries__field_of_view
- description: Width, height and depth of image, or imaged area, in meters.
- attributes:
- name:
- name: name
- ifabsent: string(field_of_view)
- identifier: true
- range: string
- required: true
- equals_string: field_of_view
- array:
- name: array
- range: TwoPhotonSeries__field_of_view__Array
- TwoPhotonSeries__field_of_view__Array:
- name: TwoPhotonSeries__field_of_view__Array
- is_a: Arraylike
- attributes:
- width|height:
- name: width|height
- range: float32
- required: false
- minimum_cardinality: 2
- maximum_cardinality: 2
- width|height|depth:
- name: width|height|depth
- range: float32
- required: false
- minimum_cardinality: 3
- maximum_cardinality: 3
RoiResponseSeries:
name: RoiResponseSeries
description: ROI responses over an imaging plane. The first dimension represents
@@ -118,8 +104,16 @@ classes:
name: data
description: Signals from ROIs.
multivalued: false
- range: RoiResponseSeries__data
+ range: numeric
required: true
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_times
+ - array:
+ dimensions:
+ - alias: num_times
+ - alias: num_ROIs
rois:
name: rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -128,32 +122,6 @@ classes:
range: RoiResponseSeries__rois
required: true
tree_root: true
- RoiResponseSeries__data:
- name: RoiResponseSeries__data
- description: Signals from ROIs.
- attributes:
- name:
- name: name
- ifabsent: string(data)
- identifier: true
- range: string
- required: true
- equals_string: data
- array:
- name: array
- range: RoiResponseSeries__data__Array
- RoiResponseSeries__data__Array:
- name: RoiResponseSeries__data__Array
- is_a: Arraylike
- attributes:
- num_times:
- name: num_times
- range: numeric
- required: true
- num_ROIs:
- name: num_ROIs
- range: numeric
- required: false
RoiResponseSeries__rois:
name: RoiResponseSeries__rois
description: DynamicTableRegion referencing into an ROITable containing information
@@ -174,12 +142,13 @@ classes:
for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
Fluorescence:
name: Fluorescence
@@ -188,12 +157,13 @@ classes:
for ROIs and for image planes).
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: RoiResponseSeries
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: RoiResponseSeries
tree_root: true
ImageSegmentation:
name: ImageSegmentation
@@ -206,12 +176,13 @@ classes:
is required and ROI names should remain consistent between them.
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: PlaneSegmentation
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: PlaneSegmentation
tree_root: true
PlaneSegmentation:
name: PlaneSegmentation
@@ -228,8 +199,20 @@ classes:
description: ROI masks for each ROI. Each image mask is the size of the original
imaging plane (or volume) and members of the ROI are finite non-zero.
multivalued: false
- range: PlaneSegmentation__image_mask
+ range: AnyType
required: false
+ any_of:
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - array:
+ dimensions:
+ - alias: num_roi
+ - alias: num_x
+ - alias: num_y
+ - alias: num_z
pixel_mask_index:
name: pixel_mask_index
description: Index into pixel_mask.
@@ -265,19 +248,6 @@ classes:
any_of:
- range: ImageSeries
tree_root: true
- PlaneSegmentation__image_mask:
- name: PlaneSegmentation__image_mask
- description: ROI masks for each ROI. Each image mask is the size of the original
- imaging plane (or volume) and members of the ROI are finite non-zero.
- is_a: VectorData
- attributes:
- name:
- name: name
- ifabsent: string(image_mask)
- identifier: true
- range: string
- required: true
- equals_string: image_mask
PlaneSegmentation__pixel_mask_index:
name: PlaneSegmentation__pixel_mask_index
description: Index into pixel_mask.
@@ -307,12 +277,13 @@ classes:
description: An imaging plane and its metadata.
is_a: NWBContainer
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: OpticalChannel
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: OpticalChannel
tree_root: true
OpticalChannel:
name: OpticalChannel
@@ -344,12 +315,13 @@ classes:
frame at each point in time is assumed to be 2-D (has only x & y dimensions).'
is_a: NWBDataInterface
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: CorrectedImageStack
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: CorrectedImageStack
tree_root: true
CorrectedImageStack:
name: CorrectedImageStack
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.retinotopy.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.retinotopy.yaml
index fffbd47..364898f 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.retinotopy.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/core.nwb.retinotopy.yaml
@@ -1,4 +1,11 @@
name: core.nwb.retinotopy
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: core
id: core.nwb.retinotopy
version: 2.6.0-alpha
imports:
@@ -55,7 +62,11 @@ classes:
description: Two-element array describing the contents of the two response
axis fields. Description should be something like ['altitude', 'azimuth']
or '['radius', 'theta'].
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: axis_1, axis_2
+ exact_cardinality: 2
range: text
required: true
focal_depth_image:
@@ -106,19 +117,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_phase_map__Array
- ImagingRetinotopy__axis_1_phase_map__Array:
- name: ImagingRetinotopy__axis_1_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_1_power_map:
name: ImagingRetinotopy__axis_1_power_map
description: Power response on the first measured axis. Response is scaled so
@@ -146,19 +149,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_1_power_map__Array
- ImagingRetinotopy__axis_1_power_map__Array:
- name: ImagingRetinotopy__axis_1_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_phase_map:
name: ImagingRetinotopy__axis_2_phase_map
description: Phase response to stimulus on the second measured axis.
@@ -185,19 +180,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_phase_map__Array
- ImagingRetinotopy__axis_2_phase_map__Array:
- name: ImagingRetinotopy__axis_2_phase_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__axis_2_power_map:
name: ImagingRetinotopy__axis_2_power_map
description: Power response on the second measured axis. Response is scaled so
@@ -225,19 +212,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__axis_2_power_map__Array
- ImagingRetinotopy__axis_2_power_map__Array:
- name: ImagingRetinotopy__axis_2_power_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__focal_depth_image:
name: ImagingRetinotopy__focal_depth_image
description: 'Gray-scale image taken with same settings/parameters (e.g., focal
@@ -274,19 +253,11 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__focal_depth_image__Array
- ImagingRetinotopy__focal_depth_image__Array:
- name: ImagingRetinotopy__focal_depth_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
ImagingRetinotopy__sign_map:
name: ImagingRetinotopy__sign_map
description: Sine of the angle between the direction of the gradient in axis_1
@@ -310,19 +281,11 @@ classes:
range: float32
array:
name: array
- range: ImagingRetinotopy__sign_map__Array
- ImagingRetinotopy__sign_map__Array:
- name: ImagingRetinotopy__sign_map__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: float32
- required: true
- num_cols:
- name: num_cols
- range: float32
- required: true
ImagingRetinotopy__vasculature_image:
name: ImagingRetinotopy__vasculature_image
description: 'Gray-scale anatomical image of cortical surface. Array structure:
@@ -355,16 +318,8 @@ classes:
range: text
array:
name: array
- range: ImagingRetinotopy__vasculature_image__Array
- ImagingRetinotopy__vasculature_image__Array:
- name: ImagingRetinotopy__vasculature_image__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
+ - alias: num_cols
range: uint16
- required: true
- num_cols:
- name: num_cols
- range: uint16
- required: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/namespace.yaml
index c254e70..42d9b3a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/core/v2_6_0_alpha/namespace.yaml
@@ -1,8 +1,11 @@
name: core
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: core
description: NWB namespace
id: core
version: 2.6.0-alpha
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.nwb.language.yaml
index e499b2f..2afd49a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.nwb.language.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.sparse.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.sparse.yaml
index 478a77c..3f8cac0 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.sparse.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.sparse.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.sparse
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.sparse
version: 1.1.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.table.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.table.yaml
index f6e9288..a6a3c01 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.table.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/hdmf-common.table.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.table
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.table
version: 1.1.0
imports:
@@ -80,18 +87,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ElementIdentifiers__Array
tree_root: true
- ElementIdentifiers__Array:
- name: ElementIdentifiers__Array
- is_a: Arraylike
- attributes:
- num_elements:
- name: num_elements
- range: int
- required: true
DynamicTableRegion:
name: DynamicTableRegion
description: DynamicTableRegion provides a link from one table to an index or
@@ -173,7 +169,10 @@ classes:
id:
name: id
description: Array of unique identifiers for the rows of this dynamic table.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: int
required: true
vector_data:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/namespace.yaml
index 9df791d..6c72a1b 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_0/namespace.yaml
@@ -1,8 +1,11 @@
name: hdmf-common
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: hdmf-common
description: Common data structures provided by HDMF
id: hdmf-common
version: 1.1.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.nwb.language.yaml
index e499b2f..2afd49a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.nwb.language.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.sparse.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.sparse.yaml
index ef2d9fc..a18d478 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.sparse.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.sparse.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.sparse
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.sparse
version: 1.1.2
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.table.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.table.yaml
index 4baef63..9fb473d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.table.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/hdmf-common.table.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.table
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.table
version: 1.1.2
imports:
@@ -80,18 +87,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ElementIdentifiers__Array
tree_root: true
- ElementIdentifiers__Array:
- name: ElementIdentifiers__Array
- is_a: Arraylike
- attributes:
- num_elements:
- name: num_elements
- range: int
- required: true
DynamicTableRegion:
name: DynamicTableRegion
description: DynamicTableRegion provides a link from one table to an index or
@@ -173,7 +169,10 @@ classes:
id:
name: id
description: Array of unique identifiers for the rows of this dynamic table.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: int
required: true
vector_data:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/namespace.yaml
index 95cb847..6355968 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_2/namespace.yaml
@@ -1,8 +1,11 @@
name: hdmf-common
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: hdmf-common
description: Common data structures provided by HDMF
id: hdmf-common
version: 1.1.2
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.nwb.language.yaml
index e499b2f..2afd49a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.nwb.language.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.sparse.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.sparse.yaml
index 7f35d65..c4ddcd4 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.sparse.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.sparse.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.sparse
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.sparse
version: 1.1.3
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.table.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.table.yaml
index a9f6b65..452518d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.table.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/hdmf-common.table.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.table
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.table
version: 1.1.3
imports:
@@ -53,28 +60,27 @@ classes:
range: text
array:
name: array
- range: VectorData__Array
+ range: AnyType
+ any_of:
+ - array:
+ dimensions:
+ - alias: dim0
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - alias: dim2
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - alias: dim2
+ - alias: dim3
tree_root: true
- VectorData__Array:
- name: VectorData__Array
- is_a: Arraylike
- attributes:
- dim0:
- name: dim0
- range: AnyType
- required: true
- dim1:
- name: dim1
- range: AnyType
- required: false
- dim2:
- name: dim2
- range: AnyType
- required: false
- dim3:
- name: dim3
- range: AnyType
- required: false
VectorIndex:
name: VectorIndex
description: Used with VectorData to encode a ragged array. An array of indices
@@ -93,16 +99,11 @@ classes:
range: VectorData
array:
name: array
- range: VectorIndex__Array
- tree_root: true
- VectorIndex__Array:
- name: VectorIndex__Array
- is_a: Arraylike
- attributes:
- num_rows:
- name: num_rows
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
- required: true
+ tree_root: true
ElementIdentifiers:
name: ElementIdentifiers
description: A list of unique identifiers for values within a dataset, e.g. rows
@@ -114,18 +115,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ElementIdentifiers__Array
tree_root: true
- ElementIdentifiers__Array:
- name: ElementIdentifiers__Array
- is_a: Arraylike
- attributes:
- num_elements:
- name: num_elements
- range: int
- required: true
DynamicTableRegion:
name: DynamicTableRegion
description: DynamicTableRegion provides a link from one table to an index or
@@ -207,7 +197,10 @@ classes:
id:
name: id
description: Array of unique identifiers for the rows of this dynamic table.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: int
required: true
vector_data:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/namespace.yaml
index c97f2ad..9edd21c 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_1_3/namespace.yaml
@@ -1,8 +1,11 @@
name: hdmf-common
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: hdmf-common
description: Common data structures provided by HDMF
id: hdmf-common
version: 1.1.3
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.base.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.base.yaml
index df76a37..38d1d98 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.base.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.base.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.base
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.base
version: 1.5.0
imports:
@@ -31,10 +38,11 @@ classes:
description: A simple Container for holding onto multiple containers.
is_a: Container
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: Container
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: Container
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.nwb.language.yaml
index e499b2f..2afd49a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.nwb.language.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.sparse.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.sparse.yaml
index 805df51..aa3c20d 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.sparse.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.sparse.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.sparse
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.sparse
version: 1.5.0
imports:
@@ -26,19 +33,28 @@ classes:
indices:
name: indices
description: The column indices.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: number of non-zero values
range: uint
required: true
indptr:
name: indptr
description: The row index pointer.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: number of rows in the matrix + 1
range: uint
required: true
data:
name: data
description: The non-zero values in the matrix.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: number of non-zero values
range: AnyType
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.table.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.table.yaml
index 95164bd..fae9434 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.table.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/hdmf-common.table.yaml
@@ -1,4 +1,11 @@
name: hdmf-common.table
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-common
id: hdmf-common.table
version: 1.5.0
imports:
@@ -29,28 +36,27 @@ classes:
range: text
array:
name: array
- range: VectorData__Array
+ range: AnyType
+ any_of:
+ - array:
+ dimensions:
+ - alias: dim0
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - alias: dim2
+ - array:
+ dimensions:
+ - alias: dim0
+ - alias: dim1
+ - alias: dim2
+ - alias: dim3
tree_root: true
- VectorData__Array:
- name: VectorData__Array
- is_a: Arraylike
- attributes:
- dim0:
- name: dim0
- range: AnyType
- required: true
- dim1:
- name: dim1
- range: AnyType
- required: false
- dim2:
- name: dim2
- range: AnyType
- required: false
- dim3:
- name: dim3
- range: AnyType
- required: false
VectorIndex:
name: VectorIndex
description: Used with VectorData to encode a ragged array. An array of indices
@@ -81,18 +87,7 @@ classes:
identifier: true
range: string
required: true
- array:
- name: array
- range: ElementIdentifiers__Array
tree_root: true
- ElementIdentifiers__Array:
- name: ElementIdentifiers__Array
- is_a: Arraylike
- attributes:
- num_elements:
- name: num_elements
- range: int
- required: true
DynamicTableRegion:
name: DynamicTableRegion
description: DynamicTableRegion provides a link from one table to an index or
@@ -160,7 +155,10 @@ classes:
id:
name: id
description: Array of unique identifiers for the rows of this dynamic table.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: int
required: true
vector_data:
@@ -181,10 +179,11 @@ classes:
by a separate DynamicTable stored within the group.
is_a: DynamicTable
attributes:
- - name: children
- multivalued: true
- inlined: true
- inlined_as_list: false
- any_of:
- - range: DynamicTable
+ children:
+ name: children
+ multivalued: true
+ inlined: true
+ inlined_as_list: false
+ any_of:
+ - range: DynamicTable
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/namespace.yaml
index 30ce551..5415c21 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_common/v1_5_0/namespace.yaml
@@ -1,8 +1,11 @@
name: hdmf-common
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: hdmf-common
description: Common data structures provided by HDMF
id: hdmf-common
version: 1.5.0
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.experimental.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.experimental.yaml
index 078e4bc..9d00f8a 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.experimental.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.experimental.yaml
@@ -1,4 +1,11 @@
name: hdmf-experimental.experimental
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-experimental
id: hdmf-experimental.experimental
version: 0.1.0
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.nwb.language.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.nwb.language.yaml
index fc1debc..59a6caa 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.nwb.language.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.nwb.language.yaml
@@ -1,4 +1,11 @@
name: hdmf-experimental.nwb.language
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: 'False'
+ namespace:
+ tag: namespace
+ value: core
description: Adapter objects to mimic the behavior of elements in the nwb-schema-language
id: nwb.language
imports:
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.resources.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.resources.yaml
index 85d99be..190f60e 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.resources.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/hdmf-experimental.resources.yaml
@@ -1,4 +1,11 @@
name: hdmf-experimental.resources
+annotations:
+ is_namespace:
+ tag: is_namespace
+ value: false
+ namespace:
+ tag: namespace
+ value: hdmf-experimental
id: hdmf-experimental.resources
version: 0.1.0
imports:
@@ -22,32 +29,47 @@ classes:
name: keys
description: A table for storing user terms that are used to refer to external
resources.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
required: true
entities:
name: entities
description: A table for mapping user terms (i.e., keys) to resource entities.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
required: true
resources:
name: resources
description: A table for mapping user terms (i.e., keys) to resource entities.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
required: true
objects:
name: objects
description: A table for identifying which objects in a file contain references
to external resources.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
required: true
object_keys:
name: object_keys
description: A table for identifying which objects use which keys.
- multivalued: true
+ multivalued: false
+ array:
+ dimensions:
+ - alias: num_rows
range: AnyType
required: true
tree_root: true
diff --git a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/namespace.yaml b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/namespace.yaml
index 4e39cad..1fd095b 100644
--- a/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/namespace.yaml
+++ b/nwb_linkml/src/nwb_linkml/schema/linkml/hdmf_experimental/v0_1_0/namespace.yaml
@@ -1,8 +1,11 @@
name: hdmf-experimental
annotations:
+ is_namespace:
+ tag: is_namespace
+ value: true
namespace:
tag: namespace
- value: 'True'
+ value: hdmf-experimental
description: Experimental data structures provided by HDMF. These are not guaranteed
to be available in the future
id: hdmf-experimental