diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3d4882f4a..e4ebfedc8 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -20,6 +20,8 @@ references:
ci-steps: &ci-steps
steps:
- checkout
+ - run: git submodule sync
+ - run: git submodule update --init
- run:
<<: *initialize-venv
- run:
@@ -65,6 +67,8 @@ references:
conda-steps: &conda-steps
steps:
- checkout
+ - run: git submodule sync
+ - run: git submodule update --init
- run:
name: Configure conda
command: |
@@ -89,6 +93,8 @@ references:
gallery-steps: &gallery-steps
steps:
- checkout
+ - run: git submodule sync
+ - run: git submodule update --init
- restore_cache:
keys:
- ophys-data-cache
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..fbfef7c46
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/pynwb/nwb-schema"]
+ path = src/pynwb/nwb-schema
+ url = http://github.com/NeurodataWithoutBorders/nwb-schema.git
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 840f9d44a..bc2c5c557 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -83,6 +83,9 @@ jobs:
steps:
+ - checkout: self
+ submodules: true
+
- task: UsePythonVersion@0
inputs:
versionSpec: '$(pythonVersion)'
diff --git a/setup.py b/setup.py
index 3368ad131..2f1d75e4c 100755
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@
pkgs = find_packages('src', exclude=['data'])
print('found these packages:', pkgs)
-schema_dir = 'data'
+schema_dir = 'nwb-schema/core'
reqs_re = re.compile("[<=>]+")
with open('requirements.txt', 'r') as fp:
diff --git a/src/pynwb/__init__.py b/src/pynwb/__init__.py
index 30a39ecb8..7ee71f1b9 100644
--- a/src/pynwb/__init__.py
+++ b/src/pynwb/__init__.py
@@ -25,7 +25,7 @@ def __get_resources():
from pkg_resources import resource_filename
from os.path import join
ret = dict()
- ret['namespace_path'] = join(resource_filename(__name__, 'data'), __core_ns_file_name)
+ ret['namespace_path'] = join(resource_filename(__name__, 'nwb-schema/core'), __core_ns_file_name)
return ret
diff --git a/src/pynwb/data/nwb.base.yaml b/src/pynwb/data/nwb.base.yaml
deleted file mode 100644
index 37b84db91..000000000
--- a/src/pynwb/data/nwb.base.yaml
+++ /dev/null
@@ -1,306 +0,0 @@
-datasets:
-- neurodata_type_def: NWBData
- doc: An abstract data type for a dataset.
-
-- neurodata_type_def: Index
- neurodata_type_inc: NWBData
- doc: Pointers that index data values.
- attributes:
- - name: target
- dtype:
- target_type: NWBData
- reftype: object
- doc: Target dataset that this index applies to.
-
-- neurodata_type_def: VectorData
- neurodata_type_inc: NWBData
- doc: A 1-dimensional dataset. This can be indexed using a VectorIndex to
- encode a 2-dimensional ragged array in 1 dimension. The first vector
- is at VectorData[0:VectorIndex(0)+1]. The second vector is at
- VectorData[VectorIndex(0)+1:VectorIndex(1)+1]. And so on.
- attributes:
- - name: description
- dtype: text
- doc: Description of what these vectors represent.
-
-- neurodata_type_def: VectorIndex
- neurodata_type_inc: Index
- doc: An array of indices into the first dimension of the target VectorData.
- Can be used with VectorData to encode a 2-dimensional ragged array in 1 dimension.
- attributes:
- - name: target
- dtype:
- target_type: VectorData
- reftype: object
- doc: Reference to the target dataset that this index applies to.
-
-- neurodata_type_def: ElementIdentifiers
- neurodata_type_inc: NWBData
- default_name: element_id
- dtype: int
- dims:
- - num_elements
- shape:
- - null
- doc: A list of unique identifiers for values within a dataset, e.g. rows of a DynamicTable.
-
-- neurodata_type_def: DynamicTableRegion
- neurodata_type_inc: VectorData
- dtype: int
- doc: A region/index into a DynamicTable.
- attributes:
- - name: table
- dtype:
- target_type: DynamicTable
- reftype: object
- doc: Reference to the DynamicTable object that this region applies to.
- - name: description
- dtype: text
- doc: Description of what this table region points to.
-
-- neurodata_type_def: Image
- neurodata_type_inc: NWBData
- dims:
- - - num_x
- - num_y
- - - num_x
- - num_y
- - (r, g, b)
- - - num_x
- - num_y
- - (r, g, b, a)
- shape:
- - - null
- - null
- - - null
- - null
- - 3
- - - null
- - null
- - 4
- doc: An abstract data type for an image. Shape can be 2-D (x, y), or 3-D where the
- third dimension can have three or four elements, e.g. (x, y, (r, g, b)) or
- (x, y, (r, g, b, a)).
- attributes:
- - name: resolution
- dtype: float
- doc: Pixel resolution of the image, in pixels per centimeter.
- required: false
- - name: description
- dtype: text
- doc: Description of the image.
- required: false
-
-groups:
-- neurodata_type_def: NWBContainer
- doc: An abstract data type for a generic container storing collections of data and
- metadata. Base type for all data and metadata containers.
-
-- neurodata_type_def: NWBDataInterface
- neurodata_type_inc: NWBContainer
- doc: An abstract data type for a generic container storing collections of data,
- as opposed to metadata.
-
-- neurodata_type_def: TimeSeries
- neurodata_type_inc: NWBDataInterface
- doc: General purpose time series.
- attributes:
- - name: description
- dtype: text
- default_value: no description
- doc: Description of the time series.
- required: false
- - name: comments
- dtype: text
- default_value: no comments
- doc: Human-readable comments about the TimeSeries. This second descriptive field
- can be used to store additional information, or descriptive information if the
- primary description field is populated with a computer-readable string.
- required: false
- datasets:
- - name: data
- dims:
- - - num_times
- - - num_times
- - num_DIM2
- - - num_times
- - num_DIM2
- - num_DIM3
- - - num_times
- - num_DIM2
- - num_DIM3
- - num_DIM4
- shape:
- - - null
- - - null
- - null
- - - null
- - null
- - null
- - - null
- - null
- - null
- - null
- doc: Data values. Data can be in 1-D, 2-D, 3-D, or 4-D. The first dimension
- should always represent time. This can also be used to store binary data
- (e.g., image frames). This can also be a link to data stored in an external file.
- attributes:
- - name: conversion
- dtype: float32
- default_value: 1.0
- doc: Scalar to multiply each element in data to convert it to the specified 'unit'.
- If the data are stored in acquisition system units or other units
- that require a conversion to be interpretable, multiply the data by 'conversion'
- to convert the data to the specified 'unit'. e.g. if the data acquisition system
- stores values in this object as signed 16-bit integers (int16 range
- -32,768 to 32,767) that correspond to a 5V range (-2.5V to 2.5V), and the data
- acquisition system gain is 8000X, then the 'conversion' multiplier to get from
- raw data acquisition values to recorded volts is 2.5/32768/8000 = 9.5367e-9.
- required: false
- - name: resolution
- dtype: float32
- default_value: -1.0
- doc: Smallest meaningful difference between values in data, stored in the specified
- by unit, e.g., the change in value of the least significant bit, or a larger
- number if signal noise is known to be present. If unknown, use -1.0.
- required: false
- - name: unit
- dtype: text
- doc: Base unit of measurement for working with the data. Actual stored values are
- not necessarily stored in these units. To access the data in these units,
- multiply 'data' by 'conversion'.
- - name: starting_time
- dtype: float64
- doc: Timestamp of the first sample in seconds. When timestamps are uniformly
- spaced, the timestamp of the first sample can be specified and all subsequent
- ones calculated from the sampling rate attribute.
- quantity: '?'
- attributes:
- - name: rate
- dtype: float32
- doc: Sampling rate, in Hz.
- - name: unit
- dtype: text
- value: seconds
- doc: Unit of measurement for time, which is fixed to 'seconds'.
- - name: timestamps
- dtype: float64
- dims:
- - num_times
- shape:
- - null
- doc: Timestamps for samples stored in data, in seconds, relative to the
- common experiment master-clock stored in NWBFile.timestamps_reference_time.
- quantity: '?'
- attributes:
- - name: interval
- dtype: int32
- value: 1
- doc: Value is '1'
- - name: unit
- dtype: text
- value: seconds
- doc: Unit of measurement for timestamps, which is fixed to 'seconds'.
- - name: control
- dtype: uint8
- dims:
- - num_times
- shape:
- - null
- doc: 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.
- quantity: '?'
- - name: control_description
- dtype: text
- dims:
- - num_control_values
- shape:
- - null
- doc: Description of each control value. Must be present if control is present.
- If present, control_description[0] should describe time points where control == 0.
- quantity: '?'
- groups:
- - name: sync
- doc: Lab-specific time and sync information as provided directly from hardware
- devices and that is necessary for aligning all acquired time information to
- a common timebase. The timestamp array stores time in the common timebase.
- This group will usually only be populated in TimeSeries that are
- stored external to the NWB file, in files storing raw data. Once timestamp
- data is calculated, the contents of 'sync' are mostly for archival purposes.
- quantity: '?'
-
-- neurodata_type_def: ProcessingModule
- neurodata_type_inc: NWBContainer
- doc: A collection of processed data.
- attributes:
- - name: description
- dtype: text
- doc: Description of this collection of processed data.
- groups:
- - neurodata_type_inc: NWBDataInterface
- doc: Data objects stored in this collection.
- quantity: '*'
-
-- neurodata_type_def: Images
- neurodata_type_inc: NWBDataInterface
- default_name: Images
- doc: A collection of images.
- attributes:
- - name: description
- dtype: text
- doc: Description of this collection of images.
- datasets:
- - neurodata_type_inc: Image
- doc: Images stored in this collection.
- quantity: '+'
-
-- neurodata_type_def: DynamicTable
- neurodata_type_inc: NWBDataInterface
- doc: A group containing multiple datasets that are aligned on the first dimension
- (Currently, this requirement if left up to APIs to check and enforce). Apart from
- a column that contains unique identifiers for each row there are no other required
- datasets. Users are free to add any number of VectorData objects here. Table functionality
- is already supported through compound types, which is analogous to storing an
- array-of-structs. DynamicTable can be thought of as a struct-of-arrays. This provides
- an alternative structure to choose from when optimizing storage for anticipated
- access patterns. Additionally, this type provides a way of creating a table without
- having to define a compound type up front. Although this convenience may be attractive,
- users should think carefully about how data will be accessed. DynamicTable is
- more appropriate for column-centric access, whereas a dataset with a compound
- type would be more appropriate for row-centric access. Finally, data size should
- also be taken into account. For small tables, performance loss may be an acceptable
- trade-off for the flexibility of a DynamicTable. For example, DynamicTable was
- originally developed for storing trial data and spike unit metadata. Both of these
- use cases are expected to produce relatively small tables, so the spatial locality
- of multiple datasets present in a DynamicTable is not expected to have a significant
- performance impact. Additionally, requirements of trial and unit metadata tables
- are sufficiently diverse that performance implications can be overlooked in favor
- of usability.
- attributes:
- - name: colnames
- dtype: ascii
- dims:
- - num_columns
- shape:
- - null
- doc: The names of the columns in this table. This should be used to specify
- an order to the columns.
- - name: description
- dtype: text
- doc: Description of what is in this dynamic table.
- datasets:
- - name: id
- neurodata_type_inc: ElementIdentifiers
- dtype: int
- dims:
- - num_rows
- shape:
- - null
- doc: Array of unique identifiers for the rows of this dynamic table.
- - neurodata_type_inc: VectorData
- doc: Vector columns of this dynamic table.
- quantity: '*'
- - neurodata_type_inc: VectorIndex
- doc: Indices for the vector columns of this dynamic table.
- quantity: '*'
diff --git a/src/pynwb/data/nwb.behavior.yaml b/src/pynwb/data/nwb.behavior.yaml
deleted file mode 100644
index 300b48db3..000000000
--- a/src/pynwb/data/nwb.behavior.yaml
+++ /dev/null
@@ -1,116 +0,0 @@
-groups:
-- neurodata_type_def: SpatialSeries
- neurodata_type_inc: TimeSeries
- doc: "Direction, e.g., of gaze or travel, or position. The TimeSeries::data field\
- \ is a 2D array storing position or direction relative to some reference frame.\
- \ Array structure: [num measurements] [num dimensions]. Each SpatialSeries has\
- \ a text dataset reference_frame that indicates the zero-position, or the zero-axes\
- \ for direction. For example, if representing gaze direction, 'straight-ahead'\
- \ might be a specific pixel on the monitor, or some other point in space. For\
- \ position data, the 0,0 point might be the top-left corner of an enclosure, as\
- \ viewed from the tracking camera. The unit of data will indicate how to interpret\
- \ SpatialSeries values."
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - num_times
- - - num_times
- - num_features
- shape:
- - - null
- - - null
- - null
- doc: 1-D or 2-D array storing position or direction relative to some reference frame.
- attributes:
- - name: unit
- dtype: text
- default_value: meters
- doc: Base unit of measurement for working with the data. The default value
- is 'meters'. Actual stored values are not necessarily stored in these units.
- To access the data in these units, multiply 'data' by 'conversion'.
- required: false
- - name: reference_frame
- dtype: text
- doc: Description defining what exactly 'straight-ahead' means.
- quantity: '?'
-
-- neurodata_type_def: BehavioralEpochs
- neurodata_type_inc: NWBDataInterface
- default_name: BehavioralEpochs
- doc: TimeSeries for storing behavioral epochs. The objective of this and the other
- two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is
- to provide generic hooks for software tools/scripts. This allows a tool/script
- to take the output one specific interface (e.g., UnitTimes) and plot that data
- relative to another data modality (e.g., behavioral events) without having to
- define all possible modalities in advance. Declaring one of these interfaces means
- that one or more TimeSeries of the specified type is published. These TimeSeries
- should reside in a group having the same name as the interface. For example, if
- a BehavioralTimeSeries interface is declared, the module will have one or more
- TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs
- should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries
- is for continuous data.
- groups:
- - neurodata_type_inc: IntervalSeries
- doc: IntervalSeries object containing start and stop times of epochs.
- quantity: '*'
-
-- neurodata_type_def: BehavioralEvents
- neurodata_type_inc: NWBDataInterface
- default_name: BehavioralEvents
- doc: TimeSeries for storing behavioral events. See description of BehavioralEpochs
- for more details.
- groups:
- - neurodata_type_inc: TimeSeries
- doc: TimeSeries object containing behavioral events.
- quantity: '*'
-
-- neurodata_type_def: BehavioralTimeSeries
- neurodata_type_inc: NWBDataInterface
- default_name: BehavioralTimeSeries
- doc: TimeSeries for storing Behavoioral time series data. See description of BehavioralEpochs
- for more details.
- groups:
- - neurodata_type_inc: TimeSeries
- doc: TimeSeries object containing continuous behavioral data.
- quantity: '*'
-
-- neurodata_type_def: PupilTracking
- neurodata_type_inc: NWBDataInterface
- default_name: PupilTracking
- doc: Eye-tracking data, representing pupil size.
- groups:
- - neurodata_type_inc: TimeSeries
- doc: TimeSeries object containing time series data on pupil size.
- quantity: '+'
-
-- neurodata_type_def: EyeTracking
- neurodata_type_inc: NWBDataInterface
- default_name: EyeTracking
- doc: Eye-tracking data, representing direction of gaze.
- groups:
- - neurodata_type_inc: SpatialSeries
- doc: SpatialSeries object containing data measuring direction of gaze.
- quantity: '*'
-
-- neurodata_type_def: CompassDirection
- neurodata_type_inc: NWBDataInterface
- default_name: CompassDirection
- doc: With a CompassDirection interface, a module publishes a SpatialSeries object
- representing a floating point value for theta. The SpatialSeries::reference_frame
- field should indicate what direction corresponds to 0 and which is the direction
- of rotation (this should be clockwise). The si_unit for the SpatialSeries should
- be radians or degrees.
- groups:
- - neurodata_type_inc: SpatialSeries
- doc: SpatialSeries object containing direction of gaze travel.
- quantity: '*'
-
-- neurodata_type_def: Position
- neurodata_type_inc: NWBDataInterface
- default_name: Position
- doc: Position data, whether along the x, x/y or x/y/z axis.
- groups:
- - neurodata_type_inc: SpatialSeries
- doc: SpatialSeries object containing position data.
- quantity: '+'
diff --git a/src/pynwb/data/nwb.ecephys.yaml b/src/pynwb/data/nwb.ecephys.yaml
deleted file mode 100644
index fbbe1e682..000000000
--- a/src/pynwb/data/nwb.ecephys.yaml
+++ /dev/null
@@ -1,289 +0,0 @@
-groups:
-- neurodata_type_def: ElectricalSeries
- neurodata_type_inc: TimeSeries
- doc: A time series of acquired voltage data from extracellular recordings.
- The data field is an int or float array storing data in volts. The first
- dimension should always represent time. The second dimension, if present,
- should represent channels.
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - num_times
- - - num_times
- - num_channels
- - - num_times
- - num_channels
- - num_samples
- shape:
- - - null
- - - null
- - null
- - - null
- - null
- - null
- doc: Recorded voltage data.
- attributes:
- - name: unit
- dtype: text
- value: volts
- doc: 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'.
- - name: electrodes
- neurodata_type_inc: DynamicTableRegion
- doc: DynamicTableRegion pointer to the electrodes that this time series was generated from.
-
-- neurodata_type_def: SpikeEventSeries
- neurodata_type_inc: ElectricalSeries
- doc: "Stores snapshots/snippets of recorded spike events (i.e., threshold crossings). This
- may also be raw data, as reported by ephys hardware. If so, the TimeSeries::description
- field should describe how events were detected. All SpikeEventSeries should
- reside in a module (under EventWaveform interface) even if the spikes were reported
- and stored by hardware. All events span the same recording channels and store
- snapshots of equal duration. TimeSeries::data array structure: [num events]
- [num channels] [num samples] (or [num events] [num samples] for single electrode)."
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - num_events
- - num_samples
- - - num_events
- - num_channels
- - num_samples
- shape:
- - - null
- - null
- - - null
- - null
- - null
- doc: Spike waveforms.
- attributes:
- - name: unit
- dtype: text
- value: volts
- doc: Unit of measurement for waveforms, which is fixed to 'volts'.
- - name: timestamps
- dtype: float64
- dims:
- - num_times
- shape:
- - null
- doc: 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.
- attributes:
- - name: interval
- dtype: int32
- value: 1
- doc: Value is '1'
- - name: unit
- dtype: text
- value: seconds
- doc: Unit of measurement for timestamps, which is fixed to 'seconds'.
-
-- neurodata_type_def: FeatureExtraction
- neurodata_type_inc: NWBDataInterface
- default_name: FeatureExtraction
- doc: Features, such as PC1 and PC2, that are extracted from signals stored in a
- SpikeEventSeries or other source.
- datasets:
- - name: description
- dtype: text
- dims:
- - num_features
- shape:
- - null
- doc: Description of features (eg, ''PC1'') for each of the extracted features.
- - name: features
- dtype: float32
- dims:
- - num_events
- - num_channels
- - num_features
- shape:
- - null
- - null
- - null
- doc: Multi-dimensional array of features extracted from each event.
- - name: times
- dtype: float64
- dims:
- - num_events
- shape:
- - null
- doc: Times of events that features correspond to (can be a link).
- - name: electrodes
- neurodata_type_inc: DynamicTableRegion
- doc: DynamicTableRegion pointer to the electrodes that this time series was generated from.
-
-- neurodata_type_def: EventDetection
- neurodata_type_inc: NWBDataInterface
- default_name: EventDetection
- doc: Detected spike events from voltage trace(s).
- datasets:
- - name: detection_method
- dtype: text
- doc: Description of how events were detected, such as voltage threshold, or dV/dT
- threshold, as well as relevant values.
- - name: source_idx
- dtype: int32
- dims:
- - num_events
- shape:
- - null
- doc: Indices (zero-based) into source ElectricalSeries::data array 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.
- - name: times
- dtype: float64
- dims:
- - num_events
- shape:
- - null
- doc: Timestamps of events, in seconds.
- attributes:
- - name: unit
- dtype: text
- value: seconds
- doc: Unit of measurement for event times, which is fixed to 'seconds'.
- links:
- - name: source_electricalseries
- target_type: ElectricalSeries
- doc: Link to the ElectricalSeries that this data was calculated from. Metadata
- about electrodes and their position can be read from that ElectricalSeries so
- it's not necessary to include that information here.
-
-- neurodata_type_def: EventWaveform
- neurodata_type_inc: NWBDataInterface
- default_name: EventWaveform
- doc: Represents either the waveforms of detected events, as extracted from a raw
- data trace in /acquisition, or the event waveforms that were stored during experiment
- acquisition.
- groups:
- - neurodata_type_inc: SpikeEventSeries
- doc: SpikeEventSeries object(s) containing detected spike event waveforms.
- quantity: '*'
-
-- neurodata_type_def: FilteredEphys
- neurodata_type_inc: NWBDataInterface
- default_name: FilteredEphys
- doc: Electrophysiology data from one or more channels that has been subjected to filtering.
- Examples of filtered data include Theta and Gamma (LFP has its own interface).
- FilteredEphys modules publish an ElectricalSeries for each filtered channel or
- set of channels. The name of each ElectricalSeries is arbitrary but should be
- informative. The source of the filtered data, whether this is from analysis of
- another time series or as acquired by hardware, should be noted in each's TimeSeries::description
- field. There is no assumed 1::1 correspondence between filtered ephys signals
- and electrodes, as a single signal can apply to many nearby electrodes, and one
- electrode may have different filtered (e.g., theta and/or gamma) signals represented.
- Filter properties should be noted in the ElectricalSeries.
- groups:
- - neurodata_type_inc: ElectricalSeries
- doc: ElectricalSeries object(s) containing filtered electrophysiology data.
- quantity: '+'
-
-- neurodata_type_def: LFP
- neurodata_type_inc: NWBDataInterface
- default_name: LFP
- doc: LFP data from one or more channels. The electrode map in each published ElectricalSeries
- will identify which channels are providing LFP data. Filter properties should
- be noted in the ElectricalSeries description or comments field.
- groups:
- - neurodata_type_inc: ElectricalSeries
- doc: ElectricalSeries object(s) containing LFP data for one or more channels.
- quantity: '+'
-
-- neurodata_type_def: ElectrodeGroup
- neurodata_type_inc: NWBContainer
- doc: A physical grouping of electrodes, e.g. a shank of an array.
- attributes:
- - name: description
- dtype: text
- doc: Description of this electrode group.
- - name: location
- dtype: text
- doc: Location of electrode group. Specify the area, layer, comments on estimation
- of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas
- names for anatomical regions when possible.
- links:
- - name: device
- target_type: Device
- doc: Link to the device that was used to record from this electrode group.
-
-# The types below have been deprecated
-- neurodata_type_def: ClusterWaveforms
- neurodata_type_inc: NWBDataInterface
- default_name: ClusterWaveforms
- doc: DEPRECATED The mean waveform shape, including standard deviation, of the different
- clusters. Ideally, the waveform analysis should be performed on data that is only
- high-pass filtered. This is a separate module because it is expected to require
- updating. For example, IMEC probes may require different storage requirements
- to store/display mean waveforms, requiring a new interface or an extension of
- this one.
- datasets:
- - name: waveform_filtering
- dtype: text
- doc: Filtering applied to data before generating mean/sd
- - name: waveform_mean
- dtype: float32
- dims:
- - num_clusters
- - num_samples
- shape:
- - null
- - null
- doc: 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)
- - name: waveform_sd
- dtype: float32
- dims:
- - num_clusters
- - num_samples
- shape:
- - null
- - null
- doc: Stdev of waveforms for each cluster, using the same indices as in mean
- links:
- - name: clustering_interface
- target_type: Clustering
- doc: Link to Clustering interface that was the source of the clustered data
-
-- neurodata_type_def: Clustering
- neurodata_type_inc: NWBDataInterface
- default_name: Clustering
- doc: DEPRECATED Clustered spike data, whether from automatic clustering tools (e.g.,
- klustakwik) or as a result of manual sorting.
- datasets:
- - name: description
- dtype: text
- doc: Description of clusters or clustering, (e.g. cluster 0 is noise, clusters
- curated using Klusters, etc)
- - name: num
- dtype: int32
- dims:
- - num_events
- shape:
- - null
- doc: Cluster number of each event
- - name: peak_over_rms
- dtype: float32
- dims:
- - num_clusters
- shape:
- - null
- doc: Maximum ratio of waveform peak to RMS on any channel in the cluster (provides
- a basic clustering metric).
- - name: times
- dtype: float64
- dims:
- - num_events
- shape:
- - null
- doc: Times of clustered events, in seconds. This may be a link to times field
- in associated FeatureExtraction module.
diff --git a/src/pynwb/data/nwb.epoch.yaml b/src/pynwb/data/nwb.epoch.yaml
deleted file mode 100644
index 4f3e6e14b..000000000
--- a/src/pynwb/data/nwb.epoch.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-groups:
-- neurodata_type_def: TimeIntervals
- neurodata_type_inc: DynamicTable
- doc: A container for aggregating epoch data and the TimeSeries that each epoch applies
- to.
- datasets:
- - name: start_time
- neurodata_type_inc: VectorData
- dtype: float
- doc: Start time of epoch, in seconds.
- - name: stop_time
- neurodata_type_inc: VectorData
- dtype: float
- doc: Stop time of epoch, in seconds.
- - name: tags
- neurodata_type_inc: VectorData
- dtype: text
- doc: User-defined tags that identify or categorize events.
- quantity: '?'
- - name: tags_index
- neurodata_type_inc: VectorIndex
- doc: Index for tags.
- quantity: '?'
- - name: timeseries
- neurodata_type_inc: VectorData
- dtype:
- - name: idx_start
- dtype: int32
- doc: Start index into the TimeSeries 'data' and 'timestamp' datasets of the
- referenced TimeSeries. The first dimension of those arrays is always time.
- - name: count
- dtype: int32
- doc: Number of data samples available in this time series, during this epoch.
- - name: timeseries
- dtype:
- target_type: TimeSeries
- reftype: object
- doc: the TimeSeries that this index applies to.
- doc: An index into a TimeSeries object.
- quantity: '?'
- - name: timeseries_index
- neurodata_type_inc: VectorIndex
- doc: Index for timeseries.
- quantity: '?'
diff --git a/src/pynwb/data/nwb.file.yaml b/src/pynwb/data/nwb.file.yaml
deleted file mode 100644
index 240cf0535..000000000
--- a/src/pynwb/data/nwb.file.yaml
+++ /dev/null
@@ -1,396 +0,0 @@
-groups:
-- neurodata_type_def: NWBFile
- neurodata_type_inc: NWBContainer
- name: root
- doc: An NWB:N file storing cellular-based neurophysiology data from a single
- experimental session.
- attributes:
- - name: nwb_version
- dtype: text
- value: 2.0.2
- doc: File version string. Use semantic versioning, e.g. 1.2.1. This will be the
- name of the format with trailing major, minor and patch numbers.
- datasets:
- - name: file_create_date
- dtype: isodatetime
- dims:
- - num_modifications
- shape:
- - null
- doc: 'A record of the date the file was created and of subsequent modifications.
- The date is stored in UTC with local timezone offset as ISO 8601
- extended formatted strings: 2018-09-28T14:43:54.123+02:00. Dates stored in
- UTC end in "Z" with no timezone offset. Date accuracy is up to milliseconds.
- 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.'
- - name: identifier
- dtype: text
- doc: A unique text identifier for the file. For example, concatenated lab name,
- file creation date/time and experimentalist, or a hash of these and/or other
- values. The goal is that the string should be unique to all other files.
- - name: session_description
- dtype: text
- doc: A description of the experimental session and data in the file.
- - name: session_start_time
- dtype: isodatetime
- doc: 'Date and time of the experiment/session start. The date is stored
- in UTC with local timezone offset as ISO 8601 extended formatted string:
- 2018-09-28T14:43:54.123+02:00.
- Dates stored in UTC end in "Z" with no timezone offset. Date accuracy is
- up to milliseconds.'
- - name: timestamps_reference_time
- dtype: isodatetime
- doc: 'Date and time corresponding to time zero of all timestamps. The
- date is stored in UTC with local timezone offset as ISO 8601 extended formatted
- string: 2018-09-28T14:43:54.123+02:00. Dates stored in UTC end in "Z" with
- no timezone offset. Date accuracy is up to milliseconds. All times stored
- in the file use this time as reference (i.e., time zero).'
- groups:
- - name: acquisition
- doc: Data streams recorded from the system, including ephys, ophys, tracking,
- etc. This group should be read-only after the experiment is completed and
- timestamps are corrected to a common timebase. The data stored here may be links
- to raw data stored in external NWB files. This will allow keeping bulky raw
- data out of the file while preserving the option of keeping some/all in the
- file. Acquired data includes tracking and experimental data streams
- (i.e., everything measured from the system). If bulky data is stored in the /acquisition
- group, the data can exist in a separate NWB file that is linked to by the file
- being used for processing and analysis.
- groups:
- - neurodata_type_inc: NWBDataInterface
- doc: Acquired, raw data.
- quantity: '*'
- - name: analysis
- doc: Lab-specific and custom scientific analysis of data. There is no defined
- format for the content of this group - the format is up to the individual user/lab.
- To facilitate sharing analysis data between labs, the contents here
- should be stored in standard types (e.g., neurodata_types) and appropriately documented.
- The file can store lab-specific and custom data analysis without
- restriction on its form or schema, reducing data formatting restrictions on
- end users. Such data should be placed in the analysis group. The analysis data
- should be documented so that it could be shared with other labs.
- groups:
- - neurodata_type_inc: NWBContainer
- doc: Custom analysis results.
- quantity: '*'
- - name: scratch
- doc: 'A place to store one-off analysis results. Data placed here is not intended for
- sharing. By placing data here, users acknowledge that there is no guarantee that
- their data meets any standard.'
- quantity: '?'
- groups:
- - neurodata_type_inc: NWBContainer
- doc: Any one-off containers
- quantity: '*'
- datasets:
- - neurodata_type_def: ScratchData
- neurodata_type_inc: NWBData
- doc: Any one-off datasets
- quantity: '*'
- attributes:
- - name: notes
- doc: 'Any notes the user has about the dataset being stored'
- dtype: text
- - name: processing
- doc: "The home for ProcessingModules. These modules perform intermediate analysis\
- \ of data that is necessary to perform before scientific analysis. Examples\
- \ include spike clustering, extracting position from tracking data, stitching\
- \ together image slices. ProcessingModules can be large\
- \ and express many data sets from relatively complex analysis (e.g., spike detection\
- \ and clustering) or small, representing extraction of position information\
- \ from tracking video, or even binary lick/no-lick decisions. Common software\
- \ tools (e.g., klustakwik, MClust) are expected to read/write data here. \
- \ 'Processing' refers to intermediate analysis of the acquired data to make\
- \ it more amenable to scientific analysis."
- groups:
- - neurodata_type_inc: ProcessingModule
- doc: Intermediate analysis of acquired data.
- quantity: '*'
- - name: stimulus
- doc: 'Data pushed into the system (eg, video stimulus, sound, voltage, etc) and
- secondary representations of that data (eg, measurements of something used as
- a stimulus). This group should be made read-only after experiment complete and timestamps
- are corrected to common timebase. Stores both presented stimuli and stimulus
- templates, the latter in case the same stimulus is presented multiple times,
- or is pulled from an external stimulus library. Stimuli are here
- defined as any signal that is pushed into the system as part of the experiment
- (eg, sound, video, voltage, etc). Many different experiments can use the same
- stimuli, and stimuli can be re-used during an experiment. The stimulus group
- is organized so that one version of template stimuli can be stored and these
- be used multiple times. These templates can exist in the present file or can
- be linked to a remote library file.'
- groups:
- - name: presentation
- doc: Stimuli presented during the experiment.
- groups:
- - neurodata_type_inc: TimeSeries
- doc: TimeSeries objects containing data of presented stimuli.
- quantity: '*'
- - name: templates
- doc: 'Template stimuli. Timestamps in templates are based on stimulus
- design and are relative to the beginning of the stimulus. When templates are
- used, the stimulus instances must convert presentation times to the experiment`s
- time reference frame.'
- groups:
- - neurodata_type_inc: TimeSeries
- doc: TimeSeries objects containing template data of presented stimuli.
- quantity: '*'
- - name: general
- doc: "Experimental metadata, including protocol, notes and description of hardware\
- \ device(s). The metadata stored in this section should be used to\
- \ describe the experiment. Metadata necessary for interpreting the data is stored\
- \ with the data. General experimental metadata, including animal\
- \ strain, experimental protocols, experimenter, devices, etc, are stored under\
- \ 'general'. Core metadata (e.g., that required to interpret data fields) is\
- \ stored with the data itself, and implicitly defined by the file specification\
- \ (e.g., time is in seconds). The strategy used here for storing non-core metadata\
- \ is to use free-form text fields, such as would appear in sentences or paragraphs\
- \ from a Methods section. Metadata fields are text to enable them to be more\
- \ general, for example to represent ranges instead of numerical values. Machine-readable\
- \ metadata is stored as attributes to these free-form datasets. All entries\
- \ in the below table are to be included when data is present. Unused groups\
- \ (e.g., intracellular_ephys in an optophysiology experiment) should not be\
- \ created unless there is data to store within them."
- datasets:
- - name: data_collection
- dtype: text
- doc: Notes about data collection and analysis.
- quantity: '?'
- - name: experiment_description
- dtype: text
- doc: General description of the experiment.
- quantity: '?'
- - name: experimenter
- dtype: text
- doc: Name of person(s) who performed the experiment. Can also specify roles
- of different people involved.
- quantity: '?'
- shape:
- - null
- - name: institution
- dtype: text
- doc: Institution(s) where experiment was performed.
- quantity: '?'
- - name: keywords
- dtype: text
- dims:
- - num_keywords
- shape:
- - null
- doc: Terms to search over.
- quantity: '?'
- - name: lab
- dtype: text
- doc: Laboratory where experiment was performed.
- quantity: '?'
- - name: notes
- dtype: text
- doc: Notes about the experiment.
- quantity: '?'
- - name: pharmacology
- dtype: text
- doc: Description of drugs used, including how and when they were administered.
- Anesthesia(s), painkiller(s), etc., plus dosage, concentration, etc.
- quantity: '?'
- - name: protocol
- dtype: text
- doc: Experimental protocol, if applicable. e.g., include IACUC protocol number.
- quantity: '?'
- - name: related_publications
- dtype: text
- doc: Publication information. PMID, DOI, URL, etc. If multiple, concatenate
- together and describe which is which.
- quantity: '?'
- - name: session_id
- dtype: text
- doc: Lab-specific ID for the session.
- quantity: '?'
- - name: slices
- dtype: text
- doc: Description of slices, including information about preparation thickness,
- orientation, temperature, and bath solution.
- quantity: '?'
- - name: source_script
- dtype: text
- doc: Script file or link to public source code used to create this NWB file.
- quantity: '?'
- attributes:
- - name: file_name
- dtype: text
- doc: Name of script file.
- - name: stimulus
- dtype: text
- doc: Notes about stimuli, such as how and where they were presented.
- quantity: '?'
- - name: surgery
- dtype: text
- doc: Narrative description about surgery/surgeries, including date(s) and who
- performed surgery.
- quantity: '?'
- - name: virus
- dtype: text
- doc: Information about virus(es) used in experiments, including virus ID, source,
- date made, injection location, volume, etc.
- quantity: '?'
- groups:
- - neurodata_type_def: LabMetaData
- neurodata_type_inc: NWBContainer
- doc: Place-holder than can be extended so that lab-specific meta-data can be
- placed in /general.
- quantity: '*'
- - name: devices
- doc: Description of hardware devices used during experiment, e.g., monitors,
- ADC boards, microscopes, etc.
- quantity: '?'
- groups:
- - neurodata_type_def: Device
- neurodata_type_inc: NWBContainer
- doc: A data acquisition device, e.g. recording system.
- quantity: '+'
- - neurodata_type_def: Subject
- neurodata_type_inc: NWBContainer
- name: subject
- doc: Information about the animal or person from which the data was measured.
- quantity: '?'
- datasets:
- - name: age
- dtype: text
- doc: Age of subject. Can be supplied instead of 'date_of_birth'.
- quantity: '?'
- - name: date_of_birth
- dtype: isodatetime
- doc: Date of birth of subject. Can be supplied instead of 'age'.
- quantity: '?'
- - name: description
- dtype: text
- doc: Description of subject and where subject came from (e.g., breeder, if
- animal).
- quantity: '?'
- - name: genotype
- dtype: text
- doc: Genetic strain. If absent, assume Wild Type (WT).
- quantity: '?'
- - name: sex
- dtype: text
- doc: Gender of subject.
- quantity: '?'
- - name: species
- dtype: text
- doc: Species of subject.
- quantity: '?'
- - name: subject_id
- dtype: text
- doc: ID of animal/person used/participating in experiment (lab convention).
- quantity: '?'
- - name: weight
- dtype: text
- doc: Weight at time of experiment, at time of surgery and at other important
- times.
- quantity: '?'
- - name: extracellular_ephys
- doc: Metadata related to extracellular electrophysiology.
- quantity: '?'
- groups:
- - neurodata_type_inc: ElectrodeGroup
- doc: Physical group of electrodes.
- quantity: '*'
- - name: electrodes
- neurodata_type_inc: DynamicTable
- doc: A table of all electrodes (i.e. channels) used for recording.
- quantity: '?'
- datasets:
- - name: x
- neurodata_type_inc: VectorData
- dtype: float
- doc: x coordinate of the channel location.
- - name: y
- neurodata_type_inc: VectorData
- dtype: float
- doc: y coordinate of the channel location.
- - name: z
- neurodata_type_inc: VectorData
- dtype: float
- doc: z coordinate of the channel location.
- - name: imp
- neurodata_type_inc: VectorData
- dtype: float
- doc: Impedance of the channel.
- - name: location
- neurodata_type_inc: VectorData
- dtype: ascii
- doc: Location of the electrode (channel). Specify the area, layer, comments
- on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use
- standard atlas names for anatomical regions when possible.
- - name: filtering
- neurodata_type_inc: VectorData
- dtype: float
- doc: Description of hardware filtering.
- - name: group
- neurodata_type_inc: VectorData
- dtype:
- target_type: ElectrodeGroup
- reftype: object
- doc: Reference to the ElectrodeGroup this electrode is a part of.
- - name: group_name
- neurodata_type_inc: VectorData
- dtype: ascii
- doc: Name of the ElectrodeGroup this electrode is a part of.
- - name: intracellular_ephys
- doc: Metadata related to intracellular electrophysiology.
- quantity: '?'
- datasets:
- - name: filtering
- dtype: text
- doc: Description of filtering used. Includes filtering type and
- parameters, frequency fall-off, etc. If this changes between TimeSeries,
- filter description should be stored as a text attribute for each TimeSeries.
- quantity: '?'
- groups:
- - neurodata_type_inc: IntracellularElectrode
- doc: An intracellular electrode.
- quantity: '*'
- - name: sweep_table
- neurodata_type_inc: SweepTable
- doc: The table which groups different PatchClampSeries together.
- quantity: '?'
- - name: optogenetics
- doc: Metadata describing optogenetic stimuluation.
- quantity: '?'
- groups:
- - neurodata_type_inc: OptogeneticStimulusSite
- doc: An optogenetic stimulation site.
- quantity: '*'
- - name: optophysiology
- doc: Metadata related to optophysiology.
- quantity: '?'
- groups:
- - neurodata_type_inc: ImagingPlane
- doc: An imaging plane.
- quantity: '*'
- - name: intervals
- doc: 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.
- quantity: '?'
- groups:
- - name: epochs
- neurodata_type_inc: TimeIntervals
- doc: Divisions in time marking experimental stages or sub-divisions of a single
- recording session.
- quantity: '?'
- - name: trials
- neurodata_type_inc: TimeIntervals
- doc: Repeated experimental events that have a logical grouping.
- quantity: '?'
- - name: invalid_times
- neurodata_type_inc: TimeIntervals
- doc: Time intervals that should be removed from analysis.
- quantity: '?'
- - neurodata_type_inc: TimeIntervals
- doc: Optional additional table(s) for describing other experimental time intervals.
- quantity: '*'
- - name: units
- neurodata_type_inc: Units
- doc: Data about sorted spike units.
- quantity: '?'
diff --git a/src/pynwb/data/nwb.icephys.yaml b/src/pynwb/data/nwb.icephys.yaml
deleted file mode 100644
index e4489f5d2..000000000
--- a/src/pynwb/data/nwb.icephys.yaml
+++ /dev/null
@@ -1,247 +0,0 @@
-groups:
-- neurodata_type_def: PatchClampSeries
- neurodata_type_inc: TimeSeries
- doc: An abstract base class for patch-clamp data - stimulus or response,
- current or voltage.
- attributes:
- - name: stimulus_description
- dtype: text
- doc: Protocol/stimulus name for this patch-clamp dataset.
- - name: sweep_number
- dtype: uint64
- doc: Sweep number, allows to group different PatchClampSeries together.
- required: false
- datasets:
- - name: data
- dtype: numeric
- dims:
- - num_times
- shape:
- - null
- doc: Recorded voltage or current.
- attributes:
- - name: unit
- dtype: text
- doc: Base unit of measurement for working with the data. Actual stored values are
- not necessarily stored in these units. To access the data in these units,
- multiply 'data' by 'conversion'.
- - name: gain
- dtype: float
- doc: Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).
- quantity: '?'
- links:
- - name: electrode
- target_type: IntracellularElectrode
- doc: Link to IntracellularElectrode object that describes the electrode that was
- used to apply or record this data.
-
-- neurodata_type_def: CurrentClampSeries
- neurodata_type_inc: PatchClampSeries
- doc: Voltage data from an intracellular current-clamp recording. A
- corresponding CurrentClampStimulusSeries (stored separately as a stimulus) is
- used to store the current injected.
- datasets:
- - name: data
- doc: Recorded voltage.
- attributes:
- - name: unit
- dtype: text
- value: volts
- doc: Base unit of measurement for working with the data. which 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'.
- - name: bias_current
- dtype: float32
- doc: Bias current, in amps.
- quantity: '?'
- - name: bridge_balance
- dtype: float32
- doc: Bridge balance, in ohms.
- quantity: '?'
- - name: capacitance_compensation
- dtype: float32
- doc: Capacitance compensation, in farads.
- quantity: '?'
-
-- neurodata_type_def: IZeroClampSeries
- neurodata_type_inc: CurrentClampSeries
- doc: Voltage data from an intracellular recording when all current
- and amplifier settings are off (i.e., CurrentClampSeries fields will be zero).
- There is no CurrentClampStimulusSeries associated with an IZero series because
- the amplifier is disconnected and no stimulus can reach the cell.
- datasets:
- - name: bias_current
- dtype: float32
- value: 0.0
- doc: Bias current, in amps, fixed to 0.0.
- - name: bridge_balance
- dtype: float32
- value: 0.0
- doc: Bridge balance, in ohms, fixed to 0.0.
- - name: capacitance_compensation
- dtype: float32
- value: 0.0
- doc: Capacitance compensation, in farads, fixed to 0.0.
-
-- neurodata_type_def: CurrentClampStimulusSeries
- neurodata_type_inc: PatchClampSeries
- doc: Stimulus current applied during current clamp recording.
- datasets:
- - name: data
- doc: Stimulus current applied.
- attributes:
- - name: unit
- dtype: text
- value: amperes
- doc: Base unit of measurement for working with the data. which is fixed to 'amperes'.
- Actual stored values are not necessarily stored in these units. To access the data in these units,
- multiply 'data' by 'conversion'.
-
-- neurodata_type_def: VoltageClampSeries
- neurodata_type_inc: PatchClampSeries
- doc: Current data from an intracellular voltage-clamp recording. A
- corresponding VoltageClampStimulusSeries (stored separately as a stimulus) is
- used to store the voltage injected.
- datasets:
- - name: data
- doc: Recorded current.
- attributes:
- - name: unit
- dtype: text
- value: amperes
- doc: Base unit of measurement for working with the data. which is fixed to 'amperes'.
- Actual stored values are not necessarily stored in these units. To access the data in these units,
- multiply 'data' by 'conversion'.
- - name: capacitance_fast
- dtype: float32
- doc: Fast capacitance, in farads.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: farads
- doc: Unit of measurement for capacitance_fast, which is fixed to 'farads'.
- - name: capacitance_slow
- dtype: float32
- doc: Slow capacitance, in farads.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: farads
- doc: Unit of measurement for capacitance_fast, which is fixed to 'farads'.
- - name: resistance_comp_bandwidth
- dtype: float32
- doc: Resistance compensation bandwidth, in hertz.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: hertz
- doc: Unit of measurement for resistance_comp_bandwidth, which is fixed to 'hertz'.
- - name: resistance_comp_correction
- dtype: float32
- doc: Resistance compensation correction, in percent.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: percent
- doc: Unit of measurement for resistance_comp_correction, which is fixed to 'percent'.
- - name: resistance_comp_prediction
- dtype: float32
- doc: Resistance compensation prediction, in percent.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: percent
- doc: Unit of measurement for resistance_comp_prediction, which is fixed to 'percent'.
- - name: whole_cell_capacitance_comp
- dtype: float32
- doc: Whole cell capacitance compensation, in farads.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: farads
- doc: Unit of measurement for whole_cell_capacitance_comp, which is fixed to 'farads'.
- - name: whole_cell_series_resistance_comp
- dtype: float32
- doc: Whole cell series resistance compensation, in ohms.
- quantity: '?'
- attributes:
- - name: unit
- dtype: text
- value: ohms
- doc: Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.
-
-- neurodata_type_def: VoltageClampStimulusSeries
- neurodata_type_inc: PatchClampSeries
- doc: Stimulus voltage applied during a voltage clamp recording.
- datasets:
- - name: data
- doc: Stimulus voltage applied.
- attributes:
- - name: unit
- dtype: text
- value: volts
- doc: Base unit of measurement for working with the data. which 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'.
-
-- neurodata_type_def: IntracellularElectrode
- neurodata_type_inc: NWBContainer
- doc: An intracellular electrode and its metadata.
- datasets:
- - name: description
- dtype: text
- doc: Description of electrode (e.g., whole-cell, sharp, etc.).
- - name: filtering
- dtype: text
- doc: Electrode specific filtering.
- quantity: '?'
- - name: initial_access_resistance
- dtype: text
- doc: Initial access resistance.
- quantity: '?'
- - name: location
- dtype: text
- doc: Location of the electrode. Specify the area, layer, comments on estimation
- of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas
- names for anatomical regions when possible.
- quantity: '?'
- - name: resistance
- dtype: text
- doc: Electrode resistance, in ohms.
- quantity: '?'
- - name: seal
- dtype: text
- doc: Information about seal used for recording.
- quantity: '?'
- - name: slice
- dtype: text
- doc: Information about slice used for recording.
- quantity: '?'
- links:
- - name: device
- target_type: Device
- doc: Device that was used to record from this electrode.
-
-- neurodata_type_def: SweepTable
- neurodata_type_inc: DynamicTable
- doc: The table which groups different PatchClampSeries together.
- datasets:
- - name: sweep_number
- neurodata_type_inc: VectorData
- dtype: uint64
- doc: Sweep number of the PatchClampSeries in that row.
- - name: series
- neurodata_type_inc: VectorData
- dtype:
- target_type: PatchClampSeries
- reftype: object
- doc: The PatchClampSeries with the sweep number in that row.
- - name: series_index
- neurodata_type_inc: VectorIndex
- doc: Index for series.
diff --git a/src/pynwb/data/nwb.image.yaml b/src/pynwb/data/nwb.image.yaml
deleted file mode 100644
index 710e60811..000000000
--- a/src/pynwb/data/nwb.image.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-datasets:
-- neurodata_type_def: GrayscaleImage
- neurodata_type_inc: Image
- dims:
- - y
- - x
- shape:
- - null
- - null
- doc: A grayscale image.
-
-- neurodata_type_def: RGBImage
- neurodata_type_inc: Image
- dims:
- - y
- - x
- - R, G, B
- shape:
- - null
- - null
- - 3
- doc: A color image.
-
-- neurodata_type_def: RGBAImage
- neurodata_type_inc: Image
- dims:
- - y
- - x
- - R, G, B, A
- shape:
- - null
- - null
- - 4
- doc: A color image with transparency.
-
-groups:
-- neurodata_type_def: ImageSeries
- neurodata_type_inc: TimeSeries
- doc: General image data that is common between acquisition and stimulus time series.
- Sometimes the image data is stored in the file in a raw format while other
- times it will be stored as an external image file in the host file system. The
- data field will either be binary data or empty. [frame][y][x] or [frame][z][y][x].
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - frame
- - y
- - x
- - - frame
- - z
- - y
- - x
- shape:
- - - null
- - null
- - null
- - - null
- - null
- - null
- - null
- doc: Binary data representing images across frames.
- quantity: '?'
- - name: dimension
- dtype: int32
- dims:
- - rank
- shape:
- - null
- doc: Number of pixels on x, y, (and z) axes.
- quantity: '?'
- - name: external_file
- dtype: text
- dims:
- - num_files
- shape:
- - null
- doc: Paths or URLs to one or more external file(s). Field only present if format=external.
- This is only relevant if the image 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.
- quantity: '?'
- attributes:
- - name: starting_frame
- dtype: int
- dims:
- - num_files
- shape:
- - null
- doc: Each entry is the frame number (within the full ImageSeries) of the first
- frame in the corresponding external_file entry. This serves as an index to
- what frames each file contains, allowing random access.Zero-based indexing
- is used. (The first element will always be zero).
- - name: format
- dtype: text
- doc: Format of image. If this is 'external' then the field external_file contains
- the path or URL information to that file. For tiff, png, jpg, etc, the binary
- representation of the image is stored in data. If the format is raw then the
- fields bit_per_pixel and dimension are used. For raw images, only a single channel
- is stored (e.g., red).
- quantity: '?'
-
-- neurodata_type_def: ImageMaskSeries
- neurodata_type_inc: ImageSeries
- doc: An alpha mask that is applied to a presented visual stimulus. The 'data' array
- contains an array of mask values that are applied to the displayed image. Mask
- values are stored as RGBA. Mask can vary with time. The timestamps array indicates
- the starting time of a mask, and that mask pattern continues until it's explicitly
- changed.
- links:
- - name: masked_imageseries
- target_type: ImageSeries
- doc: Link to ImageSeries object that this image mask is applied to.
-
-- neurodata_type_def: OpticalSeries
- neurodata_type_inc: ImageSeries
- doc: Image data that is presented or recorded. A stimulus template movie will be
- stored only as an image. When the image is presented as stimulus, additional data
- is required, such as field of view (e.g., how much of the visual field the image
- covers, or how what is the area of the target being imaged). If the OpticalSeries
- represents acquired imaging data, orientation is also important.
- datasets:
- - name: distance
- dtype: float32
- doc: Distance from camera/monitor to target/eye.
- quantity: '?'
- - name: field_of_view
- dtype: float32
- dims:
- - - width, height
- - - width, height, depth
- shape:
- - - 2
- - - 3
- doc: Width, height and depth of image, or imaged area, in meters.
- quantity: '?'
- - name: orientation
- dtype: text
- doc: Description of image relative to some reference frame (e.g., which way is
- up). Must also specify frame of reference.
- quantity: '?'
-
-- neurodata_type_def: IndexSeries
- neurodata_type_inc: TimeSeries
- doc: Stores indices to image frames stored in an ImageSeries. The purpose of the
- ImageIndexSeries is to allow a static image stack to be stored somewhere, and
- the images in the stack to be referenced out-of-order. This can be for the display
- of individual images, or of movie segments (as a movie is simply a series of images).
- The data field stores the index of the frame in the referenced ImageSeries, and
- the timestamps array indicates when that image was displayed.
- datasets:
- - name: data
- dtype: int
- dims:
- - num_times
- shape:
- - null
- doc: Index of the frame in the referenced ImageSeries.
- links:
- - name: indexed_timeseries
- target_type: ImageSeries
- doc: Link to ImageSeries object containing images that are indexed.
diff --git a/src/pynwb/data/nwb.misc.yaml b/src/pynwb/data/nwb.misc.yaml
deleted file mode 100644
index be8706277..000000000
--- a/src/pynwb/data/nwb.misc.yaml
+++ /dev/null
@@ -1,251 +0,0 @@
-groups:
-- neurodata_type_def: AbstractFeatureSeries
- neurodata_type_inc: TimeSeries
- doc: Abstract features, such as quantitative descriptions of sensory stimuli. The
- TimeSeries::data field is a 2D array, storing those features (e.g., for visual
- grating stimulus this might be orientation, spatial frequency and contrast). Null
- stimuli (eg, uniform gray) can be marked as being an independent feature (eg,
- 1.0 for gray, 0.0 for actual stimulus) or by storing NaNs for feature values,
- or through use of the TimeSeries::control fields. A set of features is considered
- to persist until the next set of features is defined. The final set of features
- stored should be the null set. This is useful when storing the raw stimulus
- is impractical.
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - num_times
- - - num_times
- - num_features
- shape:
- - - null
- - - null
- - null
- doc: Values of each feature at each time.
- attributes:
- - name: unit
- dtype: text
- default_value: see 'feature_units'
- doc: Since there can be different units for different features, store the units
- in 'feature_units'. The default value for this attribute is "see 'feature_units'".
- required: false
- - name: feature_units
- dtype: text
- dims:
- - num_features
- shape:
- - null
- doc: Units of each feature.
- quantity: '?'
- - name: features
- dtype: text
- dims:
- - num_features
- shape:
- - null
- doc: Description of the features represented in TimeSeries::data.
-
-- neurodata_type_def: AnnotationSeries
- neurodata_type_inc: TimeSeries
- doc: Stores user annotations made during an experiment. The data[]
- field stores a text array, and timestamps are stored for each annotation (ie,
- interval=1). This is largely an alias to a standard TimeSeries storing a text
- array but that is identifiable as storing annotations in a machine-readable way.
- datasets:
- - name: data
- dtype: text
- dims:
- - num_times
- shape:
- - null
- doc: Annotations made during an experiment.
- attributes:
- - name: resolution
- dtype: float
- value: -1.0
- doc: Smallest meaningful difference between values in data. Annotations have
- no units, so the value is fixed to -1.0.
- - name: unit
- dtype: text
- value: n/a
- doc: Base unit of measurement for working with the data. Annotations have
- no units, so the value is fixed to 'n/a'.
-
-- neurodata_type_def: IntervalSeries
- neurodata_type_inc: TimeSeries
- doc: Stores intervals of data. The timestamps field stores the beginning and end
- of intervals. The data field stores whether the interval just started (>0 value)
- or ended (<0 value). Different interval types can be represented in the same series
- by using multiple key values (eg, 1 for feature A, 2 for feature B, 3 for feature
- C, etc). The field data stores an 8-bit integer. This is largely an alias of a
- standard TimeSeries but that is identifiable as representing time intervals in
- a machine-readable way.
- datasets:
- - name: data
- dtype: int8
- dims:
- - num_times
- shape:
- - null
- doc: Use values >0 if interval started, <0 if interval ended.
- attributes:
- - name: resolution
- dtype: float
- value: -1.0
- doc: Smallest meaningful difference between values in data. Annotations have
- no units, so the value is fixed to -1.0.
- - name: unit
- dtype: text
- value: n/a
- doc: Base unit of measurement for working with the data. Annotations have
- no units, so the value is fixed to 'n/a'.
-
-- neurodata_type_def: DecompositionSeries
- neurodata_type_inc: TimeSeries
- doc: Spectral analysis of a time series, e.g. of an LFP or a speech signal.
- datasets:
- - name: data
- dtype: numeric
- dims:
- - num_times
- - num_channels
- - num_bands
- shape:
- - null
- - null
- - null
- doc: Data decomposed into frequency bands.
- attributes:
- - name: unit
- dtype: text
- default_value: no unit
- doc: Base unit of measurement for working with the data. Actual stored values are
- not necessarily stored in these units. To access the data in these units,
- multiply 'data' by 'conversion'.
- - name: metric
- dtype: text
- doc: The metric used, e.g. phase, amplitude, power.
- groups:
- - name: bands
- neurodata_type_inc: DynamicTable
- doc: Table for describing the bands that this series was generated from. There
- should be one row in this table for each band.
- datasets:
- - name: band_name
- neurodata_type_inc: VectorData
- dtype: text
- doc: Name of the band, e.g. theta.
- - name: band_limits
- neurodata_type_inc: VectorData
- dtype: float
- dims:
- - num_bands
- - low, high
- shape:
- - null
- - 2
- doc: Low and high limit of each band in Hz. If it is a Gaussian filter, use
- 2 SD on either side of the center.
- - name: band_mean
- neurodata_type_inc: VectorData
- dtype: float
- dims:
- - num_bands
- shape:
- - null
- doc: The mean Gaussian filters, in Hz.
- - name: band_stdev
- neurodata_type_inc: VectorData
- dtype: float
- dims:
- - num_bands
- shape:
- - null
- doc: The standard deviation of Gaussian filters, in Hz.
- links:
- - name: source_timeseries
- target_type: TimeSeries
- doc: Link to TimeSeries object that this data was calculated from. Metadata about
- electrodes and their position can be read from that ElectricalSeries so it is
- not necessary to store that information here.
- quantity: '?'
-
-- neurodata_type_def: Units
- neurodata_type_inc: DynamicTable
- default_name: Units
- doc: Data about spiking units. Event times of observed units (e.g. cell, synapse,
- etc.) should be concatenated and stored in spike_times.
- datasets:
- - name: spike_times_index
- neurodata_type_inc: VectorIndex
- doc: Index into the spike_times dataset.
- quantity: '?'
- - name: spike_times
- neurodata_type_inc: VectorData
- dtype: double
- doc: Spike times for each unit.
- quantity: '?'
- - name: obs_intervals_index
- neurodata_type_inc: VectorIndex
- doc: Index into the obs_intervals dataset.
- quantity: '?'
- - name: obs_intervals
- neurodata_type_inc: VectorData
- dtype: double
- dims:
- - num_intervals
- - start|end
- shape:
- - null
- - 2
- doc: Observation intervals for each unit.
- quantity: '?'
- - name: electrodes_index
- neurodata_type_inc: VectorIndex
- doc: Index into electrodes.
- quantity: '?'
- - name: electrodes
- neurodata_type_inc: DynamicTableRegion
- doc: Electrode that each spike unit came from, specified using a DynamicTableRegion.
- quantity: '?'
- - name: electrode_group
- neurodata_type_inc: VectorData
- dtype:
- target_type: ElectrodeGroup
- reftype: object
- doc: Electrode group that each spike unit came from.
- quantity: '?'
- - name: waveform_mean
- neurodata_type_inc: VectorData
- dtype: float
- dims:
- - - num_units
- - num_samples
- - - num_units
- - num_samples
- - num_electrodes
- shape:
- - - null
- - null
- - - null
- - null
- - null
- doc: Spike waveform mean for each spike unit.
- quantity: '?'
- - name: waveform_sd
- neurodata_type_inc: VectorData
- dtype: float
- dims:
- - - num_units
- - num_samples
- - - num_units
- - num_samples
- - num_electrodes
- shape:
- - - null
- - null
- - - null
- - null
- - null
- doc: Spike waveform standard deviation for each spike unit.
- quantity: '?'
diff --git a/src/pynwb/data/nwb.namespace.yaml b/src/pynwb/data/nwb.namespace.yaml
deleted file mode 100644
index 9cb46cfc8..000000000
--- a/src/pynwb/data/nwb.namespace.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-namespaces:
-- name: core
- doc: NWB namespace
- author:
- - Andrew Tritt
- - Oliver Ruebel
- - Ryan Ly
- - Ben Dichter
- - Keith Godfrey
- - Jeff Teeters
- contact:
- - ajtritt@lbl.gov
- - oruebel@lbl.gov
- - rly@lbl.gov
- - bdichter@lbl.gov
- - keithg@alleninstitute.org
- - jteeters@berkeley.edu
- full_name: NWB core
- schema:
- - doc: This source module contains base data types used throughout the NWB:N data
- format.
- source: nwb.base.yaml
- title: Base data types
- - doc: This source module contains neurodata_types for epoch data.
- source: nwb.epoch.yaml
- title: Epochs
- - doc: This source module contains neurodata_types for image data.
- source: nwb.image.yaml
- title: Image data
- - doc: Main NWB:N file specification.
- source: nwb.file.yaml
- title: NWB:N file
- - doc: Miscellaneous types.
- source: nwb.misc.yaml
- title: Miscellaneous neurodata_types.
- - doc: This source module contains neurodata_types for behavior data.
- source: nwb.behavior.yaml
- title: Behavior
- - doc: This source module contains neurodata_types for extracellular electrophysiology
- data.
- source: nwb.ecephys.yaml
- title: Extracellular electrophysiology
- - doc: This source module contains neurodata_types for intracellular electrophysiology
- data.
- source: nwb.icephys.yaml
- title: Intracellular electrophysiology
- - doc: This source module contains neurodata_types for opto-genetics data.
- source: nwb.ogen.yaml
- title: Optogenetics
- - doc: This source module contains neurodata_types for optical physiology data.
- source: nwb.ophys.yaml
- title: Optical physiology
- - doc: This source module contains neurodata_type for retinotopy data.
- source: nwb.retinotopy.yaml
- title: Retinotopy
- version: 2.1.0
diff --git a/src/pynwb/data/nwb.ogen.yaml b/src/pynwb/data/nwb.ogen.yaml
deleted file mode 100644
index 72360dec1..000000000
--- a/src/pynwb/data/nwb.ogen.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-groups:
-- neurodata_type_def: OptogeneticSeries
- neurodata_type_inc: TimeSeries
- doc: An optogenetic stimulus.
- datasets:
- - name: data
- dtype: numeric
- dims:
- - num_times
- shape:
- - null
- doc: Applied power for optogenetic stimulus, in watts.
- attributes:
- - name: unit
- dtype: text
- value: watts
- doc: Unit of measurement for data, which is fixed to 'watts'.
- links:
- - name: site
- target_type: OptogeneticStimulusSite
- doc: Link to OptogeneticStimulusSite object that describes the site to which this
- stimulus was applied.
-
-- neurodata_type_def: OptogeneticStimulusSite
- neurodata_type_inc: NWBContainer
- doc: A site of optogenetic stimulation.
- quantity: '*'
- datasets:
- - name: description
- dtype: text
- doc: Description of stimulation site.
- - name: excitation_lambda
- dtype: float
- doc: Excitation wavelength, in nm.
- - name: location
- dtype: text
- doc: Location of the stimulation site. Specify the area, layer, comments on estimation
- of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas
- names for anatomical regions when possible.
- links:
- - name: device
- target_type: Device
- doc: Device that generated the stimulus.
diff --git a/src/pynwb/data/nwb.ophys.yaml b/src/pynwb/data/nwb.ophys.yaml
deleted file mode 100644
index ef3b7887c..000000000
--- a/src/pynwb/data/nwb.ophys.yaml
+++ /dev/null
@@ -1,276 +0,0 @@
-groups:
-- neurodata_type_def: TwoPhotonSeries
- neurodata_type_inc: ImageSeries
- doc: Image stack recorded over time from 2-photon microscope.
- attributes:
- - name: pmt_gain
- dtype: float32
- doc: Photomultiplier gain.
- required: false
- - name: scan_line_rate
- dtype: float32
- doc: Lines imaged per second. This is also stored in /general/optophysiology but
- is kept here as it is useful information for analysis, and so good to be stored
- w/ the actual data.
- required: false
- datasets:
- - name: field_of_view
- dtype: float32
- dims:
- - width|height
- - width|height|depth
- shape:
- - - 2
- - - 3
- doc: Width, height and depth of image, or imaged area, in meters.
- required: false
- quantity: '?'
- links:
- - name: imaging_plane
- target_type: ImagingPlane
- doc: Link to ImagingPlane object from which this TimeSeries data was generated.
-
-- neurodata_type_def: RoiResponseSeries
- neurodata_type_inc: TimeSeries
- doc: ROI responses over an imaging plane. Each row in data should correspond to
- the signal from one ROI. Each element on the second dimension of data should
- correspond to the signal from one ROI.
- datasets:
- - name: data
- dtype: numeric
- dims:
- - - num_times
- - - num_times
- - num_ROIs
- shape:
- - - null
- - - null
- - null
- doc: Signals from ROIs.
- - name: rois
- neurodata_type_inc: DynamicTableRegion
- doc: DynamicTableRegion referencing into an ROITable containing information on the ROIs
- stored in this timeseries.
-
-- neurodata_type_def: DfOverF
- neurodata_type_inc: NWBDataInterface
- default_name: DfOverF
- doc: dF/F information about a region of interest (ROI). Storage hierarchy of dF/F
- should be the same as for segmentation (i.e., same names for ROIs and for image
- planes).
- groups:
- - neurodata_type_inc: RoiResponseSeries
- doc: RoiResponseSeries object(s) containing dF/F for a ROI.
- quantity: '+'
-
-- neurodata_type_def: Fluorescence
- neurodata_type_inc: NWBDataInterface
- default_name: Fluorescence
- doc: Fluorescence information about a region of interest (ROI). Storage hierarchy
- of fluorescence should be the same as for segmentation (ie, same names for ROIs
- and for image planes).
- groups:
- - neurodata_type_inc: RoiResponseSeries
- doc: RoiResponseSeries object(s) containing fluorescence data for a ROI.
- quantity: '+'
-
-- neurodata_type_def: ImageSegmentation
- neurodata_type_inc: NWBDataInterface
- default_name: ImageSegmentation
- doc: Stores pixels in an image that represent different regions of interest (ROIs)
- or masks. All segmentation for a given imaging plane is stored together, with
- storage for multiple imaging planes (masks) supported. Each ROI is stored in its
- own subgroup, with the ROI group containing both a 2D mask and a list of pixels
- that make up this mask. Segments can also be used for masking neuropil. If segmentation
- is allowed to change with time, a new imaging plane (or module) is required and
- ROI names should remain consistent between them.
- groups:
- - neurodata_type_def: PlaneSegmentation
- neurodata_type_inc: DynamicTable
- doc: Results from image segmentation of a specific imaging plane.
- quantity: '+'
- datasets:
- - name: image_mask
- neurodata_type_inc: VectorData
- dims:
- - - num_roi
- - num_x
- - num_y
- - - num_roi
- - num_x
- - num_y
- - num_z
- shape:
- - - null
- - null
- - null
- - - null
- - null
- - null
- - null
- doc: 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.
- quantity: '?'
- - name: pixel_mask_index
- neurodata_type_inc: VectorIndex
- doc: Index into pixel_mask.
- quantity: '?'
- - name: pixel_mask
- neurodata_type_inc: VectorData
- dtype:
- - name: x
- dtype: uint
- doc: Pixel x-coordinate.
- - name: y
- dtype: uint
- doc: Pixel y-coordinate.
- - name: weight
- dtype: float
- doc: Weight of the pixel.
- doc: 'Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel
- masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation'
- quantity: '?'
- - name: voxel_mask_index
- neurodata_type_inc: VectorIndex
- doc: Index into voxel_mask.
- quantity: '?'
- - name: voxel_mask
- neurodata_type_inc: VectorData
- dtype:
- - name: x
- dtype: uint
- doc: Voxel x-coordinate.
- - name: y
- dtype: uint
- doc: Voxel y-coordinate.
- - name: z
- dtype: uint
- doc: Voxel z-coordinate.
- - name: weight
- dtype: float
- doc: Weight of the voxel.
- doc: 'Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel
- masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation'
- quantity: '?'
- groups:
- - name: reference_images
- doc: Image stacks that the segmentation masks apply to.
- groups:
- - neurodata_type_inc: ImageSeries
- doc: One or more image stacks that the masks apply to (can be one-element
- stack).
- quantity: '*'
- links:
- - name: imaging_plane
- target_type: ImagingPlane
- doc: Link to ImagingPlane object from which this data was generated.
-
-- neurodata_type_def: ImagingPlane
- neurodata_type_inc: NWBContainer
- doc: An imaging plane and its metadata.
- quantity: '*'
- datasets:
- - name: description
- dtype: text
- doc: Description of the imaging plane.
- quantity: '?'
- - name: excitation_lambda
- dtype: float
- doc: Excitation wavelength, in nm.
- - name: imaging_rate
- dtype: float
- doc: Rate that images are acquired, in Hz.
- - name: indicator
- dtype: text
- doc: Calcium indicator.
- - name: location
- dtype: text
- doc: Location of the imaging plane. Specify the area, layer, comments on estimation
- of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas
- names for anatomical regions when possible.
- - name: manifold
- dtype: float32
- dims:
- - - height
- - width
- - x|y|z
- - - height
- - width
- - depth
- - x|y|z
- shape:
- - - null
- - null
- - 3
- - - null
- - null
- - null
- - 3
- doc: "Physical position of each pixel. 'xyz' represents the position\
- \ of the pixel relative to the defined coordinate space."
- quantity: '?'
- attributes:
- - name: conversion
- dtype: float
- default_value: 1.0
- doc: Scalar to multiply each element in data to convert it to the specified 'unit'.
- If the data are stored in acquisition system units or other units
- that require a conversion to be interpretable, multiply the data by 'conversion'
- to convert the data to the specified 'unit'. e.g. if the data acquisition system
- stores values in this object as pixels from x = -500 to 499, y = -500 to 499
- that correspond to a 2 m x 2 m range, then the 'conversion' multiplier to get
- from raw data acquisition pixel units to meters is 2/1000.
- required: false
- - name: unit
- dtype: text
- default_value: meters
- doc: Base unit of measurement for working with the data. The default value
- is 'meters'.
- required: false
- - name: reference_frame
- dtype: text
- doc: Describes position and reference frame of manifold based on position of
- first element in manifold. For example, text description of anatomical location
- or vectors needed to rotate to common anatomical axis (eg, AP/DV/ML). This
- field is necessary to interpret manifold. If manifold is not present then
- this field is not required.
- quantity: '?'
- groups:
- - neurodata_type_def: OpticalChannel
- neurodata_type_inc: NWBContainer
- doc: An optical channel used to record from an imaging plane.
- datasets:
- - name: description
- dtype: text
- doc: Description or other notes about the channel.
- - name: emission_lambda
- dtype: float
- doc: Emission wavelength for channel, in nm.
- links:
- - name: device
- target_type: Device
- doc: Link to the Device object that was used to record from this electrode.
-
-- neurodata_type_def: MotionCorrection
- neurodata_type_inc: NWBDataInterface
- default_name: MotionCorrection
- doc: 'An image stack where all frames are shifted (registered) to a common coordinate
- system, to account for movement and drift between frames. Note: each frame at
- each point in time is assumed to be 2-D (has only x & y dimensions).'
- groups:
- - neurodata_type_def: CorrectedImageStack
- neurodata_type_inc: NWBDataInterface
- doc: Reuslts from motion correction of an image stack.
- quantity: '+'
- groups:
- - name: corrected
- neurodata_type_inc: ImageSeries
- doc: Image stack with frames shifted to the common coordinates.
- - name: xy_translation
- neurodata_type_inc: TimeSeries
- doc: Stores the x,y delta necessary to align each frame to the common coordinates,
- for example, to align each frame to a reference image.
- links:
- - name: original
- target_type: ImageSeries
- doc: Link to ImageSeries object that is being registered.
diff --git a/src/pynwb/data/nwb.retinotopy.yaml b/src/pynwb/data/nwb.retinotopy.yaml
deleted file mode 100644
index 22dabbcd2..000000000
--- a/src/pynwb/data/nwb.retinotopy.yaml
+++ /dev/null
@@ -1,229 +0,0 @@
-groups:
-- neurodata_type_def: ImagingRetinotopy
- neurodata_type_inc: NWBDataInterface
- default_name: ImagingRetinotopy
- doc: 'Intrinsic signal optical imaging or widefield imaging for measuring retinotopy.
- Stores orthogonal maps (e.g., altitude/azimuth; radius/theta) of responses to
- specific stimuli and a combined polarity map from which to identify visual areas.
- Note: for data consistency, all images and arrays are stored in the format [row][column]
- and [row, col], which equates to [y][x]. Field of view and dimension arrays may
- appear backward (i.e., y before x).'
- datasets:
- - name: axis_1_phase_map
- dtype: float32
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: Phase response to stimulus on the first measured axis.
- attributes:
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row|column
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: unit
- dtype: text
- doc: Unit that axis data is stored in (e.g., degrees).
- - name: axis_1_power_map
- dtype: float32
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: Power response on the first measured axis. Response is scaled so 0.0 is no
- power in the response and 1.0 is maximum relative power.
- quantity: '?'
- attributes:
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: unit
- dtype: text
- doc: Unit that axis data is stored in (e.g., degrees).
- - name: axis_2_phase_map
- dtype: float32
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: Phase response to stimulus on the second measured axis.
- attributes:
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: unit
- dtype: text
- doc: Unit that axis data is stored in (e.g., degrees).
- - name: axis_2_power_map
- dtype: float32
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: Power response on the second measured axis. Response is scaled so 0.0 is
- no power in the response and 1.0 is maximum relative power.
- quantity: '?'
- attributes:
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: unit
- dtype: text
- doc: Unit that axis data is stored in (e.g., degrees).
- - name: axis_descriptions
- dtype: text
- dims:
- - names
- shape:
- - 2
- doc: Two-element array describing the contents of the two response axis fields.
- Description should be something like ['altitude', 'azimuth'] or '['radius',
- 'theta'].
- - name: focal_depth_image
- dtype: uint16
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: 'Gray-scale image taken with same settings/parameters (e.g., focal depth,
- wavelength) as data collection. Array format: [rows][columns].'
- attributes:
- - name: bits_per_pixel
- dtype: int32
- doc: Number of bits used to represent each value. This is necessary to determine
- maximum (white) pixel value.
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: focal_depth
- dtype: float
- doc: Focal depth offset, in meters.
- - name: format
- dtype: text
- doc: Format of image. Right now only 'raw' is supported.
- - name: sign_map
- dtype: float32
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: Sine of the angle between the direction of the gradient in axis_1 and axis_2.
- attributes:
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: vasculature_image
- dtype: uint16
- dims:
- - num_rows
- - num_cols
- shape:
- - null
- - null
- doc: 'Gray-scale anatomical image of cortical surface. Array structure: [rows][columns]'
- attributes:
- - name: bits_per_pixel
- dtype: int32
- doc: Number of bits used to represent each value. This is necessary to determine
- maximum (white) pixel value
- - name: dimension
- dtype: int32
- dims:
- - row_col
- shape:
- - null
- doc: 'Number of rows and columns in the image. NOTE: row, column representation
- is equivalent to height,width.'
- - name: field_of_view
- dtype: float
- dims:
- - row_col
- shape:
- - null
- doc: Size of viewing area, in meters.
- - name: format
- dtype: text
- doc: Format of image. Right now only 'raw' is supported.
diff --git a/src/pynwb/nwb-schema b/src/pynwb/nwb-schema
new file mode 160000
index 000000000..dba02ff75
--- /dev/null
+++ b/src/pynwb/nwb-schema
@@ -0,0 +1 @@
+Subproject commit dba02ff7521fab07e0f2f1c8356eada8d6b52c20