Skip to content

Releases: NeurodataWithoutBorders/nwbinspector

v0.4.10

21 Jul 21:31
c85cb0a
Compare
Choose a tag to compare

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

11 May 15:09
c9eabc6
Compare
Choose a tag to compare

v0.4.5

Bug fix

check_compass_direction_unit now correctly applies to CompassDirection objects.

v0.4.4

05 May 13:55
9c84959
Compare
Choose a tag to compare

v0.4.4

Improvements

  • Makes DANDI tests lazy.

v0.4.3

04 May 22:57
659c281
Compare
Choose a tag to compare

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

25 Apr 20:16
9a736d8
Compare
Choose a tag to compare

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 of ImageSeries.

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

08 Apr 14:35
a15cd51
Compare
Choose a tag to compare

v0.3.9

Attempting to setup a conda-forge feedstock for the NWBInspector.

v0.3.8

07 Apr 15:57
00e5ead
Compare
Choose a tag to compare

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

16 Mar 14:51
2941ba3
Compare
Choose a tag to compare

v0.3.1 API Changes

  • Output from inspect_nwb and inspect_all are now yielded generators of a simple, flat list of InspectorMessages, or raises a StopIteration 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 from inspector_tools now supports generic hierarchical organization according to the specified levels argument.

  • Parallelization over NWBFiles is now supported for inspect_all and the CLI (with the --n-jobs flag).

  • Exposed imports of inspect_nwb and inspect_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) representation
  • check_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 level NO_SEVERITY was removed to avoid confusion. LOW is the new default.

v0.2.3

23 Feb 20:57
78e0198
Compare
Choose a tag to compare

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).