spikeinterface 0.100.2__tar.gz → 0.100.4__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.
Files changed (309) hide show
  1. {spikeinterface-0.100.2/src/spikeinterface.egg-info → spikeinterface-0.100.4}/PKG-INFO +1 -1
  2. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/pyproject.toml +1 -1
  3. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/base.py +16 -1
  4. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/zarrextractors.py +25 -9
  5. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/nwbextractors.py +9 -18
  6. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/template_similarity.py +3 -1
  7. {spikeinterface-0.100.2 → spikeinterface-0.100.4/src/spikeinterface.egg-info}/PKG-INFO +1 -1
  8. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/LICENSE +0 -0
  9. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/README.md +0 -0
  10. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/setup.cfg +0 -0
  11. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/setup.py +0 -0
  12. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/__init__.py +0 -0
  13. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/__init__.py +0 -0
  14. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/basecomparison.py +0 -0
  15. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/collision.py +0 -0
  16. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/comparisontools.py +0 -0
  17. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/correlogram.py +0 -0
  18. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/groundtruthstudy.py +0 -0
  19. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/hybrid.py +0 -0
  20. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/multicomparisons.py +0 -0
  21. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/comparison/paircomparisons.py +0 -0
  22. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/__init__.py +0 -0
  23. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/baseevent.py +0 -0
  24. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/baserecording.py +0 -0
  25. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/baserecordingsnippets.py +0 -0
  26. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/basesnippets.py +0 -0
  27. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/basesorting.py +0 -0
  28. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/binaryfolder.py +0 -0
  29. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/binaryrecordingextractor.py +0 -0
  30. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/channelsaggregationrecording.py +0 -0
  31. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/channelslice.py +0 -0
  32. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/core_tools.py +0 -0
  33. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/datasets.py +0 -0
  34. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/frameslicerecording.py +0 -0
  35. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/frameslicesorting.py +0 -0
  36. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/generate.py +0 -0
  37. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/globals.py +0 -0
  38. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/job_tools.py +0 -0
  39. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/node_pipeline.py +0 -0
  40. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/npyfoldersnippets.py +0 -0
  41. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/npysnippetsextractor.py +0 -0
  42. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/npzfolder.py +0 -0
  43. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/npzsortingextractor.py +0 -0
  44. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/numpyextractors.py +0 -0
  45. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/old_api_utils.py +0 -0
  46. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/recording_tools.py +0 -0
  47. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/segmentutils.py +0 -0
  48. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/snippets_tools.py +0 -0
  49. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/sorting_tools.py +0 -0
  50. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/sortingfolder.py +0 -0
  51. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/sparsity.py +0 -0
  52. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/template.py +0 -0
  53. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/template_tools.py +0 -0
  54. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/testing.py +0 -0
  55. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/testing_tools.py +0 -0
  56. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/unitsaggregationsorting.py +0 -0
  57. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/unitsselectionsorting.py +0 -0
  58. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/waveform_extractor.py +0 -0
  59. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/waveform_tools.py +0 -0
  60. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/core/zarrrecordingextractor.py +0 -0
  61. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/__init__.py +0 -0
  62. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/auto_merge.py +0 -0
  63. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/curation_tools.py +0 -0
  64. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/curationsorting.py +0 -0
  65. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/mergeunitssorting.py +0 -0
  66. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/remove_duplicated_spikes.py +0 -0
  67. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/remove_excess_spikes.py +0 -0
  68. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/remove_redundant.py +0 -0
  69. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/sortingview_curation.py +0 -0
  70. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/curation/splitunitsorting.py +0 -0
  71. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/exporters/__init__.py +0 -0
  72. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/exporters/report.py +0 -0
  73. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/exporters/to_phy.py +0 -0
  74. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/__init__.py +0 -0
  75. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/alfsortingextractor.py +0 -0
  76. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/bids.py +0 -0
  77. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/cbin_ibl.py +0 -0
  78. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/cellexplorersortingextractor.py +0 -0
  79. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/combinatoextractors.py +0 -0
  80. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/extractorlist.py +0 -0
  81. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/hdsortextractors.py +0 -0
  82. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/herdingspikesextractors.py +0 -0
  83. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/iblstreamingrecording.py +0 -0
  84. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/klustaextractors.py +0 -0
  85. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/matlabhelpers.py +0 -0
  86. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/mclustextractors.py +0 -0
  87. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/mcsh5extractors.py +0 -0
  88. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/mdaextractors.py +0 -0
  89. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/__init__.py +0 -0
  90. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/alphaomega.py +0 -0
  91. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/axona.py +0 -0
  92. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/biocam.py +0 -0
  93. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/blackrock.py +0 -0
  94. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/ced.py +0 -0
  95. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/edf.py +0 -0
  96. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/intan.py +0 -0
  97. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/maxwell.py +0 -0
  98. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/mcsraw.py +0 -0
  99. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/mearec.py +0 -0
  100. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/neo_utils.py +0 -0
  101. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/neobaseextractor.py +0 -0
  102. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/neuralynx.py +0 -0
  103. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/neuroexplorer.py +0 -0
  104. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/neuroscope.py +0 -0
  105. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/nix.py +0 -0
  106. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/openephys.py +0 -0
  107. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/plexon.py +0 -0
  108. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/plexon2.py +0 -0
  109. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/spike2.py +0 -0
  110. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/spikegadgets.py +0 -0
  111. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/spikeglx.py +0 -0
  112. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neoextractors/tdt.py +0 -0
  113. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/neuropixels_utils.py +0 -0
  114. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/phykilosortextractors.py +0 -0
  115. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/shybridextractors.py +0 -0
  116. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/spykingcircusextractors.py +0 -0
  117. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/toy_example.py +0 -0
  118. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/tridesclousextractors.py +0 -0
  119. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/waveclussnippetstextractors.py +0 -0
  120. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/waveclustextractors.py +0 -0
  121. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/extractors/yassextractors.py +0 -0
  122. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/full.py +0 -0
  123. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/generation/__init__.py +0 -0
  124. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/generation/drift_tools.py +0 -0
  125. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/__init__.py +0 -0
  126. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/alignsorting.py +0 -0
  127. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/amplitude_scalings.py +0 -0
  128. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/correlograms.py +0 -0
  129. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/isi.py +0 -0
  130. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/noise_level.py +0 -0
  131. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/principal_component.py +0 -0
  132. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/spike_amplitudes.py +0 -0
  133. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/spike_locations.py +0 -0
  134. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/template_metrics.py +0 -0
  135. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/postprocessing/unit_localization.py +0 -0
  136. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/__init__.py +0 -0
  137. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/align_snippets.py +0 -0
  138. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/astype.py +0 -0
  139. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/average_across_direction.py +0 -0
  140. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/basepreprocessor.py +0 -0
  141. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/clip.py +0 -0
  142. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/common_reference.py +0 -0
  143. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/correct_lsb.py +0 -0
  144. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/decimate.py +0 -0
  145. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/deepinterpolation/__init__.py +0 -0
  146. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/deepinterpolation/deepinterpolation.py +0 -0
  147. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/deepinterpolation/generators.py +0 -0
  148. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/deepinterpolation/tf_utils.py +0 -0
  149. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/deepinterpolation/train.py +0 -0
  150. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/depth_order.py +0 -0
  151. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/detect_bad_channels.py +0 -0
  152. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/directional_derivative.py +0 -0
  153. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/filter.py +0 -0
  154. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/filter_gaussian.py +0 -0
  155. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/filter_opencl.py +0 -0
  156. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/highpass_spatial_filter.py +0 -0
  157. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/interpolate_bad_channels.py +0 -0
  158. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/motion.py +0 -0
  159. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/normalize_scale.py +0 -0
  160. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/phase_shift.py +0 -0
  161. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/preprocessing_tools.py +0 -0
  162. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/preprocessinglist.py +0 -0
  163. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/rectify.py +0 -0
  164. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/remove_artifacts.py +0 -0
  165. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/resample.py +0 -0
  166. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/silence_periods.py +0 -0
  167. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/unsigned_to_signed.py +0 -0
  168. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/whiten.py +0 -0
  169. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/preprocessing/zero_channel_pad.py +0 -0
  170. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/__init__.py +0 -0
  171. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/misc_metrics.py +0 -0
  172. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/pca_metrics.py +0 -0
  173. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/quality_metric_calculator.py +0 -0
  174. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/quality_metric_list.py +0 -0
  175. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/qualitymetrics/utils.py +0 -0
  176. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/__init__.py +0 -0
  177. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/basesorter.py +0 -0
  178. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/container_tools.py +0 -0
  179. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/__init__.py +0 -0
  180. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/combinato.py +0 -0
  181. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/hdsort.py +0 -0
  182. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/hdsort_master.m +0 -0
  183. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/herdingspikes.py +0 -0
  184. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/ironclust.py +0 -0
  185. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort.py +0 -0
  186. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort2.py +0 -0
  187. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort2_5.py +0 -0
  188. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort2_5_master.m +0 -0
  189. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort2_master.m +0 -0
  190. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort3.py +0 -0
  191. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort3_master.m +0 -0
  192. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort4.py +0 -0
  193. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosort_master.m +0 -0
  194. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/kilosortbase.py +0 -0
  195. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/klusta.py +0 -0
  196. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/klusta_config_default.prm +0 -0
  197. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/mountainsort4.py +0 -0
  198. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/mountainsort5.py +0 -0
  199. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/pykilosort.py +0 -0
  200. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/sc_config_default.params +0 -0
  201. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/spyking_circus.py +0 -0
  202. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/tridesclous.py +0 -0
  203. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/waveclus.py +0 -0
  204. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/waveclus_master.m +0 -0
  205. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/waveclus_snippets.py +0 -0
  206. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/waveclus_snippets_master.m +0 -0
  207. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/yass.py +0 -0
  208. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/external/yass_config_default.yaml +0 -0
  209. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/internal/__init__.py +0 -0
  210. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/internal/si_based.py +0 -0
  211. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/internal/spyking_circus2.py +0 -0
  212. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/internal/tridesclous2.py +0 -0
  213. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/launcher.py +0 -0
  214. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/runsorter.py +0 -0
  215. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/sorterlist.py +0 -0
  216. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/utils/__init__.py +0 -0
  217. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/utils/constructNPYheader.m +0 -0
  218. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/utils/misc.py +0 -0
  219. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/utils/shellscript.py +0 -0
  220. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sorters/utils/writeNPY.m +0 -0
  221. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/__init__.py +0 -0
  222. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/__init__.py +0 -0
  223. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_clustering.py +0 -0
  224. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_matching.py +0 -0
  225. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_motion_estimation.py +0 -0
  226. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_motion_interpolation.py +0 -0
  227. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_peak_localization.py +0 -0
  228. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_peak_selection.py +0 -0
  229. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/benchmark/benchmark_tools.py +0 -0
  230. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/__init__.py +0 -0
  231. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/circus.py +0 -0
  232. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/clean.py +0 -0
  233. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/clustering_tools.py +0 -0
  234. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/dummy.py +0 -0
  235. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/isocut5.py +0 -0
  236. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/main.py +0 -0
  237. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/merge.py +0 -0
  238. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/method_list.py +0 -0
  239. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/position.py +0 -0
  240. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/position_and_features.py +0 -0
  241. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/position_and_pca.py +0 -0
  242. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/position_ptp_scaled.py +0 -0
  243. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/random_projections.py +0 -0
  244. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/sliding_hdbscan.py +0 -0
  245. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/sliding_nn.py +0 -0
  246. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/split.py +0 -0
  247. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/tools.py +0 -0
  248. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/clustering/triage.py +0 -0
  249. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/features_from_peaks.py +0 -0
  250. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/__init__.py +0 -0
  251. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/circus.py +0 -0
  252. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/main.py +0 -0
  253. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/method_list.py +0 -0
  254. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/naive.py +0 -0
  255. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/tdc.py +0 -0
  256. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/matching/wobble.py +0 -0
  257. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/motion_estimation.py +0 -0
  258. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/motion_interpolation.py +0 -0
  259. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/peak_detection.py +0 -0
  260. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/peak_localization.py +0 -0
  261. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/peak_pipeline.py +0 -0
  262. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/peak_selection.py +0 -0
  263. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/tools.py +0 -0
  264. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/__init__.py +0 -0
  265. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/neural_network_denoiser.py +0 -0
  266. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/savgol_denoiser.py +0 -0
  267. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/temporal_pca.py +0 -0
  268. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/waveform_thresholder.py +0 -0
  269. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/sortingcomponents/waveforms/waveform_utils.py +0 -0
  270. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/__init__.py +0 -0
  271. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/all_amplitudes_distributions.py +0 -0
  272. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/amplitudes.py +0 -0
  273. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/autocorrelograms.py +0 -0
  274. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/base.py +0 -0
  275. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/collision.py +0 -0
  276. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/comparison.py +0 -0
  277. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/crosscorrelograms.py +0 -0
  278. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/gtstudy.py +0 -0
  279. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/isi_distribution.py +0 -0
  280. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/metrics.py +0 -0
  281. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/motion.py +0 -0
  282. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/multicomparison.py +0 -0
  283. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/peak_activity.py +0 -0
  284. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/probe_map.py +0 -0
  285. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/quality_metrics.py +0 -0
  286. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/rasters.py +0 -0
  287. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/sorting_summary.py +0 -0
  288. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/spike_locations.py +0 -0
  289. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/spikes_on_traces.py +0 -0
  290. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/template_metrics.py +0 -0
  291. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/template_similarity.py +0 -0
  292. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/traces.py +0 -0
  293. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_depths.py +0 -0
  294. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_locations.py +0 -0
  295. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_presence.py +0 -0
  296. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_probe_map.py +0 -0
  297. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_summary.py +0 -0
  298. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_templates.py +0 -0
  299. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_waveforms.py +0 -0
  300. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/unit_waveforms_density_map.py +0 -0
  301. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/utils.py +0 -0
  302. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/utils_ipywidgets.py +0 -0
  303. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/utils_matplotlib.py +0 -0
  304. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/utils_sortingview.py +0 -0
  305. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface/widgets/widget_list.py +0 -0
  306. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface.egg-info/SOURCES.txt +0 -0
  307. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface.egg-info/dependency_links.txt +0 -0
  308. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/src/spikeinterface.egg-info/requires.txt +0 -0
  309. {spikeinterface-0.100.2 → spikeinterface-0.100.4}/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.2
3
+ Version: 0.100.4
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "spikeinterface"
3
- version = "0.100.2"
3
+ version = "0.100.4"
4
4
  authors = [
5
5
  { name="Alessio Buccino", email="alessiop.buccino@gmail.com" },
6
6
  { name="Samuel Garcia", email="sam.garcia.die@gmail.com" },
@@ -967,9 +967,24 @@ class BaseExtractor:
967
967
  For cloud storage locations, this should not be None (in case of default values, use an empty dict)
968
968
  channel_chunk_size: int or None, default: None
969
969
  Channels per chunk (only for BaseRecording)
970
+ compressor: numcodecs.Codec or None, default: None
971
+ Global compressor. If None, Blosc-zstd level 5 is used.
972
+ filters: list[numcodecs.Codec] or None, default: None
973
+ Global filters for zarr (global)
974
+ compressor_by_dataset: dict or None, default: None
975
+ Optional compressor per dataset:
976
+ - traces
977
+ - times
978
+ If None, the global compressor is used
979
+ filters_by_dataset: dict or None, default: None
980
+ Optional filters per dataset:
981
+ - traces
982
+ - times
983
+ If None, the global filters are used
970
984
  verbose: bool, default: True
971
985
  If True, the output is verbose
972
- **save_kwargs: Keyword arguments for saving to zarr
986
+ auto_cast_uint: bool, default: True
987
+ If True, unsigned integers are cast to signed integers to avoid issues with zarr (only for BaseRecording)
973
988
 
974
989
  Returns
975
990
  -------
@@ -255,7 +255,7 @@ def read_zarr(
255
255
  The loaded extractor
256
256
  """
257
257
  # TODO @alessio : we should have something more explicit in our zarr format to tell which object it is.
258
- # for the futur SortingResult we will have this 2 fields!!!
258
+ # for the futur SortingAnalyzer we will have this 2 fields!!!
259
259
  root = zarr.open(str(folder_path), mode="r", storage_options=storage_options)
260
260
  if "channel_ids" in root.keys():
261
261
  return read_zarr_recording(folder_path, storage_options=storage_options)
@@ -366,7 +366,9 @@ def add_sorting_to_zarr_group(sorting: BaseSorting, zarr_group: zarr.hierarchy.G
366
366
 
367
367
 
368
368
  # Recording
369
- def add_recording_to_zarr_group(recording: BaseRecording, zarr_group: zarr.hierarchy.Group, **kwargs):
369
+ def add_recording_to_zarr_group(
370
+ recording: BaseRecording, zarr_group: zarr.hierarchy.Group, verbose=False, auto_cast_uint=True, dtype=None, **kwargs
371
+ ):
370
372
  zarr_kwargs, job_kwargs = split_job_kwargs(kwargs)
371
373
 
372
374
  if recording.check_if_json_serializable():
@@ -380,19 +382,29 @@ def add_recording_to_zarr_group(recording: BaseRecording, zarr_group: zarr.hiera
380
382
  zarr_group.create_dataset(name="channel_ids", data=recording.get_channel_ids(), compressor=None)
381
383
  dataset_paths = [f"traces_seg{i}" for i in range(recording.get_num_segments())]
382
384
 
383
- zarr_kwargs["dtype"] = kwargs.get("dtype", None) or recording.get_dtype()
384
- if "compressor" not in zarr_group:
385
- zarr_kwargs["compressor"] = get_default_zarr_compressor()
385
+ dtype = recording.get_dtype() if dtype is None else dtype
386
+ channel_chunk_size = zarr_kwargs.get("channel_chunk_size", None)
387
+ global_compressor = zarr_kwargs.pop("compressor", get_default_zarr_compressor())
388
+ compressor_by_dataset = zarr_kwargs.pop("compressor_by_dataset", {})
389
+ global_filters = zarr_kwargs.pop("filters", None)
390
+ filters_by_dataset = zarr_kwargs.pop("filters_by_dataset", {})
386
391
 
392
+ compressor_traces = compressor_by_dataset.get("traces", global_compressor)
393
+ filters_traces = filters_by_dataset.get("traces", global_filters)
387
394
  add_traces_to_zarr(
388
395
  recording=recording,
389
396
  zarr_group=zarr_group,
390
397
  dataset_paths=dataset_paths,
391
- **zarr_kwargs,
398
+ compressor=compressor_traces,
399
+ filters=filters_traces,
400
+ dtype=dtype,
401
+ channel_chunk_size=channel_chunk_size,
402
+ auto_cast_uint=auto_cast_uint,
403
+ verbose=verbose,
392
404
  **job_kwargs,
393
405
  )
394
406
 
395
- # # save probe
407
+ # save probe
396
408
  if recording.get_property("contact_vector") is not None:
397
409
  probegroup = recording.get_probegroup()
398
410
  zarr_group.attrs["probe"] = check_json(probegroup.to_dict(array_as_list=True))
@@ -402,12 +414,16 @@ def add_recording_to_zarr_group(recording: BaseRecording, zarr_group: zarr.hiera
402
414
  for segment_index, rs in enumerate(recording._recording_segments):
403
415
  d = rs.get_times_kwargs()
404
416
  time_vector = d["time_vector"]
417
+
418
+ compressor_times = compressor_by_dataset.get("times", global_compressor)
419
+ filters_times = filters_by_dataset.get("times", global_filters)
420
+
405
421
  if time_vector is not None:
406
422
  _ = zarr_group.create_dataset(
407
423
  name=f"times_seg{segment_index}",
408
424
  data=time_vector,
409
- filters=zarr_kwargs.get("filters", None),
410
- compressor=zarr_kwargs["compressor"],
425
+ filters=filters_times,
426
+ compressor=compressor_times,
411
427
  )
412
428
  elif d["t_start"] is not None:
413
429
  t_starts[segment_index] = d["t_start"]
@@ -10,15 +10,6 @@ from spikeinterface.core import BaseRecording, BaseRecordingSegment, BaseSorting
10
10
  from spikeinterface.core.core_tools import define_function_from_class
11
11
 
12
12
 
13
- def import_lazily():
14
- "Makes annotations / typing available lazily"
15
- global NWBFile, ElectricalSeries, Units, NWBHDF5IO
16
- from pynwb import NWBFile
17
- from pynwb.ecephys import ElectricalSeries
18
- from pynwb.misc import Units
19
- from pynwb import NWBHDF5IO
20
-
21
-
22
13
  def read_file_from_backend(
23
14
  *,
24
15
  file_path: str | Path | None,
@@ -111,7 +102,7 @@ def read_nwbfile(
111
102
  cache: bool = False,
112
103
  stream_cache_path: str | Path | None = None,
113
104
  storage_options: dict | None = None,
114
- ) -> NWBFile:
105
+ ) -> "NWBFile":
115
106
  """
116
107
  Read an NWB file and return the NWBFile object.
117
108
 
@@ -176,8 +167,8 @@ def read_nwbfile(
176
167
 
177
168
 
178
169
  def _retrieve_electrical_series_pynwb(
179
- nwbfile: NWBFile, electrical_series_path: Optional[str] = None
180
- ) -> ElectricalSeries:
170
+ nwbfile: "NWBFile", electrical_series_path: Optional[str] = None
171
+ ) -> "ElectricalSeries":
181
172
  """
182
173
  Get an ElectricalSeries object from an NWBFile.
183
174
 
@@ -230,7 +221,7 @@ def _retrieve_electrical_series_pynwb(
230
221
  return electrical_series
231
222
 
232
223
 
233
- def _retrieve_unit_table_pynwb(nwbfile: NWBFile, unit_table_path: Optional[str] = None) -> Units:
224
+ def _retrieve_unit_table_pynwb(nwbfile: "NWBFile", unit_table_path: Optional[str] = None) -> "Units":
234
225
  """
235
226
  Get an Units object from an NWBFile.
236
227
  Units tables can be either the main unit table (nwbfile.units) or in the processing module.
@@ -568,8 +559,10 @@ class NwbRecordingExtractor(BaseRecording):
568
559
  # fetch and add main recording properties
569
560
  if use_pynwb:
570
561
  gains, offsets, locations, groups = self._fetch_main_properties_pynwb()
562
+ self.extra_requirements.append("pynwb")
571
563
  else:
572
564
  gains, offsets, locations, groups = self._fetch_main_properties_backend()
565
+ self.extra_requirements.append("h5py")
573
566
  self.set_channel_gains(gains)
574
567
  self.set_channel_offsets(offsets)
575
568
  if locations is not None:
@@ -781,8 +774,6 @@ class NwbRecordingExtractor(BaseRecording):
781
774
  #########
782
775
  # Extract and re-name properties from nwbfile TODO: Should be a function
783
776
  ########
784
- from pynwb.ecephys import ElectrodeGroup
785
-
786
777
  properties = dict()
787
778
  properties_to_skip = [
788
779
  "id",
@@ -798,9 +789,7 @@ class NwbRecordingExtractor(BaseRecording):
798
789
 
799
790
  for column in columns:
800
791
  first_value = electrodes_table[column][0]
801
- if isinstance(first_value, ElectrodeGroup):
802
- continue
803
- elif column in properties_to_skip:
792
+ if column in properties_to_skip:
804
793
  continue
805
794
  else:
806
795
  column_name = rename_properties.get(column, column)
@@ -1024,8 +1013,10 @@ class NwbSortingExtractor(BaseSorting):
1024
1013
  if load_unit_properties:
1025
1014
  if use_pynwb:
1026
1015
  columns = [c.name for c in self.units_table.columns]
1016
+ self.extra_requirements.append("pynwb")
1027
1017
  else:
1028
1018
  columns = list(self.units_table.keys())
1019
+ self.extra_requirements.append("h5py")
1029
1020
  properties = self._fetch_properties(columns)
1030
1021
  for property_name, property_values in properties.items():
1031
1022
  values = [x.decode("utf-8") if isinstance(x, bytes) else x for x in property_values]
@@ -112,7 +112,9 @@ def compute_template_similarity(
112
112
  similarity = tmc.get_data()
113
113
  return similarity
114
114
  else:
115
- return _compute_template_similarity(waveform_extractor, waveform_extractor_other, method)
115
+ return _compute_template_similarity(
116
+ waveform_extractor=waveform_extractor, waveform_extractor_other=waveform_extractor_other, method=method
117
+ )
116
118
 
117
119
 
118
120
  def check_equal_template_with_distribution_overlap(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spikeinterface
3
- Version: 0.100.2
3
+ Version: 0.100.4
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