我们的使命#

scikit-image 旨在成为 Python 科学图像分析的参考库。我们通过以下方式实现这一目标:

  • **易于使用和安装**。我们谨慎地接纳新的依赖项,有时会剔除现有的依赖项或将其设为可选。我们的 API 中所有函数都有详细的文档字符串,阐明了预期的输入和输出。

  • 提供**一致的 API**。概念上相同的参数在函数签名中具有相同的名称和位置。

  • **确保正确性**。测试覆盖率接近 100%,代码在被纳入库之前至少要由两名核心开发人员审查。

  • **保护用户的數據**。我们拥有 函数式 API,并且不会修改输入数组,除非明确指示这样做。

  • 通过丰富的教学文档,促进**图像处理教育**。

我们的价值观


  • 我们包容。我们继续欢迎和指导首次做出贡献的新人。

  • 我们以社区为中心。有关 API 和功能的决定是由用户的需求驱动的,而不是由核心团队的任性决定的。(参见 SKIP 1 — scikit-image 治理与决策。)

  • 我们主要服务于科学应用,而不是像 Photoshop 或 GIMP 那样进行“消费级”图像编辑。这意味着我们经常优先考虑 n 维数据支持,并拒绝那些没有多少科学价值的“炫目”滤镜的实现。

  • 我们重视简单可读的实现,而不是追求性能的极限。易于理解的可读代码(对于新手和维护人员来说都是如此)更容易贡献新的代码,也更容易防止错误。这意味着,例如,如果可以将代码行减少一半,我们会宁愿接受 20% 的速度下降。

  • 我们重视教育和文档。所有函数都应具有 NumPy 样式的 文档字符串,最好包含示例,以及展示该函数如何在科学应用中使用的图库示例。核心开发人员积极参与完成文档示例。

  • 我们不做魔法。我们使用 NumPy 数组而不是花哨的面向对象 [1],我们更愿意教育用户,而不是替他们做出决定。这并不排除 合理的默认值

本文档#

Python 之禅 和 PEP8 在大多数 Python 代码中指导样式和实现细节的方式相同,本指南旨在指导有关 scikit-image 未来发展的决策,无论是代码风格、是否接受新功能,还是是否采用新的依赖项,以及其他方面。

参考资料#

要了解更多关于本文档的历史,请阅读以下内容: