Proposal: `ConcatenateSortingAnalyzer`
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start by reading the existing SortingAnalyzer and analyzer extension APIs to understand how extensions expose data. Then identify how child analyzers, matching unit maps, and shared recording channels should be represented; the proposal does not name specific files or tests. Done means a read-only concatenated analyzer can expose compatible extension data across its constituent analyzers and save a minimal JSON representation.
由索引模型根据 Issue 内容生成。
描述
For very long recordings, or recordings made at different times over many days, you might not want a single SortingAnalyzer. For example, it might be helpful to consider metrics as time varying measures of unit quality: if your firing rate is consistent for 3 days, then drops significantly, this might be a sign that your recoridng device can no longer record the unit. More practically, on many systems it is difficult to parallelize a post-processing computation on a 300 hour analyzer. Whereas making 300 one hour computations might be much easier. For unit matching, you almost certaintly want to sort and postprocess each session seperately, but might want a framework to compare sortings.
After discussions with Alessio, I propose to add a ConcatenateSortingAnalyzer class along these lines. Some of these we discussed, some are mine:
ConcatenateSortingAnalyzerdoes not inherit fromSortingAnalyzer(there are too many methods we don't need), but mimics the extension structure.ConcatenateAnalyzerExtensionsinherits fromAnalyzerExtenions- We do not touch the SortingAnalyzer class
- It is primarily a data reader of many analyzers => you cannot compute/modify the constituent analyzers
- The input is a dict(?) of analyzers
- Demand that recording channels are the same
- Demand that parameters (e.g. peak_sign), extensions and extension parameters are the same. Many properties are then just equal to the property of any child analyzer.
- Keep complexity of data wrangling in the
get_datamethod of each extension, which can now accept ananalyzer_index(oranalyzer_key) argument. Keep in mind that in the future, we might want to slice the concatenated analyzers. - The sparsity of the concatenated analyzer's units is the intersection of sparsities of each individual unit
- The user can provide maps to match units. Keep in mind that in the future, we might want to algoithmically generate these.
- It's ok that
main_channel_indicescan vary between analyzers. These are used primarily for computation of the sparsity and computation of metrics. savejust saves a minimal json representation of the underlying analyzers
What do people think? Thought/suggestions welcome!
- 主要语言
- Python
- 星标
- 866
- 派生
- 285
- 平均合并
- 2 天 7 小时
- 30 天内合并 PR
- 43
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
SpikeInterface/spikeinterface 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 85/100
SpikeInterface/spikeinterface#4842 · 2 条评论 ·
维护者通常 1 天内回复
-
testing
难度 2/5 1-3 小时 新手友好度 68/100
SpikeInterface/spikeinterface#4756 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
SpikeInterface/spikeinterface#4510 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
SpikeInterface/spikeinterface#4880 ·
维护者通常 1 天内回复
-
Lupin doesn't set `main_channel_id` property可能已有人在做 @yger 于 2 天前认领。 未关闭sorters
SpikeInterface/spikeinterface#4879 · 已指派 2 人 ·
维护者通常 1 天内回复
查看 SpikeInterface/spikeinterface 的全部 Issue
相似的 Issue
-
Uninstall guide omits the CloudWatch log groups AWS CodeBuild creates for useCodeBuild pipelines未关闭bug documentation
难度 1/5 1-3 小时 新手友好度 88/100
awslabs/visual-asset-management-system#552 ·
维护者通常 1 天内回复
-
netbox status: needs triage type: documentation
难度 1/5 1 小时以内 新手友好度 76/100
netbox-community/netbox#23460 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
awslabs/threat-composer#362 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
ansys/pyansys-common-mcp#213 ·
维护者通常 3 天内回复