Skip to content

Releases: catalystneuro/neuroconv

v0.6.5

01 Nov 21:17
Compare
Choose a tag to compare

v0.6.5 (November 1, 2024)

Deprecations

Bug Fixes

Features

  • 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 to EDFRecordingInterface so the user can skip non-neural channels PR #1110

Improvements

  • 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

v0.6.4

17 Sep 22:58
Compare
Choose a tag to compare

v0.6.4 (September 17, 2024)

Bug Fixes

  • 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 for MockImagingInterface 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

Deprecations

Features

  • 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

Improvements

  • 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

v0.6.3

10 Sep 17:44
Compare
Choose a tag to compare

Same as v0.6.2. Testing automatic upload

v0.6.2

10 Sep 17:21
Compare
Choose a tag to compare

v0.6.2 (September 10, 2024)

Deprecations

  • The following classes and objects are now private NWBMetaDataEncoder, NWBMetaDataEncoder, check_if_imaging_fits_into_memory, NoDatesSafeLoader PR #1050

Bug Fixes

  • Fixed a bug where IntanRecordingInterface added two devices PR #1059
  • Fix a bug in add_sorting_to_nwbfile where unit_electrode_indices was only propagated if waveform_means was passed PR #1057

Features

  • Make config_file_path optional in DeepLabCutInterfacePR #1031
  • Added get_stream_names to OpenEphysRecordingInterface: 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

Improvements

  • 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

v0.6.1

30 Aug 15:03
Compare
Choose a tag to compare

v0.6.1 (August 30, 2024)

Bug fixes

  • Fixed the JSON schema inference warning on excluded fields; also improved error message reporting of which method triggered the error. PR #1037

v0.6.0

27 Aug 22:16
Compare
Choose a tag to compare

v0.6.0 (August 27, 2024)

Deprecations

  • Deprecated WaveformExtractor usage. PR #821
  • Changed the spikeinterface.tool functions (e.g. add_recording, add_sorting) to have _to_nwbfile as suffix PR #1015
  • Deprecated use of compression and compression_options in VideoInterface PR #1005
  • get_schema_from_method_signature has been deprecated; please use get_json_schema_from_method_signature instead. PR #1016
  • neuroconv.utils.FilePathType and neuroconv.utils.FolderPathType have been deprecated; please use pydantic.FilePath and pydantic.DirectoryPath instead. PR #1017
  • Changed the roiextractors.tool function (e.g. add_imaging and add_segmentation) to have the _to_nwbfile suffix [PR #1027]PR #1017

Features

  • Added MedPCInterface for operant behavioral output files. PR #883
  • Support SortingAnalyzer in the SpikeGLXConverterPipe. 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 to add_units_table to give user control over null values behavior PR #989

Bug fixes

  • 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

Improvements

  • The OpenEphysBinaryRecordingInterface now uses lxml for extracting the session start time from the settings.xml file and does not depend on pyopenephys anymore. PR #971
  • Swap the majority of package setup and build steps to pyproject.toml instead of setup.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 mimicking run_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

v0.5.0

17 Jul 20:25
af91f09
Compare
Choose a tag to compare

v0.5.0 (July 17, 2024)

Deprecations

  • The usage of compression_options directly through the neuroconv.tools.audio submodule is now deprecated - users should refer to the new configure_backend method for a general approach for setting compression. PR #939
  • The usage of compression and compression_opts directly through the FicTracDataInterface is now deprecated - users should refer to the new configure_backend method for a general approach for setting compression. PR #941
  • The usage of compression directly through the neuroconv.tools.neo submodule is now deprecated - users should refer to the new configure_backend method for a general approach for setting compression. PR #943
  • The usage of compression_options directly through the neuroconv.tools.ophys submodule is now deprecated - users should refer to the new configure_backend method for a general approach for setting compression. PR #940
  • Removed the option of running interface.run_conversion without nwbfile_path argument . PR #951

Features

  • Added docker image and tests for an automated Rclone configuration (with file stream passed via an environment variable). PR #902

Bug fixes

  • Fixed the conversion option schema of a SpikeGLXConverter when used inside another NWBConverter. PR #922
  • Fixed a case of the NeuroScopeSortingExtractor when the optional xml_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

Improvements

  • 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 new configure_backend method for a general approach for setting compression. PR #942
  • Port over dlc2nwb utility functions for ease of maintenance. PR #946

v0.4.11

14 Jun 15:48
eda1b42
Compare
Choose a tag to compare

v0.4.11 (June 14, 2024)

Bug fixes

  • Added a skip condition in get_default_dataset_io_configurations for datasets with any zero-length axis in their full_shape. PR #894
  • Added packaging explicitly to minimal requirements. PR #904
  • Fixed bug when using make_or_load_nwbfile with overwrite=True on an existing (but corrupt) HDF5 file. PR #911
  • Change error trigger with warning trigger when adding both OnePhotonSeries and TwoPhotonSeries to the same file (Issue #906). PR #907

Improvements

  • Propagated photon_series_type to BaseImagingExtractorInterface init instead of passing it as an argument of get_metadata() and get_metadata_schema(). PR #847

v0.4.10

06 Jun 23:49
35202bd
Compare
Choose a tag to compare

v0.4.10 (June 6, 2024)

Bug fixes

  • Fixed bug causing overwrite of NWB GUIDE watermark. PR #890

v0.4.9

05 Jun 18:04
ea15bc4
Compare
Choose a tag to compare

v0.4.9 (June 5, 2024)

Deprecations

  • Removed stream_id as an argument from IntanRecordingInterface. PR #794
  • The usage of compression and compression_opts directly through the neuroconv.tools.spikeinterface submodule are now deprecated - users should refer to the new configure_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

Features

  • Added backend control to the make_or_load_nwbfile helper method in neuroconv.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 all DataInterface classes. Also added HDF5 backend control to all standalone .run_conversion(...) methods for those interfaces. PR #801
  • Added get_default_backend_configuration method to all NWBConverter classes. Also added HDF5 backend 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 changed ScanImageImagingInterface 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 in tools.nwb_helpers module. PR #848
  • configure_backend may now apply a BackendConfiguration to equivalent in-memory pynwb.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

Bug fixes

  • Remove JSON Schema definitions from the properties 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 with waveform_extractor.has_extension. PR #799
  • Fixed an issue with set_aligned_starting_time for all SortingInterface's that did not have an initial segment start set (and no recording attached). PR #823
  • Fixed a bug with parameterized and pytest-xdist==3.6.1 in the ScanImageImagingInterface tests. PR #829
  • Added XX and XO 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 with stub_test=True. PR #884
  • Fixed a bug that prevented passing nwbfile=None and a backend_configuration to NWBConverter.run_conversion. PR #885

Improvements

  • Fixed docstrings related to backend configurations for various methods. PR #822
  • Added automatic backend detection when a backend_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 of dateutil.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 and write_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 of NWBFile metadata. source_script_file_name is also required to be specified in this case to avoid invalidation. PR #888

Testing

  • Add general test for metadata in-place modification by interfaces. PR #815