私たちの使命#

scikit-imageは、Pythonにおける科学的な画像解析のための標準ライブラリを目指しています。そのため、私たちは

  • 使いやすく、インストールしやすいように努めています。新しい依存関係の追加には慎重であり、場合によっては既存の依存関係を削減したり、オプションにしたりします。APIのすべての関数には、期待される入力と出力を明確にする詳細なdocstringがあります。

  • 一貫性のあるAPIを提供しています。概念的に同一の引数は、関数シグネチャにおいて同じ名前と位置を持ちます。

  • 正確性を保証しています。テストカバレッジはほぼ100%に近く、コードはライブラリに組み込まれる前に少なくとも2人のコア開発者によってレビューされます。

  • ユーザーのデータを守ることに配慮しています。私たちは関数型APIを採用しており、明示的に指示されない限り、入力配列を変更することはありません。

  • 広範な教育的なドキュメントを通じて、画像処理の教育を促進しています。

私たちの価値観


  • 私たちは包括的です。初めて貢献する新規参入者を歓迎し、メンターとして支援し続けています。

  • 私たちはコミュニティ主導です。APIや機能に関する決定は、コアチームの思いつきではなく、ユーザーのニーズに基づいて行われます。(SKIP 1 — scikit-imageガバナンスと意思決定を参照してください。)

  • 私たちは主に科学的なアプリケーションに焦点を当てており、PhotoshopやGIMPのような「消費者向け」の画像編集には重点を置いていません。これは、多くの場合、n次元データのサポートを優先し、「派手な」フィルター(科学的な価値が少ない)の実装を拒否することを意味します。

  • 私たちは、あらゆるパフォーマンスを追求するよりも、シンプルで読みやすい実装を重視しています。新規参入者とメンテナーの両方にとって理解しやすい、読みやすいコードは、新しいコードへの貢献を容易にし、バグの発生を防ぐためにも役立ちます。これは、例えば、コード行を半分に減らすことで20%の速度低下を受け入れることを意味します。

  • 私たちは教育とドキュメントを重視しています。すべての関数は、できれば例を含めて、NumPyスタイルのdocstringを備えている必要があります。また、その関数が科学的アプリケーションでどのように使用されるかを示すギャラリー例も必要です。コア開発者は、ドキュメントの例の完成に積極的に関わっています。

  • 私たちは「魔法」は使いません。[1]派手なファサードオブジェクトの代わりにNumPy配列を使用し、ユーザーに代わって決定を行うよりも、ユーザーを教育することを優先します。これは適切なデフォルト値を排除するものではありません。

このドキュメント#

ほとんどのPythonコードにおけるスタイルと実装の詳細をガイドするPythonの禅とPEP8と同様に、このガイドは、コードスタイル、新しい機能の受け入れの可否、新しい依存関係の追加の可否など、scikit-imageの将来に関する意思決定をガイドすることを目的としています。

参考文献#

このドキュメントの履歴の詳細については、以下をお読みください。