Releases: NeurodataWithoutBorders/nwbinspector
v0.4.10
v0.4.10
Improvements
- Added a utillity function for retrieving the version of a package in a form that allows easy comparison.
- Added a utility function for robust S3 retrieval (retries with exponential backoff) and implemented it within the core inspection functions in an attempt to resolve the ongoing S3 curl request failures.
- Allowed importance threshold to be specified as a string rather than an instance of the enum class.
- Added negative job slicing to all n_jobs arguments.
New Checks
- For objects new in NWB 2.5 called 'Images' - for the field named "order_of_images", which specifies the order of the images within the Images object, we check that the "order_of_images" contains references to all of the images only once that are in the Images object
"order_of_images" contains no other images (e.g., from another object). - Ensure that the form of each experimenter in the NWBFile metadata is of the form DANDI expects (Last, First Middle).
- Special check for unique identifiers over a folder path given to inspect_all.
Bug Fixes
- Critical fix for the config feature which resulted in secondary fields of messages failing to be parsed.
v0.4.5
v0.4.5
Bug fix
check_compass_direction_unit
now correctly applies to CompassDirection
objects.
v0.4.4
v0.4.4
Improvements
- Makes DANDI tests lazy.
v0.4.3
v0.4.3
Improvements
- Makes DANDI a lazy import for the automated S3 resolution feature.
New Checks
- If a SpatialSeries inside a CompassDirection object have proper units (radians or degrees).
Bug Fixes
- When an NWBFile fails
io.read()
, preventing the report from being generated.
v0.4.0
v0.4.0
Improvements
- Introduces the automated streaming feature to the CLI and inspect_all whenever the path input is a DANDISet link or ID.
- Allows the CLI to save a report even when there are no messages.
New Checks
- If external_files for ImageSeries are relative paths, not absolute - it also allows the CLI to save a report even when there are no messages.
- If a serialized dictionary is within a string value of a
DynamicTable
. - If spike times fall within observed intervals on the Units table.
- If spatial series have the correct dimensionality.
- If optical series have wavelengths set in nanometers, a requirement of the NWB Schema.
- If file exists or url is valid for all items in the
external_file
field ofImageSeries
.
Check Changes
- Elevated the latin binomial species name check to
BEST_PRACTICE_VIOLATION
level. - Excludes Units tables and the ElectrodeTable of an NWBFile from the default operation of checking for single row tables.
Bug Fixes
- For particular children of TimeSeries that may have resolution set to
None
. - When reading byte strings for various checks that assert particular practices on the contents of the strings.
v0.3.9
v0.3.9
Attempting to setup a conda-forge feedstock for the NWBInspector.
v0.3.8
v0.3.8
Improvements
- Added filters for benign warnings when loading a PyNWB file with outdated cached namespaces or no namespaces at all
New Checks
- Ensuring all ogen sites are referenced by an ogen series
- If the ElectricalSeries.electrodes points to a dynamic table region that actually came from the ElectrodeTable
- The related_publications, if set, uses a proper doi format
- NWBFile contains keywords
- Slashes in names
- Incorrect session start times
- Unknown resolution for TimeSeries
- Missing unit for TimeSeries
Bug fixes
- Display output for aggregated messages was accidentally counting the first file
- Behavior of checking session_start_time after checking the nwbfile description resulted in session_start_time being set to None in memory
v0.3.1
v0.3.1 API Changes
-
Output from
inspect_nwb
andinspect_all
are now yielded generators of a simple, flat list ofInspectorMessages
, or raises aStopIteration
if no issues are present in the file(s). To automatically calculate the list of messages, simply cast these functions as a list, e.g.,list(inspect_nwb(...))
. -
Users may now create and specify configuration files that can alter the importance levels of individual check functions, as well as programmatically skip certain ones altogether. The CLI has an additional wrapper for convenience to some pre-defined configurations, such as a DANDI configuration (with the
--config dandi
flag) that emphasizes the types of metadata required by DANDI. -
organize_messages
frominspector_tools
now supports generic hierarchical organization according to the specifiedlevels
argument. -
Parallelization over NWBFiles is now supported for
inspect_all
and the CLI (with the--n-jobs
flag). -
Exposed imports of
inspect_nwb
andinspect_all
on the outer level, e.g.,from nwbinspector import inspect_all
New Checks
check_binary_capability
for columns of dynamic tables that are candidates for binary (boolean) representationcheck_roi_response_series_link_to_plane_segmentation
for ensuring proper linkage of ophys data
Minor changes
- Folder path iteration by
inspect_all
is now recursive to subfolders Severity
levelNO_SEVERITY
was removed to avoid confusion.LOW
is the new default.
v0.2.3
v0.2.3 is the first released version since the v0.1.0 prototype.
It includes all the refactored codebase including check registration, report parsing, and the new check function suite. It also supports ros3
streaming of files on the DANDI archive (though the user is responsible for resolving the correct S3 path).