spikeinterface 0.100.4__tar.gz → 0.100.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {spikeinterface-0.100.4/src/spikeinterface.egg-info → spikeinterface-0.100.6}/PKG-INFO +3 -3
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/pyproject.toml +3 -3
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/core_tools.py +3 -1
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/waveform_tools.py +3 -1
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/remove_excess_spikes.py +4 -2
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/openephys.py +6 -5
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/nwbextractors.py +2 -1
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort4.py +17 -68
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/mountainsort5.py +25 -21
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/spikes_on_traces.py +1 -2
- {spikeinterface-0.100.4 → spikeinterface-0.100.6/src/spikeinterface.egg-info}/PKG-INFO +3 -3
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface.egg-info/requires.txt +2 -2
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/LICENSE +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/README.md +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/setup.cfg +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/setup.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/basecomparison.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/collision.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/comparisontools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/correlogram.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/groundtruthstudy.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/hybrid.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/multicomparisons.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/paircomparisons.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/base.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/baseevent.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/baserecording.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/baserecordingsnippets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/basesnippets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/basesorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/binaryfolder.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/binaryrecordingextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/channelsaggregationrecording.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/channelslice.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/datasets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/frameslicerecording.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/frameslicesorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/generate.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/globals.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/job_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/node_pipeline.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npyfoldersnippets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npysnippetsextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npzfolder.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npzsortingextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/numpyextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/old_api_utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/recording_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/segmentutils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/snippets_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/sorting_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/sortingfolder.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/sparsity.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/template.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/template_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/testing.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/testing_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/unitsaggregationsorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/unitsselectionsorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/waveform_extractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/zarrextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/zarrrecordingextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/auto_merge.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/curation_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/curationsorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/mergeunitssorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/remove_duplicated_spikes.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/remove_redundant.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/sortingview_curation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/splitunitsorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/exporters/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/exporters/report.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/exporters/to_phy.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/alfsortingextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/bids.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/cbin_ibl.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/cellexplorersortingextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/combinatoextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/extractorlist.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/hdsortextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/herdingspikesextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/iblstreamingrecording.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/klustaextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/matlabhelpers.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/mclustextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/mcsh5extractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/mdaextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/alphaomega.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/axona.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/biocam.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/blackrock.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/ced.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/edf.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/intan.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/maxwell.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/mcsraw.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/mearec.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/neo_utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/neobaseextractor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/neuralynx.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/neuroexplorer.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/neuroscope.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/nix.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/plexon.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/plexon2.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/spike2.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/spikegadgets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/spikeglx.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neoextractors/tdt.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/neuropixels_utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/phykilosortextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/shybridextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/spykingcircusextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/toy_example.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/tridesclousextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/waveclussnippetstextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/waveclustextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/yassextractors.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/full.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/generation/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/generation/drift_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/alignsorting.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/amplitude_scalings.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/correlograms.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/isi.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/noise_level.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/principal_component.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/spike_amplitudes.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/spike_locations.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/template_metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/template_similarity.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/postprocessing/unit_localization.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/align_snippets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/astype.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/average_across_direction.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/basepreprocessor.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/clip.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/common_reference.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/correct_lsb.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/decimate.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/deepinterpolation/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/deepinterpolation/deepinterpolation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/deepinterpolation/generators.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/deepinterpolation/tf_utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/deepinterpolation/train.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/depth_order.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/detect_bad_channels.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/directional_derivative.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/filter.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/filter_gaussian.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/filter_opencl.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/highpass_spatial_filter.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/interpolate_bad_channels.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/motion.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/normalize_scale.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/phase_shift.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/preprocessing_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/preprocessinglist.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/rectify.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/remove_artifacts.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/resample.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/silence_periods.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/unsigned_to_signed.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/whiten.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/preprocessing/zero_channel_pad.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/misc_metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/pca_metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/quality_metric_calculator.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/quality_metric_list.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/qualitymetrics/utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/basesorter.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/container_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/combinato.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/hdsort.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/hdsort_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/herdingspikes.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/ironclust.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort2.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort2_5.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort2_5_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort2_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort3.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort3_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosortbase.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/klusta.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/klusta_config_default.prm +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/mountainsort4.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/pykilosort.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/sc_config_default.params +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/spyking_circus.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/tridesclous.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/waveclus.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/waveclus_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/waveclus_snippets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/waveclus_snippets_master.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/yass.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/yass_config_default.yaml +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/internal/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/internal/si_based.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/internal/spyking_circus2.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/internal/tridesclous2.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/launcher.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/runsorter.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/sorterlist.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/utils/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/utils/constructNPYheader.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/utils/misc.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/utils/shellscript.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/utils/writeNPY.m +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_clustering.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_matching.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_motion_estimation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_motion_interpolation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_peak_localization.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_peak_selection.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/benchmark/benchmark_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/circus.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/clean.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/clustering_tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/dummy.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/isocut5.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/main.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/merge.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/method_list.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/position.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/position_and_features.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/position_and_pca.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/position_ptp_scaled.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/random_projections.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/sliding_hdbscan.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/sliding_nn.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/split.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/clustering/triage.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/features_from_peaks.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/circus.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/main.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/method_list.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/naive.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/tdc.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/matching/wobble.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/motion_estimation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/motion_interpolation.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/peak_detection.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/peak_localization.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/peak_pipeline.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/peak_selection.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/tools.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/neural_network_denoiser.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/savgol_denoiser.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/temporal_pca.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/waveform_thresholder.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sortingcomponents/waveforms/waveform_utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/__init__.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/all_amplitudes_distributions.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/amplitudes.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/autocorrelograms.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/base.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/collision.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/comparison.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/crosscorrelograms.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/gtstudy.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/isi_distribution.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/motion.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/multicomparison.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/peak_activity.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/probe_map.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/quality_metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/rasters.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/sorting_summary.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/spike_locations.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/template_metrics.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/template_similarity.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/traces.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_depths.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_locations.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_presence.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_probe_map.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_summary.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_templates.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_waveforms.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/unit_waveforms_density_map.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/utils.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/utils_ipywidgets.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/utils_matplotlib.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/utils_sortingview.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/widget_list.py +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface.egg-info/SOURCES.txt +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface.egg-info/dependency_links.txt +0 -0
- {spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: spikeinterface
|
|
3
|
-
Version: 0.100.
|
|
3
|
+
Version: 0.100.6
|
|
4
4
|
Summary: Python toolkit for analysis, visualization, and comparison of spike sorting output
|
|
5
5
|
Author-email: Alessio Buccino <alessiop.buccino@gmail.com>, Samuel Garcia <sam.garcia.die@gmail.com>
|
|
6
6
|
Project-URL: homepage, https://github.com/SpikeInterface/spikeinterface
|
|
@@ -25,7 +25,7 @@ Requires-Dist: neo>=0.13.0
|
|
|
25
25
|
Requires-Dist: probeinterface>=0.2.21
|
|
26
26
|
Provides-Extra: extractors
|
|
27
27
|
Requires-Dist: MEArec>=1.8; extra == "extractors"
|
|
28
|
-
Requires-Dist: pynwb>=2.
|
|
28
|
+
Requires-Dist: pynwb>=2.6.0; extra == "extractors"
|
|
29
29
|
Requires-Dist: hdmf-zarr>=0.5.0; extra == "extractors"
|
|
30
30
|
Requires-Dist: pyedflib>=0.1.30; extra == "extractors"
|
|
31
31
|
Requires-Dist: sonpy; python_version < "3.10" and extra == "extractors"
|
|
@@ -41,7 +41,7 @@ Requires-Dist: ibllib>=2.21.0; extra == "streaming-extractors"
|
|
|
41
41
|
Requires-Dist: fsspec; extra == "streaming-extractors"
|
|
42
42
|
Requires-Dist: aiohttp; extra == "streaming-extractors"
|
|
43
43
|
Requires-Dist: requests; extra == "streaming-extractors"
|
|
44
|
-
Requires-Dist: pynwb>=2.
|
|
44
|
+
Requires-Dist: pynwb>=2.6.0; extra == "streaming-extractors"
|
|
45
45
|
Requires-Dist: hdmf-zarr>=0.5.0; extra == "streaming-extractors"
|
|
46
46
|
Requires-Dist: remfile; extra == "streaming-extractors"
|
|
47
47
|
Requires-Dist: s3fs; extra == "streaming-extractors"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "spikeinterface"
|
|
3
|
-
version = "0.100.
|
|
3
|
+
version = "0.100.6"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name="Alessio Buccino", email="alessiop.buccino@gmail.com" },
|
|
6
6
|
{ name="Samuel Garcia", email="sam.garcia.die@gmail.com" },
|
|
@@ -59,7 +59,7 @@ changelog = "https://spikeinterface.readthedocs.io/en/latest/whatisnew.html"
|
|
|
59
59
|
|
|
60
60
|
extractors = [
|
|
61
61
|
"MEArec>=1.8",
|
|
62
|
-
"pynwb>=2.
|
|
62
|
+
"pynwb>=2.6.0",
|
|
63
63
|
"hdmf-zarr>=0.5.0",
|
|
64
64
|
"pyedflib>=0.1.30",
|
|
65
65
|
"sonpy;python_version<'3.10'",
|
|
@@ -80,7 +80,7 @@ streaming_extractors = [
|
|
|
80
80
|
"fsspec",
|
|
81
81
|
"aiohttp",
|
|
82
82
|
"requests",
|
|
83
|
-
"pynwb>=2.
|
|
83
|
+
"pynwb>=2.6.0",
|
|
84
84
|
"hdmf-zarr>=0.5.0",
|
|
85
85
|
"remfile",
|
|
86
86
|
"s3fs"
|
|
@@ -7,6 +7,7 @@ import datetime
|
|
|
7
7
|
import json
|
|
8
8
|
from copy import deepcopy
|
|
9
9
|
|
|
10
|
+
from math import prod
|
|
10
11
|
|
|
11
12
|
import numpy as np
|
|
12
13
|
from tqdm import tqdm
|
|
@@ -163,7 +164,8 @@ def make_shared_array(shape, dtype):
|
|
|
163
164
|
from multiprocessing.shared_memory import SharedMemory
|
|
164
165
|
|
|
165
166
|
dtype = np.dtype(dtype)
|
|
166
|
-
|
|
167
|
+
shape = tuple(int(x) for x in shape) # We need to be sure that shape comes in int instead of numpy scalars
|
|
168
|
+
nbytes = prod(shape) * dtype.itemsize
|
|
167
169
|
shm = SharedMemory(name=None, create=True, size=nbytes)
|
|
168
170
|
arr = np.ndarray(shape=shape, dtype=dtype, buffer=shm.buf)
|
|
169
171
|
arr[:] = 0
|
|
@@ -483,7 +483,7 @@ def extract_waveforms_to_single_buffer(
|
|
|
483
483
|
if sparsity_mask is None:
|
|
484
484
|
num_chans = recording.get_num_channels()
|
|
485
485
|
else:
|
|
486
|
-
num_chans = max(np.sum(sparsity_mask, axis=1))
|
|
486
|
+
num_chans = int(max(np.sum(sparsity_mask, axis=1))) # This is a numpy scalar, so we cast to int
|
|
487
487
|
shape = (num_spikes, nsamples, num_chans)
|
|
488
488
|
|
|
489
489
|
if mode == "memmap":
|
|
@@ -696,6 +696,8 @@ def has_exceeding_spikes(recording, sorting):
|
|
|
696
696
|
if len(spike_vector_seg) > 0:
|
|
697
697
|
if spike_vector_seg["sample_index"][-1] > recording.get_num_samples(segment_index=segment_index) - 1:
|
|
698
698
|
return True
|
|
699
|
+
if spike_vector_seg["sample_index"][0] < 0:
|
|
700
|
+
return True
|
|
699
701
|
return False
|
|
700
702
|
|
|
701
703
|
|
|
@@ -61,7 +61,8 @@ class RemoveExcessSpikesSorting(BaseSorting):
|
|
|
61
61
|
for segment_index in range(num_segments):
|
|
62
62
|
spike_vector = parent_spike_vector[segments_bounds[segment_index] : segments_bounds[segment_index + 1]]
|
|
63
63
|
end = np.searchsorted(spike_vector["sample_index"], self._num_samples[segment_index])
|
|
64
|
-
|
|
64
|
+
start = np.searchsorted(spike_vector["sample_index"], 0)
|
|
65
|
+
list_spike_vectors.append(spike_vector[start:end])
|
|
65
66
|
|
|
66
67
|
spike_vector = np.concatenate(list_spike_vectors)
|
|
67
68
|
self._cached_spike_vector = spike_vector
|
|
@@ -78,8 +79,9 @@ class RemoveExcessSpikesSortingSegment(BaseSortingSegment):
|
|
|
78
79
|
) -> np.ndarray:
|
|
79
80
|
spike_train = self._parent_segment.get_unit_spike_train(unit_id, start_frame=start_frame, end_frame=end_frame)
|
|
80
81
|
max_spike = np.searchsorted(spike_train, self._num_samples, side="left")
|
|
82
|
+
min_spike = np.searchsorted(spike_train, 0, side="left")
|
|
81
83
|
|
|
82
|
-
return spike_train[:max_spike]
|
|
84
|
+
return spike_train[min_spike:max_spike]
|
|
83
85
|
|
|
84
86
|
|
|
85
87
|
def remove_excess_spikes(sorting, recording):
|
|
@@ -180,6 +180,9 @@ class OpenEphysBinaryRecordingExtractor(NeoBaseRecordingExtractor):
|
|
|
180
180
|
exp_id = exp_ids[0]
|
|
181
181
|
else:
|
|
182
182
|
exp_id = exp_ids[block_index]
|
|
183
|
+
rec_ids = sorted(
|
|
184
|
+
list(self.neo_reader.folder_structure[record_node]["experiments"][exp_id]["recordings"].keys())
|
|
185
|
+
)
|
|
183
186
|
|
|
184
187
|
# do not load probe for NIDQ stream or if load_sync_channel is True
|
|
185
188
|
if "NI-DAQmx" not in stream_name and not load_sync_channel:
|
|
@@ -229,10 +232,8 @@ class OpenEphysBinaryRecordingExtractor(NeoBaseRecordingExtractor):
|
|
|
229
232
|
# load synchronized timestamps and set_times to recording
|
|
230
233
|
recording_folder = Path(folder_path) / record_node
|
|
231
234
|
stream_folders = []
|
|
232
|
-
for segment_index in
|
|
233
|
-
stream_folder =
|
|
234
|
-
recording_folder / f"experiment{exp_id}" / f"recording{segment_index+1}" / "continuous" / oe_stream
|
|
235
|
-
)
|
|
235
|
+
for segment_index, rec_id in enumerate(rec_ids):
|
|
236
|
+
stream_folder = recording_folder / f"experiment{exp_id}" / f"recording{rec_id}" / "continuous" / oe_stream
|
|
236
237
|
stream_folders.append(stream_folder)
|
|
237
238
|
if load_sync_timestamps:
|
|
238
239
|
if (stream_folder / "sample_numbers.npy").is_file():
|
|
@@ -245,7 +246,7 @@ class OpenEphysBinaryRecordingExtractor(NeoBaseRecordingExtractor):
|
|
|
245
246
|
sync_times = None
|
|
246
247
|
try:
|
|
247
248
|
self.set_times(times=sync_times, segment_index=segment_index, with_warning=False)
|
|
248
|
-
except
|
|
249
|
+
except:
|
|
249
250
|
warnings.warn(f"Could not load synchronized timestamps for {stream_name}")
|
|
250
251
|
|
|
251
252
|
self._stream_folders = stream_folders
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/extractors/nwbextractors.py
RENAMED
|
@@ -842,7 +842,8 @@ class NwbRecordingExtractor(BaseRecording):
|
|
|
842
842
|
data_attributes = self.electrical_series["data"].attrs
|
|
843
843
|
electrical_series_conversion = data_attributes["conversion"]
|
|
844
844
|
gains = electrical_series_conversion * 1e6
|
|
845
|
-
|
|
845
|
+
channel_conversion = self.electrical_series.get("channel_conversion", None)
|
|
846
|
+
if channel_conversion:
|
|
846
847
|
gains *= self.electrical_series["channel_conversion"][:]
|
|
847
848
|
|
|
848
849
|
# Channel offsets
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/sorters/external/kilosort4.py
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
import os
|
|
5
4
|
from typing import Union
|
|
5
|
+
from packaging.version import parse
|
|
6
6
|
|
|
7
7
|
from ..basesorter import BaseSorter
|
|
8
8
|
from .kilosortbase import KilosortBase
|
|
@@ -32,7 +32,7 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
32
32
|
"sig_interp": 20,
|
|
33
33
|
"nt0min": None,
|
|
34
34
|
"dmin": None,
|
|
35
|
-
"dminx":
|
|
35
|
+
"dminx": 32,
|
|
36
36
|
"min_template_size": 10,
|
|
37
37
|
"template_sizes": 5,
|
|
38
38
|
"nearest_chans": 10,
|
|
@@ -51,10 +51,11 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
51
51
|
"save_extra_kwargs": False,
|
|
52
52
|
"skip_kilosort_preprocessing": False,
|
|
53
53
|
"scaleproc": None,
|
|
54
|
+
"torch_device": "auto",
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
_params_description = {
|
|
57
|
-
"batch_size": "Number of samples
|
|
58
|
+
"batch_size": "Number of samples included in each batch of data.",
|
|
58
59
|
"nblocks": "Number of non-overlapping blocks for drift correction (additional nblocks-1 blocks are created in the overlaps). Default value: 1.",
|
|
59
60
|
"Th_universal": "Spike detection threshold for universal templates. Th(1) in previous versions of Kilosort. Default value: 9.",
|
|
60
61
|
"Th_learned": "Spike detection threshold for learned templates. Th(2) in previous versions of Kilosort. Default value: 8.",
|
|
@@ -68,7 +69,7 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
68
69
|
"sig_interp": "For drift correction, sigma for interpolation (spatial standard deviation). Approximate smoothness scale in units of microns. Default value: 20.",
|
|
69
70
|
"nt0min": "Sample index for aligning waveforms, so that their minimum or maximum value happens here. Default of 20. Default value: None.",
|
|
70
71
|
"dmin": "Vertical spacing of template centers used for spike detection, in microns. Determined automatically by default. Default value: None.",
|
|
71
|
-
"dminx": "Horizontal spacing of template centers used for spike detection, in microns.
|
|
72
|
+
"dminx": "Horizontal spacing of template centers used for spike detection, in microns. Default value: 32.",
|
|
72
73
|
"min_template_size": "Standard deviation of the smallest, spatial envelope Gaussian used for universal templates. Default value: 10.",
|
|
73
74
|
"template_sizes": "Number of sizes for universal spike templates (multiples of the min_template_size). Default value: 5.",
|
|
74
75
|
"nearest_chans": "Number of nearest channels to consider when finding local maxima during spike detection. Default value: 10.",
|
|
@@ -87,6 +88,7 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
87
88
|
"save_extra_kwargs": "If True, additional kwargs are saved to the output",
|
|
88
89
|
"skip_kilosort_preprocessing": "Can optionally skip the internal kilosort preprocessing",
|
|
89
90
|
"scaleproc": "int16 scaling of whitened data, if None set to 200.",
|
|
91
|
+
"torch_device": "Select the torch device auto/cuda/cpu",
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
sorter_description = """Kilosort4 is a Python package for spike sorting on GPUs with template matching.
|
|
@@ -152,7 +154,10 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
152
154
|
|
|
153
155
|
probe_filename = sorter_output_folder / "probe.prb"
|
|
154
156
|
|
|
155
|
-
|
|
157
|
+
torch_device = params["torch_device"]
|
|
158
|
+
if torch_device == "auto":
|
|
159
|
+
torch_device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
160
|
+
device = torch.device(torch_device)
|
|
156
161
|
|
|
157
162
|
# load probe
|
|
158
163
|
recording = cls.load_recording_from_folder(sorter_output_folder.parent, with_warnings=False)
|
|
@@ -222,39 +227,14 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
222
227
|
torch.cuda.manual_seed_all(1)
|
|
223
228
|
torch.random.manual_seed(1)
|
|
224
229
|
# if not params["skip_kilosort_preprocessing"]:
|
|
225
|
-
if params["do_correction"]:
|
|
226
|
-
# this function applies both preprocessing and drift correction
|
|
227
|
-
ops, bfile, st0 = compute_drift_correction(
|
|
228
|
-
ops, device, tic0=tic0, progress_bar=progress_bar, file_object=file_object
|
|
229
|
-
)
|
|
230
|
-
else:
|
|
230
|
+
if not params["do_correction"]:
|
|
231
231
|
print("Skipping drift correction.")
|
|
232
|
-
|
|
233
|
-
whiten_mat = ops["preprocessing"]["whiten_mat"]
|
|
234
|
-
|
|
235
|
-
bfile = BinaryFiltered(
|
|
236
|
-
ops["filename"],
|
|
237
|
-
n_chan_bin,
|
|
238
|
-
fs,
|
|
239
|
-
NT,
|
|
240
|
-
nt,
|
|
241
|
-
twav_min,
|
|
242
|
-
chan_map,
|
|
243
|
-
hp_filter=hp_filter,
|
|
244
|
-
whiten_mat=whiten_mat,
|
|
245
|
-
device=device,
|
|
246
|
-
do_CAR=do_CAR,
|
|
247
|
-
invert_sign=invert,
|
|
248
|
-
dtype=dtype,
|
|
249
|
-
tmin=tmin,
|
|
250
|
-
tmax=tmax,
|
|
251
|
-
artifact_threshold=artifact,
|
|
252
|
-
file_object=file_object,
|
|
253
|
-
)
|
|
232
|
+
ops["nblocks"] = 0
|
|
254
233
|
|
|
255
|
-
#
|
|
256
|
-
|
|
257
|
-
|
|
234
|
+
# this function applies both preprocessing and drift correction
|
|
235
|
+
ops, bfile, st0 = compute_drift_correction(
|
|
236
|
+
ops, device, tic0=tic0, progress_bar=progress_bar, file_object=file_object
|
|
237
|
+
)
|
|
258
238
|
|
|
259
239
|
# Sort spikes and save results
|
|
260
240
|
st, tF, _, _ = detect_spikes(ops, device, bfile, tic0=tic0, progress_bar=progress_bar)
|
|
@@ -263,39 +243,8 @@ class Kilosort4Sorter(BaseSorter):
|
|
|
263
243
|
ops["preprocessing"] = dict(
|
|
264
244
|
hp_filter=torch.as_tensor(np.zeros(1)), whiten_mat=torch.as_tensor(np.eye(recording.get_num_channels()))
|
|
265
245
|
)
|
|
266
|
-
ops, similar_templates, is_ref, est_contam_rate = save_sorting(
|
|
267
|
-
ops, results_dir, st, clu, tF, Wall, bfile.imin, tic0, save_extra_vars=save_extra_vars
|
|
268
|
-
)
|
|
269
|
-
|
|
270
|
-
# # Clean-up temporary files
|
|
271
|
-
# if params["delete_recording_dat"] and (recording_file := sorter_output_folder / "recording.dat").exists():
|
|
272
|
-
# recording_file.unlink()
|
|
273
|
-
|
|
274
|
-
# all_tmp_files = ("matlab_files", "temp_wh.dat")
|
|
275
|
-
|
|
276
|
-
# if isinstance(params["delete_tmp_files"], bool):
|
|
277
|
-
# if params["delete_tmp_files"]:
|
|
278
|
-
# tmp_files_to_remove = all_tmp_files
|
|
279
|
-
# else:
|
|
280
|
-
# tmp_files_to_remove = ()
|
|
281
|
-
# else:
|
|
282
|
-
# assert isinstance(
|
|
283
|
-
# params["delete_tmp_files"], (tuple, list)
|
|
284
|
-
# ), "`delete_tmp_files` must be a `Bool`, `Tuple` or `List`."
|
|
285
|
-
|
|
286
|
-
# for name in params["delete_tmp_files"]:
|
|
287
|
-
# assert name in all_tmp_files, f"{name} is not a valid option, must be one of: {all_tmp_files}"
|
|
288
|
-
|
|
289
|
-
# tmp_files_to_remove = params["delete_tmp_files"]
|
|
290
|
-
|
|
291
|
-
# if "temp_wh.dat" in tmp_files_to_remove:
|
|
292
|
-
# if (temp_wh_file := sorter_output_folder / "temp_wh.dat").exists():
|
|
293
|
-
# temp_wh_file.unlink()
|
|
294
246
|
|
|
295
|
-
|
|
296
|
-
# for ext in ["*.m", "*.mat"]:
|
|
297
|
-
# for temp_file in sorter_output_folder.glob(ext):
|
|
298
|
-
# temp_file.unlink()
|
|
247
|
+
_ = save_sorting(ops, results_dir, st, clu, tF, Wall, bfile.imin, tic0, save_extra_vars=save_extra_vars)
|
|
299
248
|
|
|
300
249
|
@classmethod
|
|
301
250
|
def _get_result_from_folder(cls, sorter_output_folder):
|
|
@@ -3,14 +3,15 @@ from __future__ import annotations
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from packaging.version import parse
|
|
5
5
|
|
|
6
|
-
from tempfile import TemporaryDirectory
|
|
7
6
|
|
|
7
|
+
import shutil
|
|
8
8
|
import numpy as np
|
|
9
|
+
from warnings import warn
|
|
9
10
|
|
|
10
11
|
from spikeinterface.preprocessing import bandpass_filter, whiten
|
|
11
12
|
|
|
12
13
|
from spikeinterface.core.baserecording import BaseRecording
|
|
13
|
-
from ..basesorter import BaseSorter
|
|
14
|
+
from ..basesorter import BaseSorter, get_job_kwargs
|
|
14
15
|
|
|
15
16
|
from spikeinterface.extractors import NpzSortingExtractor
|
|
16
17
|
|
|
@@ -43,8 +44,7 @@ class Mountainsort5Sorter(BaseSorter):
|
|
|
43
44
|
"freq_max": 6000,
|
|
44
45
|
"filter": True,
|
|
45
46
|
"whiten": True, # Important to do whitening
|
|
46
|
-
"
|
|
47
|
-
"n_jobs_for_preprocessing": -1,
|
|
47
|
+
"delete_temporary_recording": True,
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
_params_description = {
|
|
@@ -68,8 +68,7 @@ class Mountainsort5Sorter(BaseSorter):
|
|
|
68
68
|
"freq_max": "Low-pass filter cutoff frequency",
|
|
69
69
|
"filter": "Enable or disable filter",
|
|
70
70
|
"whiten": "Enable or disable whitening",
|
|
71
|
-
"
|
|
72
|
-
"n_jobs_for_preprocessing": "Number of parallel jobs for creating the cached recording",
|
|
71
|
+
"delete_temporary_recording": "If True, the temporary recording file is deleted after sorting (this may fail on Windows requiring the end-user to delete the file themselves later)",
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
sorter_description = "MountainSort5 uses Isosplit clustering. It is an updated version of MountainSort4. See https://doi.org/10.1016/j.neuron.2017.08.030"
|
|
@@ -186,21 +185,26 @@ class Mountainsort5Sorter(BaseSorter):
|
|
|
186
185
|
block_sorting_parameters=scheme2_sorting_parameters, block_duration_sec=p["scheme3_block_duration_sec"]
|
|
187
186
|
)
|
|
188
187
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
188
|
+
if not recording.is_binary_compatible():
|
|
189
|
+
recording_cached = recording.save(folder=sorter_output_folder / "recording", **get_job_kwargs(p, verbose))
|
|
190
|
+
else:
|
|
191
|
+
recording_cached = recording
|
|
192
|
+
|
|
193
|
+
if p["scheme"] == "1":
|
|
194
|
+
sorting = ms5.sorting_scheme1(recording=recording_cached, sorting_parameters=scheme1_sorting_parameters)
|
|
195
|
+
elif p["scheme"] == "2":
|
|
196
|
+
sorting = ms5.sorting_scheme2(recording=recording_cached, sorting_parameters=scheme2_sorting_parameters)
|
|
197
|
+
elif p["scheme"] == "3":
|
|
198
|
+
sorting = ms5.sorting_scheme3(recording=recording_cached, sorting_parameters=scheme3_sorting_parameters)
|
|
199
|
+
else:
|
|
200
|
+
raise ValueError(f"Invalid scheme: {p['scheme']} given. scheme must be one of '1', '2' or '3'")
|
|
201
|
+
|
|
202
|
+
if p["delete_temporary_recording"]:
|
|
203
|
+
if not recording.is_binary_compatible():
|
|
204
|
+
del recording_cached
|
|
205
|
+
shutil.rmtree(sorter_output_folder / "recording", ignore_errors=True)
|
|
206
|
+
if Path(sorter_output_folder / "recording").is_dir():
|
|
207
|
+
warn("cleanup failed, please remove file yourself if desired")
|
|
204
208
|
|
|
205
209
|
NpzSortingExtractor.write_sorting(sorting, str(sorter_output_folder / "firings.npz"))
|
|
206
210
|
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/widgets/spikes_on_traces.py
RENAMED
|
@@ -183,8 +183,7 @@ class SpikesOnTracesWidget(BaseWidget):
|
|
|
183
183
|
spike_times_to_plot = sorting.get_unit_spike_train(
|
|
184
184
|
unit, segment_index=segment_index, return_times=True
|
|
185
185
|
)[spike_start:spike_end]
|
|
186
|
-
unit_y_loc =
|
|
187
|
-
# markers = np.ones_like(spike_frames_to_plot) * (min_y + max_y - dp.unit_locations[unit][1])
|
|
186
|
+
unit_y_loc = dp.unit_locations[unit][1]
|
|
188
187
|
width = 2 * 1e-3
|
|
189
188
|
ellipse_kwargs = dict(width=width, height=10, fc="none", ec=dp.unit_colors[unit], lw=2)
|
|
190
189
|
patches = [Ellipse((s, unit_y_loc), **ellipse_kwargs) for s in spike_times_to_plot]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: spikeinterface
|
|
3
|
-
Version: 0.100.
|
|
3
|
+
Version: 0.100.6
|
|
4
4
|
Summary: Python toolkit for analysis, visualization, and comparison of spike sorting output
|
|
5
5
|
Author-email: Alessio Buccino <alessiop.buccino@gmail.com>, Samuel Garcia <sam.garcia.die@gmail.com>
|
|
6
6
|
Project-URL: homepage, https://github.com/SpikeInterface/spikeinterface
|
|
@@ -25,7 +25,7 @@ Requires-Dist: neo>=0.13.0
|
|
|
25
25
|
Requires-Dist: probeinterface>=0.2.21
|
|
26
26
|
Provides-Extra: extractors
|
|
27
27
|
Requires-Dist: MEArec>=1.8; extra == "extractors"
|
|
28
|
-
Requires-Dist: pynwb>=2.
|
|
28
|
+
Requires-Dist: pynwb>=2.6.0; extra == "extractors"
|
|
29
29
|
Requires-Dist: hdmf-zarr>=0.5.0; extra == "extractors"
|
|
30
30
|
Requires-Dist: pyedflib>=0.1.30; extra == "extractors"
|
|
31
31
|
Requires-Dist: sonpy; python_version < "3.10" and extra == "extractors"
|
|
@@ -41,7 +41,7 @@ Requires-Dist: ibllib>=2.21.0; extra == "streaming-extractors"
|
|
|
41
41
|
Requires-Dist: fsspec; extra == "streaming-extractors"
|
|
42
42
|
Requires-Dist: aiohttp; extra == "streaming-extractors"
|
|
43
43
|
Requires-Dist: requests; extra == "streaming-extractors"
|
|
44
|
-
Requires-Dist: pynwb>=2.
|
|
44
|
+
Requires-Dist: pynwb>=2.6.0; extra == "streaming-extractors"
|
|
45
45
|
Requires-Dist: hdmf-zarr>=0.5.0; extra == "streaming-extractors"
|
|
46
46
|
Requires-Dist: remfile; extra == "streaming-extractors"
|
|
47
47
|
Requires-Dist: s3fs; extra == "streaming-extractors"
|
|
@@ -26,7 +26,7 @@ numba
|
|
|
26
26
|
|
|
27
27
|
[extractors]
|
|
28
28
|
MEArec>=1.8
|
|
29
|
-
pynwb>=2.
|
|
29
|
+
pynwb>=2.6.0
|
|
30
30
|
hdmf-zarr>=0.5.0
|
|
31
31
|
pyedflib>=0.1.30
|
|
32
32
|
lxml
|
|
@@ -67,7 +67,7 @@ ibllib>=2.21.0
|
|
|
67
67
|
fsspec
|
|
68
68
|
aiohttp
|
|
69
69
|
requests
|
|
70
|
-
pynwb>=2.
|
|
70
|
+
pynwb>=2.6.0
|
|
71
71
|
hdmf-zarr>=0.5.0
|
|
72
72
|
remfile
|
|
73
73
|
s3fs
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/basecomparison.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/collision.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/comparisontools.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/correlogram.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/groundtruthstudy.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/multicomparisons.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/comparison/paircomparisons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/baserecordingsnippets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/frameslicerecording.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/frameslicesorting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npyfoldersnippets.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npysnippetsextractor.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/npzsortingextractor.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/numpyextractors.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/recording_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/unitsaggregationsorting.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/unitsselectionsorting.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/waveform_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/core/zarrrecordingextractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/curation_tools.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/curationsorting.py
RENAMED
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/mergeunitssorting.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/remove_redundant.py
RENAMED
|
File without changes
|
|
File without changes
|
{spikeinterface-0.100.4 → spikeinterface-0.100.6}/src/spikeinterface/curation/splitunitsorting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|