Releases: catalystneuro/neuroconv
Releases · catalystneuro/neuroconv
v0.2.4
v0.2.4
Deprecation
- 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
Features
- 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
Pending deprecation
- Added
DeprecationWarnings
to allspikeextractors
backends. PR #265 - Added
DeprecationWarning
s forspikeextractors
objects inneuroconv.tools.spikeinterface
. PR #266
Fixes
- Temporarily hotfixed the
tensorflow
dependency after the release ofdeeplabcut==2.3.0
. PR #268 - Fixed cleanup of waveform tests in SI tools. PR #277
- 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
Testing
- Re-organized the
test_gin_ecephys
file by splitting into each sub-modality. PR #282
v0.2.3
v0.2.3
Documentation and tutorial enhancements
- 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 type in styling section. PR #253
Features
- 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
Testing
- Added a
session_id
to the test file for theautomatic_dandi_upload
helper function. PR #199 pre-commit
version bump. PR #235
Fixes
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
v0.2.2
v0.2.2
Testing
- 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
Fixes
- 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
Documentation and tutorial enhancements
- 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
Features
- 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
Pending deprecation
- Replaced the
MovieInterface
withVideoInterface
and introduced deprecation warnings for the former. PR #74
v0.2.1
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](https://gi...
v0.1.1
v0.1.1
Fixes
- Fixed the behavior of the
file_paths
usage in the MovieInterface when run via the YAML conversion specification. PR #33
Improvements
- Added function to add ImagingPlane objects to an nwbfile in
roiextractors
and corresponding unit tests. PR #19
Features
- Add non-iterative writing capabilities to
add_electrical_series
. PR #32
Testing
- Added unittests for the
write_as
functionality in theadd_electrical_series
of the spikeinterface module. PR #32
v0.1.0
v0.1.0
The first release of NeuroConv.