This repository has been archived by the owner on Mar 15, 2023. It is now read-only.
v0.11.38
Upcoming deprecations
- Introduced a soft deprecation of keyword argument 'save_path' from various interface and tool-specific write and conversion functions. This argument should now be named 'nwbfile_path' for consistency with the main converter calls.
- For the
spikeinterface.add_unit
s auxiliary function, argumentwrite_as: str
has been changed towrite_in_processing_module: bool
. Default behavior has not changed. Also removed override of ElectrodeTable descriptions, allowing PyNWB to set these instead.
New Features and Improvements
- For latest security fixes, bumps minimum required version of numpy to >=1.22.0 for Python versions >=3.8. Python 3.7 can only go up to numpy 1.21.0, however.
- Enables the
nwbct-run-conversion
entrypoint for calling the YAML conversion specification from the command line. - Adds a stubbing option to all ophys ImagingInterfaces.
- Improved the local version of the GenericDataChunkIterator by padding the buffer when beneficial.
- Various improvements to automated metadata extraction for various recording interfaces.
- Allows the JSON validators to parse datetime objects as iso and adds a context helper for making or appending NWBFiles.
- Enables recording, imaging, and sorting interfaces to perform standalone write of an NWBFile (that is, without requiring an NWBConverter with only a single interface).
- Added appending functionality to
spikeinterface.add_units
. - Added a data transfer tool for submitting and tracking tasks over Globus endpoints.
- Added a helper function for performing a fully automated DANDI upload process, assuming the token has been set as an environment variable.
- Added helper functions for automatically downloading data from Figshare.
- Added verbosity control to the NWBConverter class and base DataInterfaces.
- Added support for string-valued channel_ids from SpikeInterface. It does so by introducing a new column 'channel_names' to any ElectrodeTable written by add_electrodes or write_recording. This is enforced to be unique across rows of the table both here and in individual SpikeInterface recordings.
New Interfaces
- Introduced the BaseIcephysInterface and the first intracellular format interface - the AbfInterface!
- Added the KilosortSortingInterface.
Interface Changes
- Added SpikeInterface support for the NeuralynxRecordingInterface, SpikeGadgetsRecordingInterface, BlackrockRecordingInterface, PhySortingInterface, IntanRecordingInterface, and NeuroscopeSortingInterface. The CEDRecordingInterface now only uses SpikeInterface as the backend (and has dropped a priori setting of channel IDs - this is planned to be automatically reintroduced as a non-class method to subset channels after initialization, but for now that must be done manually).
- Removed the
nwbfile
object as a required argument of theBaseRecordingInterface. run_conversion
.
Tool Changes
- Prevents any response series associated with a TwoPhotonSeries from being written if it is simply an array of zeros.
- Introduced a util function for calculating the rate of a regular series.
- Introduced deprecation of
use_times
toroiextractors.add_two_photon_series
, as the behavior now mimics the modern SpikeInterface approach of always using them when available, and falling back to sampling frequency usage if not.
Bug Fixes
- Disabled the
nwb-gui
entrypoint as it has not worked for some time now. - Fixed a bug where metadata values were duplicated in
roiextractors.write_imaging
. - Prevented duplicate ophys metadata from becoming set during a manual override.
- Small fixes to ophys imaging metadata construction.
- Corrects the metadata schema for segmentation interfaces to be compatible with the ImagingInterfaces.
- Allows timestamps to be used with
external_file=True
in the MovieInterface. - Fixed the matching of unique group_names with groups on the ElectrodesTable.
- Fixed a problem when running the YAML conversion feature on the Windows platform.