感谢您对 SpikeCV 项目的关注!您的每一份贡献都将推动脉冲视觉的发展
“一起来吧,去触发一场蝴蝶效应。”
SpikeCV 团队
在 SpikeCV/spkProc/ 下选择合适的子模块(如 filters, reconstruction 等)创建您的算法文件 your_algorithm.py。
YourAlgorithm,一般还会实现例如 __init__(参数初始化) 和 process(算法主体)方法。tqdm 库显示算法处理进度。在 SpikeCV/examples/ 添加 test_your_algorithm.py,展示从数据加载到结果输出的完整调用流程,帮助用户理解算法的使用方法。
完整的贡献不仅仅是代码,我们使用 RST 文件管理文档:
docs/source/核心操作.rst,添加您算法的原理及参数说明。docs/source/使用例子.rst,描述您的应用示例和预期结果。docs/source/media/ 目录下添加结果图片/GIF并在文档中引用。我们在 CONTRIBUTING.md 中提供了文档的参考模板。
之后,您的文档会被整合至 SpikeCV 官方文档中。
如果您需要添加新的依赖,请在 pyproject.toml 中配置可选依赖:
[project.optional-dependencies]
your_deps_name = [
"package>=1.0.0",
"package2>=2.0.0",
]
# 安装特定依赖: pip install -e ".[your_deps_name]"
# 新增依赖后检查是否有冲突 pip check
如果依赖版本冲突且难以解决,请参考 依赖管理指南。
SpikeCV 将依赖严格分为两类:
torch, numpy):影响所有算法,修改需极其谨慎。tracking)或功能模块需要的库,推荐使用此方式添加。添加依赖时,请遵循最小化依赖原则:
import 的库),无须添加传递依赖
完成开发并 commit 在本地后,按 CONTRIBUTING.md 的 指引 检查和记录您的环境依赖,
然后发起 PR 提交至 Zyj061/SpikeCV 的 main 分支,并使用我们提供的 PR 描述模板 描述更改内容。
代码会先通过所有 CI/CD 流水线检查,然后维护者将审查代码质量、文档完整性及兼容性。 维护者可能在 PR 中添加评论,提供具体的修改建议。
当 PR 通过所有检查和审查后,维护者会将您的代码合并到 main 分支,感谢您的贡献!
您可以参考我们已合并的一个 PR 案例: SNNTracker