- The
OpenEphysRecordingInterface
is now a wrapper forOpenEphysBinaryRecordingInterface
. PR #294
- All usages of
use_times
have been removed from spikeinterface tools and interfaces. 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 - Dropped Python 3.7 support. PR #237
- Added a tool for determining rising and falling frames from TTL signals (
parse_rising_frames_from_ttl
andget_falling_frames_from_ttl
). PR #244 - Added the
SpikeGLXNIDQInterface
for reading data from.nidq.bin
files, as well as the ability to parse event times from specific channels via theget_event_starting_times_from_ttl
method. Also included aneuroconv.tools.testing.MockSpikeGLXNIDQInterface
for testing purposes. PR #247 - Improved handling of writing multiple probes to the same
NWB
file PR #255 - Added basic temporal alignment methods to all DataInterfaces. These are
get_timestamps
,align_starting_time
,align_timestamps
, andalign_by_interpolation
. Added tests that serve as a first demonstration of the intended uses in a variety of cases. PR #237
- Added
DeprecationWarnings
to allspikeextractors
backends. PR #265 - Added
DeprecationWarning
s forspikeextractors
objects inneuroconv.tools.spikeinterface
. PR #266
- Temporarily hotfixed the
tensorflow
dependency after the release ofdeeplabcut==2.3.0
. PR #268 - Fixed cleanup of waveform tests in SI tools. PR #277
- Fixed metadata structure for the CsvTimeIntervalsInterface, which was previously not passed validation in NWBConverters. PR #237
- Added propagation of the
load_sync_channel
argument for theSpikeGLXNIDQInterface
. PR #282 - Fixed the default
es_key
used by stand-alone write using anyRecordingExtractorInterface
orLFPExtractorInterface
. PR #288 - Fixed the default
ExtractorName
used to load the spikeinterface extractor of theSpikeGLXLFPInterface
. PR #288
- Re-organized the
test_gin_ecephys
file by splitting into each sub-modality. PR #282 - Add testing support for Python 3.11. PR #234
- Remove
Path(path_to_save_nwbfile).is_file()
from each of the gallery pages. PR #177 - Improve docstring for
SpikeGLXRecordingInterface
. PR #226 - Correct typing of SpikeGLX in conversion gallery. PR #223
- Added tutorial for utilizing YAML metadata in a conversion pipeline. PR #240
- Added page in User Guide for how to use CSVs to specifiy metadata. PR #241
- Added the
BaseDataInterface
in the API docs. PR #242 - Fixed typo in styling section. PR #253
- Updated docs on JSON schema. PR #256
- Improved compliance with numpy-style docstring PR #260
- Added
AudioInterface
for files inWAV
format using theadd_acoustic_waveform_series
utility function fromtools/audio
to write audio data to NWB. PR #196 - Added the
MCSRaw
for writing data stored in MCSRaw (.raw) format. PR #220 - Added the
MEArecRecordingInterface
for writing data stored in MEArec (structured .h5) format. PR #218 - Added the
AlphaOmegaRecordingInterface
for writing data stored in AlphaOmega (folder of .mrx) format. PR #212 - Added the
PlexonRecordingInterface
for writing data stored in Plexon (.plx) format. PR #206 - Added the
BiocamRecordingInterface
for writing data stored in Biocam (.bwr) format. PR #210 - Added function to add acoustic series as
AcousticWaveformSeries
object as acquisition or stimulus to NWB. PR #201 - Added new form to the GitHub repo for requesting support for new formats. PR #207
- Simplified the writing of
channel_conversion
duringadd_electrical_series
if the vector of gains is uniform; in this case, they are now combined into the scalarconversion
value. PR #218 - Implement timestamp extraction from videos for the SLEAPInterface PR #238
- Prevented writing of default values for optional columns on the
ElectrodeTable
. PR #219 - Add interfaces for Excel and Csv time intervals tables. PR #252
- Added a
session_id
to the test file for theautomatic_dandi_upload
helper function. PR #199 pre-commit
version bump. PR #235- Added a
testing
sub-module tosrc
and added a method (generate_mock_ttl_signal
) for generating synthetic TTL pulses. PR #245
VideoInterface
. Only raise a warning if the difference between the rate estimated from timestamps and the fps (frames per seconds) is larger than two decimals. PR #200- Fixed the bug in a
VideoInterface
where it would useDataChunkIterator
even if the conversion options indicated that it should not. PR #200 - Update usage requirements for HDMF to prevent a buffer overflow isssue fixed in hdmf-dev/hdmf#780. PR #195
- Remove the deprecated
distutils.version
in favor ofpackaging.version
PR #233
- Added a set of dev branch gallery tests for PyNWB, HDMF, SI, and NEO. PR #113
- Added tests for the
TypeError
andValueError
raising for the newstarting_frames
argument ofMovieDataInterface.run_conversion()
. PR #113 - Added workflow for automatic detection of CHANGELOG.md updates for PRs. PR #187
- Added support for python 3.10 PR #229
- Fixed a new docval typing error that arose in
hdmf>3.4.6
versions. PR #113 - Fixed a new input argument issue for
starting_frames
when usingexternal_file
for anImageSeries
inpynwb>2.1.0
versions. PR #113 - Fixed issues regarding interaction between metadata rate values and extractor rate values in
tools.roiextractors
. PR #159 - Fixed sampling frequency resolution issue when detecting this from timestamps in
roiextractors.write_imaging
androiextractors.write_segmentation
. PR #159
- Added a note in User Guide/DataInterfaces to help installing custom dependencies for users who use Z-shell (
zsh
). PR #180 - Added
MovieInterface
example in the conversion gallery. PR #183
- Added
ConverterPipe
, a class that allows chaining previously intialized interfaces for batch conversion and corresponding tests PR #169 - Added automatic extraction of metadata for
NeuralynxRecordingInterface
including filtering information for channels, device and recording time information PR #170 - Added stubbing capabilities to timestamp extraction in the
MovieInterface
avoiding scanning through the whole file whenstub_test=True
PR #181 - Added a flag
include_roi_acceptance
totools.roiextractors.write_segmentation
and corresponding interfaces to allow disabling the addition of boolean columns indicating ROI acceptance. PR #193 - Added
write_waveforms()
function intools.spikeinterface
to writeWaveformExtractor
objects PR #217
- Replaced the
MovieInterface
withVideoInterface
and introduced deprecation warnings for the former. PR #74
- Updated
BlackrockRecordingInterface
to support multi stream file and added gin corresponding gin tests PR #176
- 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
- Drop spikeextractor backend support for NeuralynxRecordingInterface PR #174
- 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
- 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
- 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
- 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
- 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
- Fixed the behavior of the
file_paths
usage in the MovieInterface when run via the YAML conversion specification. PR #33
- Added function to add ImagingPlane objects to an nwbfile in
roiextractors
and corresponding unit tests. PR #19 - Added function to add summary images from a
SegmentationExtractor
object to an nwbfile in the roiextractors module and corresponding unit tests PR #22 - Small improvements on ABFInterface @luiztauffer PR #89
- Add non-iterative writing capabilities to
add_electrical_series
. PR #32
- Added unittests for the
write_as
functionality in theadd_electrical_series
of the spikeinterface module. PR #32
- The first release of NeuroConv.