Small fixes should be here.
- Removed use of
jsonschema.RefResolver
as it will be deprecated from the jsonschema library PR #1133 - Completely removed compression settings from most places PR #1126
- Soft deprecation for
file_path
as an argument ofSpikeGLXNIDQInterface
andSpikeGLXRecordingInterface
PR #1155 starting_time
in RecordingInterfaces has given a soft deprecation in favor of time alignment methods PR #1158
- datetime objects now can be validated as conversion options #1139
- Make
NWBMetaDataEncoder
public again PR #1142 - Fix a bug where data in
DeepLabCutInterface
failed to write whenndx-pose
was not imported. #1144 SpikeGLXConverterPipe
converter now accepts multi-probe structures with multi-trigger and does not assume a specific folder structure #1150SpikeGLXNIDQInterface
is no longer written as an ElectricalSeries #1152- Fix a bug on ecephys interfaces where extra electrode group and devices were written if the property of the "group_name" was set in the recording extractor #1164
- Propagate the
unit_electrode_indices
argument from the spikeinterface tools toBaseSortingExtractorInterface
. This allows users to map units to the electrode table when adding sorting data PR #1124 - Imaging interfaces have a new conversion option
always_write_timestamps
that can be used to force writing timestamps even if neuroconv's heuristics indicates regular sampling rate PR #1125 - Added .csv support to DeepLabCutInterface PR #1140
SpikeGLXRecordingInterface
now also acceptsfolder_path
making its behavior equivalent to SpikeInterface #1150- Added the
rclone_transfer_batch_job
helper function for executing Rclone data transfers in AWS Batch jobs. PR #1085 - Added the
deploy_neuroconv_batch_job
helper function for deploying NeuroConv AWS Batch jobs. PR #1086 - YAML specification files now accepts an outer keyword
upload_to_dandiset="< six-digit ID >"
to automatically upload the produced NWB files to the DANDI archive PR #1089 *SpikeGLXNIDQInterface
now handdles digital demuxed channels (XD0
) #1152
- Use mixing tests for ecephy's mocks PR #1136
- Use pytest format for dandi tests to avoid window permission error on teardown PR #1151
- Added many docstrings for public functions PR #1063
- Clean up with warnings and deprecations in the testing framework PR #1158
- Enhance the typing of the signature on the
NWBConverter
by adding zarr as a literal option on the backend and backend configuration PR #1160
- Using in-house
GenericDataChunkIterator
PR #1068 - Data interfaces now perform source (argument inputs) validation with the json schema PR #1020
- Improve the error message when writing a recording extractor with multiple offsets PR #1111
- Added
channels_to_skip
toEDFRecordingInterface
so the user can skip non-neural channels PR #1110
- Remove dev test from PR PR #1092
- Run only the most basic testing while a PR is on draft PR #1082
- Test that zarr backend_configuration works in gin data tests PR #1094
- Consolidated weekly workflows into one workflow and added email notifications PR #1088
- Avoid running link test when the PR is on draft PR #1093
- Centralize gin data preparation in a github action PR #1095
- Fixed a setup bug introduced in
v0.6.2
where installation process created a directory instead of a file for test configuration file PR #1070 - The method
get_extractor
now works forMockImagingInterface
PR #1076 - Updated opencv version for security PR #1087
- Solved a bug of
PlexonRecordingInterface
where data with multiple streams could not be opened PR #989
- Added chunking/compression for string-only compound objects: PR #1042
- Added automated EFS volume creation and mounting to the
submit_aws_job
helper function. PR #1018 - Added a mock for segmentation extractors interfaces in ophys:
MockSegmentationInterface
PR #1067 - Added a
MockSortingInterface
for testing purposes. PR #1065 - BaseRecordingInterfaces have a new conversion options
always_write_timestamps
that can be used to force writing timestamps even if neuroconv heuristic indicates regular sampling rate PR #1091
- Testing on mac sillicon PR #1061
- Add writing to zarr test for to the test on data PR #1056
- Modified the CI to avoid running doctests twice PR #1077
- Consolidated daily workflows into one workflow and added email notifications PR #1081
- Added zarr tests for the test on data with checking equivalent backends PR #1083
- Fixed a bug where
IntanRecordingInterface
added two devices PR #1059 - Fix a bug in
add_sorting_to_nwbfile
whereunit_electrode_indices
was only propagated ifwaveform_means
was passed PR #1057
- The following classes and objects are now private
NWBMetaDataEncoder
,NWBMetaDataEncoder
,check_if_imaging_fits_into_memory
,NoDatesSafeLoader
PR #1050
- Make
config_file_path
optional inDeepLabCutInterface
PR #1031 - Added
get_stream_names
toOpenEphysRecordingInterface
: PR #1039 - Most data interfaces and converters now use Pydantic to validate their inputs, including existence of file and folder paths. PR #1022
- All remaining data interfaces and converters now use Pydantic to validate their inputs, including existence of file and folder paths. PR #1055
- Using ruff to enforce existence of public classes' docstrings PR #1034
- Separated tests that use external data by modality PR #1049
- Added Unit Table descriptions for phy and kilosort: PR #1053
- Using ruff to enforce existence of public functions's docstrings PR #1062
- Improved device metadata of
IntanRecordingInterface
by adding the type of controller used PR #1059
- Fixed the JSON schema inference warning on excluded fields; also improved error message reporting of which method triggered the error. PR #1037
- Deprecated
WaveformExtractor
usage. PR #821 - Changed the
tools.spikeinterface
functions (e.g.add_recording
,add_sorting
) to have_to_nwbfile
as suffix PR #1015 - Deprecated use of
compression
andcompression_options
inVideoInterface
PR #1005 get_schema_from_method_signature
has been deprecated; please useget_json_schema_from_method_signature
instead. PR #1016neuroconv.utils.FilePathType
andneuroconv.utils.FolderPathType
have been deprecated; please usepydantic.FilePath
andpydantic.DirectoryPath
instead. PR #1017- Changed the
tools.roiextractors
function (e.g.add_imaging
andadd_segmentation
) to have the_to_nwbfile
suffix PR #1017
- Added
MedPCInterface
for operant behavioral output files. PR #883 - Support
SortingAnalyzer
in theSpikeGLXConverterPipe
. PR #821 - Added
TDTFiberPhotometryInterface
data interface, for converting fiber photometry data from TDT file formats. PR #920 - Add argument to
add_electrodes
that grants fine control of what to do with the missing values. As a side effect this drops the implicit casting to int when writing int properties to the electrodes table PR #985 - Add Plexon2 support PR #918
- Converter working with multiple
VideoInterface
instances PR #914 - Added helper function
neuroconv.tools.data_transfers.submit_aws_batch_job
for basic automated submission of AWS batch jobs. PR #384 - Data interfaces
run_conversion
method now performs metadata validation before running the conversion. PR #949 - Introduced
null_values_for_properties
toadd_units_table
to give user control over null values behavior PR #989
- Fixed the default naming of multiple electrical series in the
SpikeGLXConverterPipe
. PR #957 - Write new properties to the electrode table use the global identifier channel_name, group PR #984
- Removed a bug where int64 was casted lossy to float PR #989
- The
OpenEphysBinaryRecordingInterface
now useslxml
for extracting the session start time from the settings.xml file and does not depend onpyopenephys
anymore. PR #971 - Swap the majority of package setup and build steps to
pyproject.toml
instead ofsetup.py
. PR #955 - The
DeeplabcutInterface
now skips inferring timestamps from movie when timestamps are specified, running faster. PR #967 - Improve metadata writing for SpikeGLX data interface. Added contact ids, shank ids and, remove references to shanks for neuropixels 1.0. Also deprecated the previous neuroconv exclusive property "electrode_shank_number` PR #986
- Add tqdm with warning to DeepLabCut interface PR #1006
BaseRecordingInterface
now calls default metadata when metadata is not passing mimickingrun_conversion
behavior. PR #1012- Added
get_json_schema_from_method_signature
which constructs Pydantic models automatically from the signature of any function with typical annotation types used throughout NeuroConv. PR #1016 - Replaced all interface annotations with Pydantic types. PR #1017
- Changed typehint collections (e.g.
List
) to standard collections (e.g.list
). PR #1021 - Testing now is only one dataset per test PR #1026
- The usage of
compression_options
directly through theneuroconv.tools.audio
submodule is now deprecated - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #939 - The usage of
compression
andcompression_opts
directly through theFicTracDataInterface
is now deprecated - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #941 - The usage of
compression
directly through theneuroconv.tools.neo
submodule is now deprecated - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #943 - The usage of
compression_options
directly through theneuroconv.tools.ophys
submodule is now deprecated - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #940 - Removed the option of running
interface.run_conversion
withoutnwbfile_path
argument . PR #951
- Added docker image and tests for an automated Rclone configuration (with file stream passed via an environment variable). PR #902
- Fixed the conversion option schema of a
SpikeGLXConverter
when used inside anotherNWBConverter
. PR #922 - Fixed a case of the
NeuroScopeSortingExtractor
when the optionalxml_file_path
is not specified. PR #926 - Fixed
Can't specify experiment type when converting .abf to .nwb with Neuroconv
. PR #609 - Remove assumption that the ports of the Intan acquisition system correspond to electrode groupings in
IntanRecordingInterface
PR #933 - Add ValueError for empty metadata in
make_or_load_nwbfile
when an nwbfile needs to be created PR #948
- Make annotations from the raw format available on
IntanRecordingInterface
. PR #934 - Add an option to suppress display the progress bar (tqdm) in
VideoContext
PR #937 - Automatic compression of data in the
LightnignPoseDataInterface
has been disabled - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #942 - Port over
dlc2nwb
utility functions for ease of maintenance. PR #946
- Added a skip condition in
get_default_dataset_io_configurations
for datasets with any zero-length axis in theirfull_shape
. PR #894 - Added
packaging
explicitly to minimal requirements. PR #904 - Fixed bug when using
make_or_load_nwbfile
withoverwrite=True
on an existing (but corrupt) HDF5 file. PR #911 - Change error trigger with warning trigger when adding both
OnePhotonSeries
andTwoPhotonSeries
to the same file (Issue #906). PR #907
- Propagated
photon_series_type
toBaseImagingExtractorInterface
init instead of passing it as an argument ofget_metadata()
andget_metadata_schema()
. PR #847 - Converter working with multiple VideoInterface instances PR 914
- Fixed bug causing overwrite of NWB GUIDE watermark. PR #890
- Removed
stream_id
as an argument fromIntanRecordingInterface
. PR #794 - The usage of
compression
andcompression_opts
directly through theneuroconv.tools.spikeinterface
submodule are now deprecated - users should refer to the newconfigure_backend
method for a general approach for setting compression. PR #805 - Dropped the testing of Python 3.8 on the CI. Dropped support for Python 3.8 in setup. PR #853
- Deprecated skip_features argument in
add_sorting
. PR #872 - Deprecate old (v1) iterator from the ecephys pipeline. PR #876
- Added
backend
control to themake_or_load_nwbfile
helper method inneuroconv.tools.nwb_helpers
. PR #800 - Released the first official Docker images for the package on the GitHub Container Repository (GHCR). PR #383
- Support "one-file-per-signal" and "one-file-per-channel" mode with
IntanRecordingInterface
. PR #791 - Added
get_default_backend_configuration
method to allDataInterface
classes. Also added HDF5backend
control to all standalone.run_conversion(...)
methods for those interfaces. PR #801 - Added
get_default_backend_configuration
method to allNWBConverter
classes. Also added HDF5backend
control to.run_conversion(...)
. PR #804 - Released the first official Docker images for the package on the GitHub Container Repository (GHCR). PR #383
- Added
ScanImageMultiFileImagingInterface
for multi-file (buffered) ScanImage format and changedScanImageImagingInterface
to be routing classes for single and multi-plane imaging. PR #809 - Added a function to generate ogen timestamps and data from onset times and parameters to
tools.optogenetics
. PR #832 - Added
configure_and_write_nwbfile
and optimized imports intools.nwb_helpers
module. PR #848 configure_backend
may now apply aBackendConfiguration
to equivalent in-memorypynwb.NWBFile
objects that have different address in RAM. PR #848- Add support for doubled ragged arrays in
add_units_table
PR #879 - Add support for doubled ragged arrays in
add_electrodes
PR #881 - Propagate
ignore_integrity_checks
from neo to IntanRecordingInterface PR #887
- Remove JSON Schema
definitions
from theproperties
field. PR #818 - Fixed writing waveforms directly to file. PR #799
- Avoid in-place modification of the metadata in the
VideoInterface
and on neo tools. PR #814 - Replaced
waveform_extractor.is_extension
withwaveform_extractor.has_extension
. PR #799 - Fixed an issue with
set_aligned_starting_time
for allSortingInterface
's that did not have an initial segment start set (and no recording attached). PR #823 - Fixed a bug with
parameterized
andpytest-xdist==3.6.1
in theScanImageImagingInterface
tests. PR #829 - Added
XX
andXO
to the base metadata schema. PR #833 BaseImagingExtractor.add_to_nwbfile()
is fixed in the case where metadata is not supplied. PR #849- Prevent
SpikeGLXConverterPipe
from setting false properties on the sub-SpikeGLXNIDQInterface
. PR #860 - Fixed a bug when adding ragged arrays to the electrode and units table. PR #870
- Fixed a bug where
write_recording
will call an empty nwbfile when passing a path. PR #877 - Fixed a bug that failed to properly include time alignment information in the output NWB file for objects added from any
RecordingInterface
in combination withstub_test=True
. PR #884 - Fixed a bug that prevented passing
nwbfile=None
and abackend_configuration
toNWBConverter.run_conversion
. PR #885
- Added soft deprecation warning for removing
photon_series_type
fromget_metadata()
andget_metadata_schema()
(in PR #847). PR #866 - Fixed docstrings related to backend configurations for various methods. PR #822
- Added automatic
backend
detection when abackend_configuration
is passed to an interface or converter. PR #840 - Improve printing of bytes. PR #831
- Support for pathlib in source data schema validation. PR #854
- Use
ZoneInfo
instead ofdateutil.tz
in the conversion gallery. PR #858 - Exposed
progress_bar_class
to ecephys and ophys data iterators. PR #861 - Unified the signatures between
add_units
,add_sorting
andwrite_sorting
. PR #875 - Improved descriptions of all folder and file paths in the source schema, useful for rendering in the GUIDE. PR #886
- Added watermark via
source_script
field ofNWBFile
metadata.source_script_file_name
is also required to be specified in this case to avoid invalidation. PR #888 - Remove parsing xml parsing from the
__init__
ofBrukerTiffSinglePlaneImagingInterface
PR #895
- Add general test for metadata in-place modification by interfaces. PR #815
- Fixed writing the
electrodes
field inadd_electrical_series
when multiple groups are present. PR #784
- Upgraded Pydantic support to
>v2.0.0
. PR #767 - Absorbed the
DatasetInfo
model into theDatasetIOConfiguration
model. PR #767 - Keyword argument
field_name
of theDatasetIOConfiguration.from_neurodata_object
method has been renamed todataset_name
to be more consistent with its usage. This only affects direct initialization of the model; usage via theBackendConfiguration
constructor and its associated helper functions inneuroconv.tools.nwb_helpers
is unaffected. PR #767 - Manual construction of a
DatasetIOConfiguration
now requires the fielddataset_name
, and will be validated to match the final path oflocation_in_file
. Usage via the automated constructors is unchanged. PR #767 - Enhance
get_schema_from_method_signature
to extract descriptions from the method docval. PR #771 - Avoid writing
channel_to_uV
andoffset_to_uV
inadd_electrodes
PR #803 BaseSegmentationExtractorInterface
now supports optional background plane segmentations and associated fluorescence traces PR #783
- Removed
.get_electrode_table_json()
on theBaseRecordingExtractorInterface
in favor of GUIDE specific interactions. PR #431 - Removed the
SIPickleRecordingInterface
andSIPickleSortingInterface
interfaces. PR #757 - Removed the
SpikeGLXLFPInterface
interface. PR #757
- LocalPathExpander matches only
folder_paths
orfile_paths
if that is indicated in the passed specification. PR #679 and [PR #675](#679 - Fixed depth consideration in partial chunking pattern for the ROI data buffer. PR #677
- Fix mapping between channel names and the electrode table when writing more than one
ElectricalSeries
to the NWBFile. This fixes an issue when the converter pipeline ofSpikeGLXConverterPipe
was writing the electrode table region of the NIDQ stream incorrectly. PR #678 - Fix
configure_backend
when applied toTimeSeries
contents that leverage internal links fordata
ortimestamps
. PR #732
- Changed the
Suite2pSegmentationInterface
to support multiple plane segmentation outputs. The interface now has aplane_name
andchannel_name
arguments to determine which plane output and channel trace add to the NWBFile. PR #601 - Added
create_path_template
and corresponding tests PR #680 - Added tool function
configure_datasets
for configuring all datasets of an in-memoryNWBFile
to be backend specific. PR #571 - Added
LightningPoseConverter
to add pose estimation data and the original and the optional labeled video added as ImageSeries to NWB. PR #633 - Added gain as a required
__init__
argument forTdtRecordingInterface
. PR #704 - Extract session_start_time from Plexon
plx
recording file. PR #723
nwbinspector
has been removed as a minimal dependency. It becomes an extra (optional) dependency withneuroconv[dandi]
. PR #672- Added a
from_nwbfile
class method constructor to allBackendConfiguration
models. PR #673 - Added compression to
FicTracDataInterface
. PR #678 - Exposed
block_index
to all OpenEphys interfaces. PR #695 - Added support for
DynamicTable
columns in theconfigure_backend
tool function. PR #700 - Refactored
ScanImagingInterface
to reference ROIExtractors' version ofextract_extra_metadata
. PR #731 - Added support for Long NHP probe types for the
SpikeGLXRecorddingInterfacce
. PR #701 - Remove unnecessary duplication of probe setting in
SpikeGLXRecordingInterface
. PR #696 - Added associated suffixes to all interfaces and converters. PR #734
- Added convenience function
get_format_summaries
totools.importing
(and exposed at highest level). PR #734
RecordingExtractorInterfaceTestMixin
now compares eithergroup_name
,group
or a default value ofElectrodeGroup
to thegroup
property in theNWBRecordingExtractor
instead of comparinggroup
togroup
as it was done before PR #736TestScanImageImagingInterfaceRecent
now checks metadata against new roiextractors implementation PR #741.- Removed editable installs from the CI workflow. PR #756
- Added Pydantic data models of
BackendConfiguration
for both HDF5 and Zarr datasets (container/mapper of all theDatasetConfiguration
s for a particular file). PR #568 - Changed the metadata schema for
Fluorescence
andDfOverF
where the traces metadata can be provided as a dict instead of a list of dicts. The name of the plane segmentation is used to determine which traces to add to theFluorescence
andDfOverF
containers. PR #632 - Modify the filtering of traces to also filter out traces with empty values. PR #649
- Added tool function
get_default_dataset_configurations
for identifying and collecting all fields of an in-memoryNWBFile
that could become datasets on disk; and return instances of the Pydantic dataset models filled with default values for chunking/buffering/compression. PR #569 - Added tool function
get_default_backend_configuration
for conveniently packaging the results ofget_default_dataset_configurations
into an easy-to-modify mapping from locations of objects within the file to their correseponding dataset configuration options, as well as linking to a specific backend DataIO. PR #570 - Added
set_probe()
method toBaseRecordingExtractorInterface
. PR #639 - Changed default chunking of
ImagingExtractorDataChunkIterator
to selectchunk_shape
less than the chunk_mb threshold while keeping the original image size. The defaultchunk_mb
changed to 10MB. PR #667
- Fixed GenericDataChunkIterator (in hdmf.py) in the case where the number of dimensions is 1 and the size in bytes is greater than the threshold of 1 GB. PR #638
- Changed
np.floor
andnp.prod
usage tomath.floor
andmath.prod
in various files. PR #638 - Updated minimal required version of DANDI CLI; updated
run_conversion_from_yaml
API function and tests to be compatible with naming changes. PR #664
- Change metadata extraction library from
fparse
toparse
. PR #654 - The
dandi
CLI/API is now an optional dependency; it is still required to use thetool
function for automated upload as well as the YAML-based NeuroConv CLI. PR #655
- The
CEDRecordingInterface
has now been removed; use theSpike2RecordingInterface
instead. PR #602
- Added support for python 3.12 PR #626
- Added
session_start_time
extraction toFicTracDataInterface
. PR #598 - Added
imaging_plane_name
keyword argument toadd_imaging_plane
function to determine which imaging plane to add from the metadata by name instead ofimaging_plane_index
. - Added reference for
imaging_plane
to default plane segmentation metadata. PR #594 - Changed Compass container for Position container in the
FicTracDataInterface
. PR #606 - Added option to write units in meters by providing a radius in
FicTracDataInterface
. PR #606 - Added
parent_container
keyword argument toadd_photon_series
that defines whether to add the photon series to acquisition or 'ophys' processing module. PR #587 - Added Pydantic data models of
DatasetInfo
(immutable summary of core dataset values such as maximum shape and dtype) andDatasetConfiguration
for both HDF5 and Zarr datasets (the optional layer that specifies chunk/buffering/compression). PR #567 - Added alignment methods to
FicTracDataInterface
. PR #607 - Added alignment methods support to
MockRecordingInterface
PR #611 - Added
NeuralynxNvtInterface
, which can read position tracking NVT files. PR #580 - Adding radius as a conversion factor in
FicTracDataInterface
. PR #619 - Coerce
FicTracDataInterface
original timestamps to start from 0. PR #619 - Added configuration metadata to
FicTracDataInterface
. PR #618 - Expose number of jobs to
automatic_dandi_upload
. PR #624 - Added
plane_segmentation_name
keyword argument to determine which plane segmentation to add from the metadata by name instead ofplane_segmentation_index
.plane_segmentation_name
is exposed atBaseSegmentationExtractorInterface.add_to_nwbfile()
function to support adding segmentation output from multiple planes. PR #623 - Added
SegmentationImages
to metadata_schema inBaseSegmentationExtractorInterface
to allow for the modification of the name and description of Images container and description of the summary images. PR #622 - Default chunking pattern of RecordingInterfaces now attempts to use as many channels as possible up to 64 total, and fill with as much time as possible up to the
chunk_mb
. This also required raising the lower HDMF version to 3.11.0 (which introduced 10 MB default chunk sizes). PR #630
- Remove
starting_time
reset to default value (0.0) when adding the rate and updating thephoton_series_kwargs
orroi_response_series_kwargs
, inadd_photon_series
oradd_fluorescence_traces
. PR #595 - Changed the date parsing in
OpenEphysLegacyRecordingInterface
todatetime.strptime
with the expected date format explicitly set to"%d-%b-%Y %H%M%S"
. PR #577 - Pin lower bound HDMF version to
3.10.0
. PR #586
- Removed
use_times
andbuffer_size
fromadd_photon_series
. PR #600
- Adds
MockImagingInterface
as a general testing mechanism for ophys imaging interfaces PR #604.
DeepLabCutInterface
now allows using custom timestamps viaset_aligned_timestamps
method before running conversion. PR #531
- Reorganize timeintervals schema to reside in
schemas/
dir to ensure its inclusion in package build. PR #573
- The
sonpy
package for the Spike2 interface no longer attempts installation on M1 Macs. PR #563 - Fixed
subset_sorting
to explicitly castend_frame
to int to avoid SpikeInterface frame slicing edge case. PR #565
- Exposed
es_key
argument to users where it was previously omitted onMaxOneRecordingInterface
,OpenEphysLegacyRecordingInterface
, andOpenEphysRecordingInterface
. PR #542 - Added deepcopy for metadata in
make_nwbfile_from_metadata
. PR #545 - Fixed edge case in
subset_sorting
whereend_frame
could exceed recording length. PR #551 - Alter
add_electrodes
behavior, no error is thrown if a property is present in the metadata but not in the recording extractors. This allows the combination of recording objects that have different properties. PR #558
- Added converters for Bruker TIF format to support multiple streams of imaging data.
Added
BrukerTiffSinglePlaneConverter
for single plane imaging data which initializes aBrukerTiffSinglePlaneImagingInterface
for each data stream. The available data streams can be checked byBrukerTiffSinglePlaneImagingInterface.get_streams(folder_path)
method. AddedBrukerTiffMultiPlaneConverter
for volumetric imaging data withplane_separation_type
argument that defines whether to load the imaging planes as a volume ("contiguous"
) or separately ("disjoint"
). The available data streams for the definedplane_separation_type
can be checked byBrukerTiffMultiPlaneImagingInterface.get_streams(folder_path, plane_separation_type)
method. - Added FicTrac data interface. PR #517
- Added FicTrac to the conversion gallery and docs API. PR #560
- Propagated additional arguments, such as
cell_id
, from themetadata["Icephys"]["Electrodes"]
dictionary used intools.neo.add_icephys_electrode
. PR #538 - Fixed mismatch between expected
Electrodes
key intools.neo.add_icephys_electrode
and the metadata automatically generated by theAbfInterface
. PR #538
- Create separate
.add_to_nwbfile
method for all DataInterfaces. This is effectively the previous.run_conversion
method but limited to operations on an in-memorynwbfile
: pynwb.NWBFile` object and does not handle any I/O. PR #455
-
Set gzip compression by default on spikeinterface based interfaces
run_conversion
. PR #499 -
Temporarily disabled filtering for all-zero traces in
add_fluorescence_traces
as the current implementation is very slow for nearly all zero traces (e.g. suite2p deconvolved traces). PR #527
-
Added stream control with the
stream_name
argument to theNeuralynxRecordingExtractor
. PR #369 -
Added a common
.temporally_align_data_interfaces
method to theNWBConverter
class to use as a specification of the protocol for temporally aligning the data interfaces of the converter. PR #362 -
Added
CellExplorerRecordingInterface
for adding data raw and lfp data from the CellExplorer format. CellExplorer's new format contains abasename.session.mat
file containing rich metadata about the session which can be used to extract the recording information such as sampling frequency and type and channel metadata such as groups, location and brain area #488 -
CellExplorerSortingInterface
now supports extracting sampling frequency from the new data format. CellExplorer's new format contains abasename.session.mat
file containing rich metadata including the sorting sampling frequency PR #491 and PR #502 -
Added
MiniscopeBehaviorInterface
for Miniscope behavioral data. The interface usesndx-miniscope
extension to add aMiniscope
device with the behavioral camera metadata, and anImageSeries
in external mode that is linked to the device. PR #482CellExplorerSortingInterface
now supports adding channel metadata to the nwbfile withwrite_ecephys_metadata=True
as a conversion option PR #494
-
Added
MiniscopeImagingInterface
for Miniscope imaging data stream. The interface usesndx-miniscope
extension to add aMiniscope
device with the microscope device metadata, and the imaging data asOnePhotonSeries
. PR #468 -
Added
MiniscopeConverter
for combining the conversion of Miniscope imaging and behavioral data streams. PR #498
-
Avoid redundant timestamp creation in
add_eletrical_series
for recording objects without time vector. PR #495 -
Avoid modifying the passed
metadata
structure viadeep_dict_update
inmake_nwbfile_from_metadata
. PR #476
- Added gin test for
CellExplorerRecordingInterface
. CellExplorer's new format contains abasename.session.mat
file containing rich metadata about the session which can be used to extract the recording information such as sampling frequency and type and channel metadata such as groups, location and brain area #488.- Added gin test for
CellExplorerSortingInterface
. CellExplorer's new format contains abasename.session.mat
file containing rich metadata about the session which can be used to extract the recording information such as sampling frequency and type and channel metadata such as groups, location and brain area PR #494.
- Added gin test for
ExtractorInterface
classes now access their extractor with the classmethodcls.get_extractor()
instead of the attributeself.Extractor
. PR #324- The
spikeextractor_backend
option was removed for allRecordingExtractorInterface
classes. (PR #324, PR #309] - The
NeuroScopeMultiRecordingExtractor
has been removed. If your conversion required this, please submit an issue requesting instructions for how to implement it. PR #309 - The
SIPickle
interfaces have been removed. PR #309 - The previous conversion option
es_key
has been moved to the__init__
of allBaseRecordingExtractorInterface
classes. It is no longer possible to use this argument in therun_conversion
method. PR #318 - Change
BaseDataInterface.get_conversion_options_schema
fromclassmethod
to object method. PR #353 - Removed
utils.json_schema.get_schema_for_NWBFile
and moved base metadata schema to external json file. Added constraints to Subject metadata to match DANDI. PR #376 - Duplicate video file paths in the VideoInterface and AudioInterface are no longer silently resolved; please explicitly remove duplicates when initializing the interfaces. PR #403
- Duplicate audio file paths in the AudioInterface are no longer silently resolved; please explicitly remove duplicates when initializing the interfaces. PR #402
- The
OpenEphysRecordingInterface
is now a wrapper forOpenEphysBinaryRecordingInterface
. PR #294 - Swapped the backend for
CellExplorerSortingInterface
fromspikeextactors
tospikeinterface
. PR #267 - In the conversion YAML,
DataInterface
classes must now be specified as a dictionary instead of a list. PR #311 - In the conversion YAML, conversion_options can be specified on the global level. PR #312
- The
OpenEphysRecordingInterface
now redirects to legacy or binary interface depending on the file format. It raises NotImplementedError until the interface for legacy format is added. PR #296 - Added the
OpenEphysLegacyRecordingInterface
to support Open Ephys legacy format (.continuous
files). PR #295 - Added
PlexonSortingInterface
to support plexon spiking data. PR #316 - Changed
SpikeGLXRecordingInterface
to accept either the AP or LF bands as file paths. Each will automatically set the corresepondinges_key
and corresponding metadata for each band or probe. PR #298 - The
OpenEphysRecordingInterface
redirects toOpenEphysLegacyRecordingInterface
for legacy format files instead of raising NotImplementedError. PR #349 - Added a
SpikeGLXConverter
for easy combination of multiple IMEC and NIDQ data streams. PR #292 - Added an
interfaces_by_category
lookup table toneuroconv.datainterfaces
to make searching for interfaces by modality and format easier. PR #352 neuroconv.utils.jsonschema.get_schema_from_method_signature
can now support theDict[str, str]
typehint, which allowsDataInterface.__init__
and.run_conversion
to handle dictionary arguments. PR #360- Added
neuroconv.tools.testing.data_interface_mixins
module, which contains test suites for different types of DataInterfaces PR #357 - Added
keywords
toDataInterface
classes. PR #375 - Uses
open-cv-headless
instead of open-cv, making the package lighter PR #387. - Adds
MockRecordingInterface
as a general testing mechanism for ecephys interfaces PR #395. metadata
returned byDataInterface.get_metadata()
is now aDeepDict
object, making it easier to add and adjust metadata. PR #404.- The
OpenEphysLegacyRecordingInterface
is now extracts thesession_start_time
inget_metadata()
fromNeo
(OpenEphysRawIO
) and does not depend onpyopenephys
anymore. PR #410 - Added
expand_paths
. PR #377 - Added basic temporal alignment methods to ecephys, ophys, and icephys 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 PR #283 PR #400 - Added basic temporal alignment methods to the SLEAPInterface. Added holistic per-interface, per-method unit testing for ecephys and ophys interfaces. PR #401
- Added
expand_paths
. PR #377, PR #448 - Added
.get_electrode_table_json()
to theBaseRecordingExtractorInterface
as a convenience helper for the GUIDE project. PR #431 - Added
BrukerTiffImagingInterface
to support Bruker TIF imaging data. This format consists of individual TIFFs (each file contains a single frame) in OME-TIF format (.ome.tif files) and metadata in XML format (.xml file). PR #390 - Added
MicroManagerTiffImagingInterface
to support Micro-Manager TIF imaging data. This format consists of multipage TIFFs in OME-TIF format (.ome.tif files) and configuration settings in JSON format ('DisplaySettings.json' file). PR #423 - Added a
TemporallyAlignedDataInterface
definition for convenience when creating a custom interface for pre-aligned data. PR #434 - Added
write_as
,units_name
,units_description
toBaseSortingExtractorInterface
run_conversion
method to be able to modify them in conversion options. PR #438 - Added basic temporal alignment methods to the VideoInterface. These are
align_starting_time
is split intoalign_starting_times
(list of times, one per video file) andalign_global_starting_time
(shift all by a scalar amount).align_by_interpolation
is not yet implemented for this interface. PR #283 - Added stream control for the
OpenEphysBinaryRecordingInterface
. PR #445 - Added the
BaseTemporalAlignmentInterface
to serve as the new base class for all new temporal alignment methods. PR #442 - Added direct imports for all base classes from the outer level; you may now call
from neuroconv import BaseDataInterface, BaseTemporalAlignmentInterface, BaseExtractorInterface
. PR #442 - Added basic temporal alignment methods to the AudioInterface.
align_starting_time
is split intoalign_starting_times
(list of times, one per audio file) andalign_global_starting_time
(shift all by a scalar amount).align_by_interpolation
and other timestamp-based approaches is not yet implemented for this interface. PR #402 - Changed the order of recording properties extraction in
NeuroscopeRecordingInterface
andNeuroScopeLFPInterface
to make them consistent with each other PR #466 - The
ScanImageImagingInterface
has been updated to read metadata from more recent versions of ScanImage PR #457 - Refactored
add_two_photon_series()
toadd_photon_series()
and addedphoton_series_type
optional argument which can be either"OnePhotonSeries"
or"TwoPhotonSeries"
. Changedget_default_ophys_metadata()
to addDevice
andImagingPlane
metadata which are both used by imaging and segmentation. Addedphoton_series_type
toget_nwb_imaging_metadata()
to fill metadata forOnePhotonSeries
orTwoPhotonSeries
. PR #462 - Split
align_timestamps
andalign_starting_times
intoalign_segment_timestamps
andalign_segment_starting_times
for API consistency for multi-segmentRecordingInterface
s. PR #463 - Rename
align_timestamps
andalign_segmentt_timestamps
intoset_aligned_timestamps
andset_aligned_segment_timestamps
to more clearly indicate their usage and behavior. PR #470
- The tests for
automatic_dandi_upload
now follow up-to-date DANDI validation rules for file name conventions. PR #310 - Deactivate
MaxOneRecordingInterface
metadata tests [PR #371]((#371) - Integrated the DataInterface testing mixin to the SLEAP Interface. PR #401
- Added holistic per-interface, per-method unit testing for ecephys and ophys interfaces. PR #283
- Live service tests now run in a separate non-required GitHub action. [PR #420]((#420)
- Integrated the
DataInterfaceMixin
class of tests to theVideoInterface
. PR #403 - Add
generate_path_expander_demo_ibl
and associated test forLocalPathExpander
PR #456 - Improved testing of all interface alignment methods via the new
TemporalAlignmentMixin
class. PR #459
BlackrockRecordingInterface
now writes all ElectricalSeries to "acquisition" unless changed using thewrite_as
flag inrun_conversion
. PR #315- Excluding Python versions 3.8 and 3.9 for the
EdfRecordingInterface
on M1 macs due to installation problems. PR #319 - Extend type array condition in
get_schema_from_hdmf_class
for dataset types (excludes that are DataIO). PR #418 - The
base_directory
argument to allPathExpander
classes can now accept string inputs as well asPath
inputs. PR #427 - Fixed the temporal alignment methods for the
RecordingInterfaces
which has multiple segments. PR #411 - Fixes to the temporal alignment methods for the
SortingInterface
, both single and multi-segment and recordingless. PR #413 - Fixes to the temporal alignment methods for the certain formats of the
RecordingInterface
. PR #459 - Fixes the naming of LFP interfaces to be
ElectricalSeriesLFP
instead ofElectricalSeriesLF
. PR #467 - Fixed an issue with incorrect modality-specific extra requirements being associated with certain behavioral formats. PR #469
- The instructions to build the documentation were moved to ReadTheDocs. PR #323
- Move testing instructions to ReadTheDocs. PR #320
- Moved NeuroConv catalogue from ReadMe.md to ReadTheDocs. PR #322
- Moved instructions to build the documentation from README.md to ReadTheDocs. PR #323
- Add
Spike2RecordingInterface
to conversion gallery. PR #338 - Remove authors from module docstrings PR #354
- Add examples for
LocalPathExpander
usage PR #456 - Add better docstrings to the aux functions of the Neuroscope interface PR #485
- Change name from
CedRecordingInterface
toSpike2RecordingInterface
. PR #338
- Use
Literal
in typehints (incompatible with Python<=3.8). PR #340 BaseDataInterface.get_source_schema
modified so it works for.__init__
and.__new__
. PR #374
- 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
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 specify 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
MaxOneRecordingInterface
for writing data stored in MaxOne (.raw.h5) format. PR #222 - Added the
MCSRawRecordingInterface
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 issue 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 initialized 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 compression 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.