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