Skip to content

Latest commit

 

History

History
133 lines (106 loc) · 5.84 KB

0.97.0.rst

File metadata and controls

133 lines (106 loc) · 5.84 KB

SpikeInterface 0.97.0 release notes

10th February 2023

Main change:

  • Implemented "sparse" waveforms in core and propagated to all modules (#1079, #1136, #1152):

    • Add waveform extractor save() function and Zarr backend (#1079)
    • Dense waveforms can be saved as sparse with the save() function
    • Sparse waveforms can be extracted directly with sparse=True
  • Added IBL preprocessing tools for Neuropixels (#1025, #1059, #1070):

    • Bad channel detection
    • Channel interpolation
    • High-pass spatial filter
  • Add subfolder for sorter output ("output_folder/sorter_output") and sorting_info field to Sorting,
    so that "sorter_output" can be deleted without deleting metadata and sorting_info (#1149, #1150)
  • Refactor Quality Metrics module (#1155, #1177, #1197):

    • Improve parameter handling
    • Unified naming and conventions
    • Add missing metrics: drift, amp medians, sliding_rp_violations
  • Extended Motion estimation and motion correction, which is now ready to use (#1129, #1108, #1183)

  • Removed deprecated functions/modules (#1261):

    • toolkit module
    • symmetrize argument from compute_correlograms
    • localize_units from postprocessing
  • Major rewrite of the docs, with extensive module-specific documentation (#1264, #1265, #1267, #1268, #1269, #1273, #1275, #1276, #1277, #1281, #1284, #1285, #1287, #1288, #1291)

core:
  • Added possibility of extracting unfiltered waveforms (#1046)
  • Prefer folder` argument and make zarr_path` deprecated in save() function (#1049)
  • Fix bug 'int16' is not a JSON serializable (#1069)
  • Add waveform extractor save() function and Zarr backend (#1079)
  • ChunkRecordingExecutor: add max_thread_per_process to limit the number of thread using the module threadpool_limits (#1086)
  • Correct channel selection in tests when mono-channel recording (#1096)
  • Add split_job_kwargs() function (#1110)
  • Improve handling of not dumpable objects (#1131)
  • Implement ChannelSparsity object in core (#1136)
  • Handle sparsity inside WaveformExtractor (#1152)
  • Use absolute folder in NpySnippetsFolder (#1171)
  • Add global_job_kwargs functions (#1176)
  • Propagate probe annotations to recording (#1208)
  • Serialization for recording and sorting objects (#1227)
  • Extend WaveformExtractor rec_attributes and propagate recordingless mode (#1258)
  • Improve serialization (#1227, #1272)
extractors:
  • NWBRecordingExtractor offset extraction (#1057)
  • fsspec for streaming NWB data (#1090)
  • Optimizing Phy-based extractors (#1153)
  • Add CellExplorerSortingExtractor (#1158)
  • Fix neuralynx sorting function and NeoBaseSorting when no streams (#1171)
  • Add option to load synchronized timestamps in OpenEphys (#1198)
  • Streaming IBL recordings (#1204, #1251)
  • Load phy properties from cluster_info.csv (#1210)
  • Fix the sample_shifts for spikeglx when not all channel are saved (#1232)
preprocessing:
  • Add IBL channel interpolation to preprocessing (#1025)
  • Add IBL high pass spatial filter to preprocessing (#1059)
  • Add IBL bad channel detection (#1070)
  • Add get_spatial_interpolation_kernel in preprocessing (#1074)
  • Add median/average artefact modes to remove_artifacts (#1106, #1143, #1250)
  • Fix phase-shift dtype (#1172)
  • Add correct_lsb function (#1262)
sorters:
  • Refactor sorter_output folder to keep sorting metadata (#1149)
  • Add sorting_info property to Sorting object (#1150)
  • Set n_jobs to -1 for sorters to propagate global job kwargs (#1207)
  • Added sample2volt for IBL version of pykilosort (#1211)
  • Correctly find parent folders for concatenate recording/sorting objects (#1230)
postprocessing:
  • Fix template_metrics select_units() and extend postprocessing tests (#1112)
  • Support recordingless mode for PCA (#1132)
  • Improve Phy+PCA sparsity handling (#1133)
  • More flexibility to auto merge function (#1135)
  • Fix template metrics for sparse waveforms (#1196)
  • Noise level as a waveform extractor extension (#1221)
qualitymetrics:
  • Refactor amplitude_cutoff and presence_ratio metrics (#1142)
  • Refactor QM parameter handling (#1155)
  • Implement missing metrics (amplitude median, drift metrics) (#1177)
  • Add sliding RP violations IBL metric (#1197)
  • Quality metrics and postprocessing fixes for sparsity and global job_kwargs (#1199)
  • Protect against QM returning None (#1224)
comparison:
  • Fix networkx deprecation and clean up comparison tests cache (#1189)
curation:
  • Fixed bug in remove_duplicated_spikes with 'random' method (#1061)
  • Added metadata copy from parent in RemoveDuplicatedSpikesSorting and AlignSortingExtractor (#1067)
  • Add option to return redundant pairs in remove_redundant_units (#1078)
  • Allow apply_sortingview_curation to load json curation files directly (#1104)
  • Improve MergeUnitsSorting to have several merge at the same time (#1244)
widgets:
  • Increase sv timeresies tile-size (#1101)
  • Updates for SV sorting summmary (#1165)
  • Promote distinctipy color as a second choice because it is slow (#1222)
sortingcomponents:
  • Refactor detect_peak() and refactor method_kwargs in components (#1105)
  • Port kilosort motion estimation (iterative_template registration) (#1108)
  • Refactor motion estimation (#1183)
  • Initial refactoring for node pipeline (#1209, #1271)
  • Fix gaussian computation in motion (#1257)
docs:
  • Fix broken spikeinterface-gui links (#1072)
  • Enhance docker docs (#1081, #1087)
  • Refactor docs (#1264, #1265, #1267, #1268, #1269, #1273, #1275, #1276, #1277, #1281, #1284, #1285, #1287, #1288, #1291)
ci:
  • Fix CI python version (#1141)
  • Fix code coverage and ignore skipped sorters (#1220)
  • Time report for full tests (#1297, #1299)