Skip to content

Latest commit

 

History

History
208 lines (187 loc) · 9.27 KB

0.98.0.rst

File metadata and controls

208 lines (187 loc) · 9.27 KB

SpikeInterface 0.98.0 release notes

7th July 2023

Main changes:

  • Implemented motion correction in SpikeInterface
  • Get rid of to_dict in _kwargs and use JSON serializer
  • _ind to _index in complex dtype representation
  • Moved to src/spikeinterface structure
  • Reformat to black and use pre-commit CI
core:
  • Fix bug in generate_erroneous_sorting and add docstring (#1433)
  • Add GeneratorRecording for testing and diagnosing memory issues (#1391)
  • Add specialized JsonEncoder for writing to json (#1397)
  • Change default value for end_frame in FrameSliceSorting (#1425)
  • Add memory to recording __repr__ (#1452)
  • Implement sorting concatenation (#1419)
  • Remove to_dict mechanism from core module (#1462, #1508, #1509)
  • Add gather_func concept to ChunkRecordingExecutor. (#1357)
  • Version mismatch: print --> warning (#1504)
  • Allow option to compute noise with std (#1548)
  • Extend load_extractor to load zarr and fix zarr annotations (#1567)
  • Add pure white noise generation to generator recording (#1581)
  • Force_dense mode for waveforms and templates (#1599)
  • Allow to set the recording of WaveformExtractor (#1543)
  • Richer Recording representations (#1591)
  • Fix generator recording (#1606)
  • rec_attributes None in Wvf extractor set_recording (#1607)
  • Adding ptp sparsity (#1656)
  • Simplify define_function_from_class (#1612)
  • Fix pickle loading (#1674)
  • Cleaner WaveformExtractor.run_extract_waveforms (#1665)
  • Remove verbose from write_binary_recording (#1697)
  • Remove unecessary try-except for shared memory (#1700)
  • Expand recursive to dump_to_pickle (#1728)
  • Fixes to_dict(recursive) that isn't recursive (#1732)
  • Fix bug with to_dict(recurvise, relative_to) (#1734)
  • Propagate get_times_kwargs to BaseRecording (#1746)
  • Fix SharedMem warning/errors (#1704)
  • Caching noise levels (#1583)
  • Make binary recording memmap efficient (#1742, #1602)
  • Remove zero pad samples from write_binary_recorder (#1750)
  • Refactor to_dict() to allow recursive dict expansion in BaseExtractor (#1762)
  • num_chan to num_channels in BinaryRecordingExtractor (#1754)
  • Fix sampling_frequency_max_diff kwarg for recording concat (#1770)
  • Optional check_spike_frames in sorting.frame_slice (#1771)
  • Add _is_json_serializable to extractor (#1775)
  • Fixed num_chan warning (#1776)
  • Check probe in waveform extractor and add has_probe method (#1777, #1788)
extractors:
  • Various Blackrock fixes (#1404)
  • Fix in PhyKilosortSortingExtractor (#1453)
  • Propagate use_names_as_ids to Intan extractor (#1422)
  • NWBRecordingExtractor: retrieve max number of channels given by electrical series (#1492)
  • Add original_cluster_id to PhySortingExtractor (#1518)
  • Remove insecure eval for importlib in neo extractors (#1551)
  • Refactor nwb extractor (#1513)
  • Update mearec recording and sorting to read only required data (#1550)
  • Adapt CellExplorerSortingExtractor to new format (#1628)
  • Fix CBIN slicing (#1680)
  • Allow PhyExtractor to handle splits from Phy (#1718)
  • Add original folder to phy extractor (#1723)
  • Add xml_file_path option to Neuroscope (#1687)
  • Make NWB imports lazy (#1675)
  • Neo sorting refactor (#1626)
  • Exclude end_frame in PhyKilosort get_unit_spike_train (#1772)
  • Simplify CellExplorer sorting with pymat reader (#1780)
  • Kilosort does not return empty units by default (#1783)
  • Remove 'is_writable' and 'has_default_locations' (#1789)
preprocessing:
  • Fix typo in class ClipRecording (#1430)
  • Remove to_dict mechanism in pre-processing (#1446)
  • Add some preprocessing tools (general and LFP-oriented) (#1415)
  • Improve whitening and zscore arguments (#1437)
  • Silence interval (#1310)
  • Gaussian filter implementation (#973)
  • Fixed wrong inter_sample_shift for NP1.0 AP channels (#1511)
  • Fixed IndexError when interpolating artifacts (#1549)
  • Match IBL highpass spatial filtering more closely (#1589)
  • More LFP-oriented preprocessing tools (#1673)
  • Deal with unsigned int to int conversion (#1707)
  • Add preprocessing for padding traces (#1706)
  • High level function for drift : correct_motion() (#1300)
sorters:
  • Add channel_labels to Probe bunch for pykilosort (#1435)
  • Add mountainsort5 sorter (#1519)
  • Save motion and skip preprocessing option in Kilosort2.5 (#1418)
  • Added cleanup of temp files after Kilosort run (#1709)
  • Point to correct folder to get runtime_trace from sorter (#1743)
  • Add recursive=True when caching objects before container (#1698)
  • Fix KS padded recording (#1766)
  • Make recording JSON relative_to output_folder default for BaseSorter (#1753)
  • Deprecate run_*** functions (#1768)
postprocessing:
  • Remove to_dict in postprocessing module (#1455)
  • Check wvf_extractor with recording for spike amplitudes (#1545)
  • Add amplitude_scaling implementation (#1503)
  • Fix cosine similarity matrix in TemplateComparison (#1701)
  • Pass tmp_folder as parameter for compute_principal_components (#1762)
qualitymetrics:
  • Add min_spikes to slidingRP_violations (support unit with no spike) (#1439)
  • Add mean_fr_ratio_thresh kwarg to presence_ratio metric (#1420)
  • Add min_fr kwarg to nn_isolation and nn_noise_overlap (#1443)
  • Return nn_unit_id along with nn_isolation (#1500)
  • NN metrics performance: Compute we n_spikes/fr out of main_loop (#1499)
  • Add silhouette score quality metric (#1517)
  • Fix bug in contamination if unit is empty (#1544)
  • Change v_peak name and thresholder behavior (#1580)
  • Fix dtype bug in Windows for spost.compute_refrac_period_violations (#1613)
  • Handle empty units in quality metrics (#1783)
comparison:
  • Remove to_dict() mechanism in comparisons module (#1461)
  • Fix MultiSortingComparison._populate_spiketrains to prevent overwriting agreement sorting spiketrains (#1560)
curation:
  • Remove to_dict mechanism in curation module (#1456)
  • Add pairs with decreased score to auto_merge output (#1604)
  • Allow new_unit_id to be same id in CurationSorting.merge (#1658)
  • Use censored_period when merging units in scur.merge_units (#1657)
  • Fixed crash when loading MergeUnitsSorting (#1671)
  • Add censorship of correlograms in scur.auto_merge (#1659)
  • Fixed bug in remove_duplicated_spikes (#1711)
  • Optimization of curation.RemoveExcessSpikeSorting (#1714)
  • Fix bug in auto_merge with no units (#1733)
  • Fix crash in CurationSorting with empty sorting (#1738)
exporters:
  • Fix crash in export_to_phy (#1539)
  • Take care of BinaryFolderRecording in export_to_phy (#1716)
widgets:
  • Hide Y axis when plot_timeseries without channel labels (#1475)
  • Fix sortingview timeseries bug (#1460)
  • Update SV curation mechanism (#1416)
  • Fix Sortingview scalebar (#1507)
  • Fixes plot_unit_waveforms bug (#1578)
  • Fix SV plot_templates when unit ids are integers (#1676)
  • Patch for spikes_on_traces (#1726)
sortingcomponents:
  • Add a savgol denoiser for the waveforms (#1414)
  • Localization from templates (#1474)
  • Refactor detect_peak() (#1486)
  • Add a WaveformThresholder (#1502)
  • Choices of Feature for the monopolar triangulation (#1510)
  • Change _ind for _index in peak_dtype for sortingcomponents (#1534, #1535, #1556, #1558, #1571)
  • Refactor detect peak tests without testing recall (#1564)
  • Fix torch detector for case when non peaks are found (#1572)
  • Sign consistency test in peak detection (#1574)
  • Add iterative peak detection (#1563)
  • Template matching bug (#1611)
  • Adding percentile as an option for grid localization (#1587)
  • Add New Benchmarks for Matching (#1625)
  • Template Matching Method from Paninski Lab (#1448)
  • Benchmark motion (#1438)
docs:
  • Add Numba to requirements of spykingcircus2 in the documentation (#1445)
  • Improve Documentation (#1471)
  • Typo in aggregation section (#1477)
  • Updated OpenEphysBinaryRecordingExtractor doc (#1449, #1451)
  • Improve Documentation VI (Docstrings + Asserts) (#1501)
  • Improve installation instructions (#1540)
  • Fix wrong path in read the docs (#1555)
  • Add development section to docs (#1577)
  • Update Docstrings I (Widgets Module) (#1598)
  • Documentation-Fix RST formatting Typos (#1655)
  • Typo in NumpyExtractor.from_dict doc (#1664)
  • Extend waveform docs to cover 'portability' (#1634)
  • Install python-neo and probeinterface from main in docs (#1677)
  • Add wobble to the docs (#1686)
  • Update doc merge_units (#1749)
  • Add docs on SI version in cointainer #1786
ci / packaging / tests:
  • Use full tests with code coverage for build status in README.md (#1442)
  • Update pyproject.toml to include numba in full installation (1573)
  • Set line-length to 120 and reformat black (#1488)
  • Refactor package installation in CI (#1516)
  • Refactor CI tests (#1532, #1533, #1531, #1529)
  • Warning that setup.py is legacy (#1524)
  • Use latest version of neo in tests (#1505)
  • Make gin-data-caches great again (#1552)
  • Fix path in singularity tests (#1569)
  • Check extractor properties (#1562)
  • Testing and profiling imports (#1597)
  • Add pre-commit-config file (#1632)
  • Black formatting (#1633, #1645)
  • Enable filtering warnings for distutils and imp (#1635)
  • Refactor clustering tests (#1620)
  • Refactor write_binary_recording tests (#1668)
  • Add docker container tests (#1764)
  • Add GPU container tests (#1767)