我們的使命#
scikit-image 的目標是成為 Python 中科學影像分析的參考函式庫。我們透過以下方式達成此目標:
易於使用和安裝。我們在採用新的相依性時會非常謹慎,有時會刪除現有的相依性,或使其成為可選的。我們 API 中的所有函數都具有詳盡的文檔字串,說明預期的輸入和輸出。
提供一致的 API。在概念上相同的引數在函數簽名中具有相同的名稱和位置。
確保正確性。測試覆蓋率接近 100%,並且程式碼在納入函式庫之前會由至少兩位核心開發人員審查。
關心使用者資料。我們有一個函數式 API,並且除非明確指示,否則不會修改輸入陣列。
透過廣泛的教學文件來促進影像處理教育。
我們的價值觀
我們具有包容性。我們會持續歡迎和指導初次貢獻的新手。
我們以社群驅動。關於 API 和功能的決策由我們使用者的需求驅動,而不是由核心團隊的突發奇想驅動。(請參閱SKIP 1 — scikit-image 治理與決策。)
我們主要服務科學應用,而不是像 Photoshop 或 GIMP 那樣的「消費者」影像編輯。這通常意味著優先考慮 n 維數據支援,並拒絕實現科學價值不高的「花俏」濾鏡。
我們重視簡單、易讀的實作,而不是追求每一絲效能。對於新手和維護者而言,易於理解的易讀程式碼,使得貢獻新程式碼以及防止錯誤變得更容易。這表示,舉例來說,如果減少程式碼行數兩倍,我們寧願接受 20% 的速度減慢。
我們重視教育和文件。所有函數都應具有 NumPy 風格的文檔字串,最好附帶範例,以及展示該函數如何在科學應用中使用的展示範例。核心開發人員在完成文件範例方面發揮積極作用。
我們不做魔法。我們使用 NumPy 陣列而不是花俏的表面物件 [1],並且我們寧願教育使用者,而不是替他們做決定。這並不排除合理的預設值。
本文件#
就像Python 之禪和 PEP8 指導大多數 Python 程式碼的樣式和實作細節一樣,本指南旨在指導關於 scikit-image 未來的決策,無論是在程式碼樣式方面、是否接受新功能,還是是否採用新的相依性等等。
參考資料#
若要深入了解本文件的歷史,請閱讀以下內容