v0.2.0
v0.2.0
Back-compatability break
- All built-in DataInterfaces are now nested under the
neuroconv.datainterfaces
import structure - they are no longer available from the outer level. To import a data interface, use the syntaxfrom neuroconv.datainterfaces import <name of interface>
. PR #74 - The
AxonaRecordingExtractorInterface
has been renamed toAxonaRecordingInterface
. PR #74 - The
AxonaUnitRecordingExtractorInterface
has been renamed toAxonaUnitRecordingInterface
. PR #74 - The
BlackrockRecordingExtractorInterface
has been renamed toBlackrockRecordingInterface
. PR #74 - The
BlackrockSortingExtractorInterface
has been renamed toBlackrockSortingInterface
. PR #74 - The
OpenEphysRecordingExtractorInterface
has been renamed toOpenEphysRecordingInterface
. PR #74 - The
OpenEphysSortingExtractorInterface
has been renamed toOpenEphysSortingInterface
. PR #74 - The
KilosortSortingInterface
has been renamed toKiloSortSortingInterface
to be more consistent with SpikeInterface. PR #107 - The
Neuroscope
interfaces have been renamed toNeuroScope
to be more consistent with SpikeInterface. PR #107 - The
tools.roiextractors.add_epoch
functionality has been retired in the newest versions of ROIExtractors. PR #112 - Removed deprecation warnings for
save_path
argument (which is nownwbfile_path
everywhere in the package). PR #124 - Changed default device name for the ecephys pipeline. Device_ecephys -> DeviceEcephys PR #154
- Change names of written electrical series on the ecephys pipeline. ElectricalSeries_raw -> ElectricalSeriesRaw, ElectricalSeries_processed -> ElectricalSeriesProcessed, ElectricalSeries_lfp -> ElectricalSeriesLFP PR #153
Fixes
- Prevented the CEDRecordingInterface from writing non-ecephys channel data. PR #37
- Fixed description in
write_sorting
and inadd_units_table
to have "neuroconv" in the description. PR #104 - Updated
spikeinterface
version number to 0.95.1 to fix issue withSpikeGLXInterface
probe annotations.
The issue is described here. PR #132
Improvements
- Unified the
run_conversion
method ofBaseSegmentationExtractorInterface
with that of all the other base interfaces. The methodwrite_segmentation
now uses the commonmake_or_load_nwbfile
context manager PR #29 - Coerced the recording extractors with
spikeextractors_backend=True
to BaseRecording objects for Axona, Blackrock, Openephys, and SpikeGadgets. PR #38 - Added function to add PlaneSegmentation objects to an nwbfile in
roiextractors
and corresponding unit tests. PR #23 use_times
argument to be deprecated on the ecephys pipeline. The functionadd_electrical_series
now determines whether the timestamps of the spikeinterface recording extractor are uniform or not and automatically stores the data according to best practices PR #40- Add
NWBFile
metadata key at the level of the base data interface so it can always be inherited to be available. PR #51. - Added spikeinterface support to Axona LFP and coerece gin tests for LFP to be spikeinterface objects PR #85
- Added function to add fluorescence traces to an nwbfile in
roiextractors
and corresponding unit tests.
The df over f traces are now added to aDfOverF
container instead of theFluorescence
container.
The metadata schema has been changed for theBaseSegmentationExtractorInterface
to allow metadata forDfOverF
,
andFlurorescence
is now not required in the metadata schema. PR #41 - Improved default values of OpticalChannel object names and other descriptions for Imaging data. PR #88
- Extended the
ImagingDataChunkIterator
to be compatible with volumetric data. PR #90 - Integrated the
ImagingDataChunkIterator
with thewrite_imaging
methods. PR #90 - Began work towards making SpikeInterface, SpikeExtractors, and ROIExtractors all non-minimal dependencies. PR #74
- Implemented format-wise and modality-wise extra installation requirements. If there are any requirements to use a module or data interface, these are defined in individual requirements files at the corresponding level of the package. These are in turn easily accessible from the commands
pip install neuroconv[format_name]
.pip install neuroconv[modality_name]
will also install all dependencies necessary to make full use of any interfaces from that modality. PR #100 - Added frame stubbing to the
BaseSegmentationExtractorInterface
. PR #116 - Added
mask_type: str
andinclude_roi_centroids: bool
to theadd_plane_segmentation
helper andwrite_segmentation
functions for thetools.roiextractors
submodule. PR #117 - Propagate
output_struct_name
argument toExtractSegmentationInterface
to match its extractor arguments. PR #128 - Added compression and iteration (with options control) to all Fluorescence traces in
write_segmentation
. PR #120 - For irregular recordings, timestamps can now be saved along with all traces in
write_segmentation
. PR #130 - Added
mask_type
argument totools.roiextractors.add_plane_segmentation
function and all upstream calls. This allows users to request writing not just the image_masks (still the default) but also pixels, voxels orNone
of the above. PR #119 utils.json_schema.get_schema_from_method_signature
now allowsOptional[...]
annotation typing and subsequentNone
values during validation as long as it is still only applied to a simple non-conflicting type (noOptional[Union[..., ...]]
). PR #119
Documentation and tutorial enhancements:
- Unified the documentation of NeuroConv structure in the User Guide readthedocs. PR #39
- Added package for viewing source code in the neuroconv documentation PR #62
- Added Contributing guide for the Developer section of readthedocs. PR #73
- Added style guide to the readthedocs PR #28
- Added ABF data conversion tutorial @luiztauffer PR #89
- Added Icephys API documentation @luiztauffer PR #103
- Added Blackrock sorting conversion gallery example PR #134
- Extended the User Guide Get metadata section in DataInterfaces with a demonstration for loading metadata from YAML. PR #144
- Fixed a redundancy in PR #144 and API links. PR #154
- Added SLEAP conversion gallery example PR #161
Features
- Added conversion interface for Neuralynx sorting data together with gin data test and a conversion example in the gallery. PR #58
- Added conversion interface for DeepLabCut data together with gin data test and a conversion example in the gallery. PR #24
- Allow writing of offsets to ElectricalSeries objects from SpikeInterface (requires PyNWB>=2.1.0). PR #37
- Added conversion interface for EDF (European Data Format) data together with corresponding unit tests and a conversion example in the gallery. PR #45
- Created ImagingExtractorDataChunkIterator, a data chunk iterator for
ImagingExtractor
objects. PR #54 - Added support for writing spikeinterface recording extractor with multiple segments and corresponding unit test PR #67
- Added spikeinterface support to the Axona data interface PR #61
- Added new util function
get_package
for safely attempting to attempt a package import and informatively notifying the user of how to perform the installation otherwise. PR #74 - All built-in DataInterfaces now load their external dependencies on-demand at time of object initialization instead of on package or interface import. PR #74
- Adde spikeinterface support for Blackrock sorting interfacePR #134
- Added conversion interface for TDT recording data together with gin data test. PR #135
- Added conversion interface for SLEAP pose estimation data together with gin test for data. PR #160
Testing
- Added unittests for correctly writing the scaling factors to the nwbfile in the
add_electrical_series
function of the spikeinterface module. PR #37 - Added unittest for compresion options in the
add_electrical_series
function of the spikeinterface module. PR #64 - Added unittests for chunking in the
add_electrical_series
function of the spikeinterface module. PR #84 - Tests are now organized according to modality-wise lazy installations. PR #100