Skip to content

Commit 70c65d4

Browse files
committed
Switch to newer NWB specification 2.2.4
We also drop the erroneous NWB- prefix on the /nwb_version attribute which is not encouraged anymore upstream.
1 parent c005ab4 commit 70c65d4

File tree

16 files changed

+454
-247
lines changed

16 files changed

+454
-247
lines changed

IPNWB_Constants.ipf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
StrConstant PLACEHOLDER = "PLACEHOLDER"
1313

1414
static StrConstant NWB_VERSION_V1 = "NWB-1.0.5"
15-
static StrConstant NWB_VERSION_V2 = "NWB-2.2.0"
15+
static StrConstant NWB_VERSION_V2 = "2.2.4"
1616
Constant NWB_VERSION_LATEST = 2
1717

1818
/// @name HDF5 file paths
@@ -129,7 +129,7 @@ End
129129
/// @brief get NWB version for current Igor Pro implementation
130130
///
131131
/// @param version maior NWB version e.g. 2
132-
/// @returns full version string in the format `NWB-[1,2]\.[0-9](?:\.[0-9])?[b]?
132+
/// @returns full version string in the format `(?:NWB-)?[1,2]\.[0-9](?:\.[0-9])?[b]?`
133133
threadsafe Function/S GetNWBVersionString(version)
134134
variable version
135135

@@ -169,12 +169,12 @@ Constant REGION_REFERENCE = 0x2
169169
/// @name Constants for NWB version 2 specifications and base classes
170170
/// @{
171171
StrConstant NWB_SPEC_NAME = "core"
172-
StrConstant NWB_SPEC_VERSION = "2.2.0"
172+
StrConstant NWB_SPEC_VERSION = "2.2.4"
173173
StrConstant NWB_SPEC_LOCATION = "namespace:core:json:"
174174
StrConstant NWB_SPEC_START = "nwb.namespace"
175175
StrConstant NWB_SPEC_INCLUDE = "nwb.base;nwb.behavior;nwb.device;nwb.ecephys;nwb.epoch;nwb.file;nwb.icephys;nwb.image;nwb.misc;nwb.ogen;nwb.ophys;nwb.retinotopy;"
176176
StrConstant HDMF_SPEC_NAME = "hdmf-common"
177-
StrConstant HDMF_SPEC_VERSION = "1.1.0"
177+
StrConstant HDMF_SPEC_VERSION = "1.1.3"
178178
StrConstant HDMF_SPEC_LOCATION = "namespace:hdmf-common:json:"
179179
StrConstant HDMF_SPEC_START = "namespace"
180180
StrConstant HDMF_SPEC_INCLUDE = "table;sparse;"

doc/schema.diff

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
62c73400565afc28f67ede4f2e86023c33167cf8 specifications (2.2.0)
2+
24fba6174ddbad171ee5bb824edfa31f86b1b16d specifications (2.2.4)
33

44
# diff namespace core upstream vs IPNWB specifications for nwb.base
55
# diff namespace core upstream vs IPNWB specifications for nwb.behavior
@@ -11,6 +11,16 @@
1111
# diff namespace core upstream vs IPNWB specifications for nwb.image
1212
# diff namespace core upstream vs IPNWB specifications for nwb.misc
1313
# diff namespace core upstream vs IPNWB specifications for nwb.namespace
14+
2,4c2
15+
< - name: core
16+
< doc: NWB namespace
17+
< author:
18+
---
19+
> - author:
20+
17a16
21+
> doc: NWB namespace
22+
18a18
23+
> name: core
1424
23c23
1525
< source: nwb.base.yaml
1626
---
@@ -63,6 +73,16 @@
6373
# diff namespace core upstream vs IPNWB specifications for nwb.ophys
6474
# diff namespace core upstream vs IPNWB specifications for nwb.retinotopy
6575
# diff namespace hdmf-common upstream vs IPNWB specifications for namespace
76+
2,4c2
77+
< - name: hdmf-common
78+
< doc: Common data structures provided by HDMF
79+
< author:
80+
---
81+
> - author:
82+
13a12
83+
> doc: Common data structures provided by HDMF
84+
14a14
85+
> name: hdmf-common
6686
17c17
6787
< source: table.yaml
6888
---

namespace/core/json/nwb.file.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

namespace/core/json/nwb.image.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"datasets":[{"dims":["x","y"],"doc":"A grayscale image.","dtype":"numeric","neurodata_type_def":"GrayscaleImage","neurodata_type_inc":"Image","shape":[null,null]},{"dims":["x","y","r, g, b"],"doc":"A color image.","dtype":"numeric","neurodata_type_def":"RGBImage","neurodata_type_inc":"Image","shape":[null,null,3]},{"dims":["x","y","r, g, b, a"],"doc":"A color image with transparency.","dtype":"numeric","neurodata_type_def":"RGBAImage","neurodata_type_inc":"Image","shape":[null,null,4]}],"groups":[{"datasets":[{"dims":[["frame","x","y"],["frame","x","y","z"]],"doc":"Binary data representing images across frames.","dtype":"numeric","name":"data","quantity":"?","shape":[[null,null,null],[null,null,null,null]]},{"dims":["rank"],"doc":"Number of pixels on x, y, (and z) axes.","dtype":"int32","name":"dimension","quantity":"?","shape":[null]},{"attributes":[{"dims":["num_files"],"doc":"Each external image may contain one or more consecutive frames of the full ImageSeries. This attribute serves as an index to indicate which frames each file contains, to faciliate random access. The 'starting_frame' attribute, hence, contains a list of frame numbers within the full ImageSeries of the first frame of each file listed in the parent 'external_file' dataset. Zero-based indexing is used (hence, the first element will always be zero). For example, if the 'external_file' dataset has three paths to files and the first file has 5 frames, the second file has 10 frames, and the third file has 20 frames, then this attribute will have values [0, 5, 15]. If there is a single external file that holds all of the frames of the ImageSeries (and so there is a single element in the 'external_file' dataset), then this attribute should have value [0].","dtype":"int32","name":"starting_frame","shape":[null]}],"dims":["num_files"],"doc":"Paths to one or more external file(s). The field is only present if format='external'. This is only relevant if the image series is stored in the file system as one or more image file(s). This field should NOT be used if the image is stored in another NWB file and that file is linked to this file.","dtype":"text","name":"external_file","quantity":"?","shape":[null]},{"default_value":"raw","doc":"Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.","dtype":"text","name":"format","quantity":"?"}],"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 a series of external image files in the host file system. The data field will either be binary data, if the data is stored in the NWB file, or empty, if the data is stored in an external image stack. [frame][x][y] or [frame][x][y][z].","neurodata_type_def":"ImageSeries","neurodata_type_inc":"TimeSeries"},{"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":[{"doc":"Link to ImageSeries object that this image mask is applied to.","name":"masked_imageseries","target_type":"ImageSeries"}],"neurodata_type_def":"ImageMaskSeries","neurodata_type_inc":"ImageSeries"},{"datasets":[{"doc":"Distance from camera/monitor to target/eye.","dtype":"float32","name":"distance","quantity":"?"},{"dims":[["width, height"],["width, height, depth"]],"doc":"Width, height and depth of image, or imaged area, in meters.","dtype":"float32","name":"field_of_view","quantity":"?","shape":[[2],[3]]},{"doc":"Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.","dtype":"text","name":"orientation","quantity":"?"}],"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.","neurodata_type_def":"OpticalSeries","neurodata_type_inc":"ImageSeries"},{"datasets":[{"dims":["num_times"],"doc":"Index of the frame in the referenced ImageSeries.","dtype":"int32","name":"data","shape":[null]}],"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.","links":[{"doc":"Link to ImageSeries object containing images that are indexed.","name":"indexed_timeseries","target_type":"ImageSeries"}],"neurodata_type_def":"IndexSeries","neurodata_type_inc":"TimeSeries"}]}
1+
{"datasets":[{"dims":["x","y"],"doc":"A grayscale image.","dtype":"numeric","neurodata_type_def":"GrayscaleImage","neurodata_type_inc":"Image","shape":[null,null]},{"dims":["x","y","r, g, b"],"doc":"A color image.","dtype":"numeric","neurodata_type_def":"RGBImage","neurodata_type_inc":"Image","shape":[null,null,3]},{"dims":["x","y","r, g, b, a"],"doc":"A color image with transparency.","dtype":"numeric","neurodata_type_def":"RGBAImage","neurodata_type_inc":"Image","shape":[null,null,4]}],"groups":[{"datasets":[{"dims":[["frame","x","y"],["frame","x","y","z"]],"doc":"Binary data representing images across frames.","dtype":"numeric","name":"data","quantity":"?","shape":[[null,null,null],[null,null,null,null]]},{"dims":["rank"],"doc":"Number of pixels on x, y, (and z) axes.","dtype":"int32","name":"dimension","quantity":"?","shape":[null]},{"attributes":[{"dims":["num_files"],"doc":"Each external image may contain one or more consecutive frames of the full ImageSeries. This attribute serves as an index to indicate which frames each file contains, to faciliate random access. The 'starting_frame' attribute, hence, contains a list of frame numbers within the full ImageSeries of the first frame of each file listed in the parent 'external_file' dataset. Zero-based indexing is used (hence, the first element will always be zero). For example, if the 'external_file' dataset has three paths to files and the first file has 5 frames, the second file has 10 frames, and the third file has 20 frames, then this attribute will have values [0, 5, 15]. If there is a single external file that holds all of the frames of the ImageSeries (and so there is a single element in the 'external_file' dataset), then this attribute should have value [0].","dtype":"int32","name":"starting_frame","shape":[null]}],"dims":["num_files"],"doc":"Paths to one or more external file(s). The field is only present if format='external'. This is only relevant if the image series is stored in the file system as one or more image file(s). This field should NOT be used if the image is stored in another NWB file and that file is linked to this file.","dtype":"text","name":"external_file","quantity":"?","shape":[null]},{"default_value":"raw","doc":"Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.","dtype":"text","name":"format","quantity":"?"}],"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 a series of external image files in the host file system. The data field will either be binary data, if the data is stored in the NWB file, or empty, if the data is stored in an external image stack. [frame][x][y] or [frame][x][y][z].","neurodata_type_def":"ImageSeries","neurodata_type_inc":"TimeSeries"},{"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":[{"doc":"Link to ImageSeries object that this image mask is applied to.","name":"masked_imageseries","target_type":"ImageSeries"}],"neurodata_type_def":"ImageMaskSeries","neurodata_type_inc":"ImageSeries"},{"datasets":[{"doc":"Distance from camera/monitor to target/eye.","dtype":"float32","name":"distance","quantity":"?"},{"dims":[["width, height"],["width, height, depth"]],"doc":"Width, height and depth of image, or imaged area, in meters.","dtype":"float32","name":"field_of_view","quantity":"?","shape":[[2],[3]]},{"dims":[["frame","x","y"],["frame","x","y","r, g, b"]],"doc":"Images presented to subject, either grayscale or RGB","dtype":"numeric","name":"data","shape":[[null,null,null],[null,null,null,3]]},{"doc":"Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.","dtype":"text","name":"orientation","quantity":"?"}],"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.","neurodata_type_def":"OpticalSeries","neurodata_type_inc":"ImageSeries"},{"datasets":[{"dims":["num_times"],"doc":"Index of the frame in the referenced ImageSeries.","dtype":"int32","name":"data","shape":[null]}],"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.","links":[{"doc":"Link to ImageSeries object containing images that are indexed.","name":"indexed_timeseries","target_type":"ImageSeries"}],"neurodata_type_def":"IndexSeries","neurodata_type_inc":"TimeSeries"}]}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"namespaces":[{"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"],"doc":"NWB namespace","full_name":"NWB core","name":"core","schema":[{"namespace":"hdmf-common"},{"doc":"This source module contains base data types used throughout the NWB:N data format.","source":"nwb.base","title":"Base data types"},{"doc":"This source module contains neurodata_types for device data.","source":"nwb.device","title":"Devices"},{"doc":"This source module contains neurodata_types for epoch data.","source":"nwb.epoch","title":"Epochs"},{"doc":"This source module contains neurodata_types for image data.","source":"nwb.image","title":"Image data"},{"doc":"Main NWB:N file specification.","source":"nwb.file","title":"NWB:N file"},{"doc":"Miscellaneous types.","source":"nwb.misc","title":"Miscellaneous neurodata_types."},{"doc":"This source module contains neurodata_types for behavior data.","source":"nwb.behavior","title":"Behavior"},{"doc":"This source module contains neurodata_types for extracellular electrophysiology data.","source":"nwb.ecephys","title":"Extracellular electrophysiology"},{"doc":"This source module contains neurodata_types for intracellular electrophysiology data.","source":"nwb.icephys","title":"Intracellular electrophysiology"},{"doc":"This source module contains neurodata_types for opto-genetics data.","source":"nwb.ogen","title":"Optogenetics"},{"doc":"This source module contains neurodata_types for optical physiology data.","source":"nwb.ophys","title":"Optical physiology"},{"doc":"This source module contains neurodata_type for retinotopy data.","source":"nwb.retinotopy","title":"Retinotopy"}],"version":"2.2.0"}]}
1+
{"namespaces":[{"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"],"doc":"NWB namespace","full_name":"NWB core","name":"core","schema":[{"namespace":"hdmf-common"},{"doc":"This source module contains base data types used throughout the NWB:N data format.","source":"nwb.base","title":"Base data types"},{"doc":"This source module contains neurodata_types for device data.","source":"nwb.device","title":"Devices"},{"doc":"This source module contains neurodata_types for epoch data.","source":"nwb.epoch","title":"Epochs"},{"doc":"This source module contains neurodata_types for image data.","source":"nwb.image","title":"Image data"},{"doc":"Main NWB:N file specification.","source":"nwb.file","title":"NWB:N file"},{"doc":"Miscellaneous types.","source":"nwb.misc","title":"Miscellaneous neurodata_types."},{"doc":"This source module contains neurodata_types for behavior data.","source":"nwb.behavior","title":"Behavior"},{"doc":"This source module contains neurodata_types for extracellular electrophysiology data.","source":"nwb.ecephys","title":"Extracellular electrophysiology"},{"doc":"This source module contains neurodata_types for intracellular electrophysiology data.","source":"nwb.icephys","title":"Intracellular electrophysiology"},{"doc":"This source module contains neurodata_types for opto-genetics data.","source":"nwb.ogen","title":"Optogenetics"},{"doc":"This source module contains neurodata_types for optical physiology data.","source":"nwb.ophys","title":"Optical physiology"},{"doc":"This source module contains neurodata_type for retinotopy data.","source":"nwb.retinotopy","title":"Retinotopy"}],"version":"2.2.4"}]}

0 commit comments

Comments
 (0)