diff --git "a/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" "b/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" index 3b2568e..7bf71f4 100644 --- "a/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" +++ "b/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" @@ -19,7 +19,7 @@ - **色再現性の評価**: 舌模型画像の色差(ΔE)を算出し,TIAS と SmTIAS の色再現性を比較する - **L\*a\*b\* 色空間変換**: 撮影画像を sRGB から CIE L\*a\*b\* 色空間に変換し,色彩値を定量比較する - **結果の可視化**: 解析結果をグラフ・表として出力する(論文掲載用) -- **バッチ処理**: 事前に撮影済みの PNG 画像を PC 上で事後処理する +- **バッチ処理**: 事前に撮影済みの画像(PNG / DNG)を PC 上で事後処理する ### やらないこと (Out of Scope) @@ -42,5 +42,5 @@ ## データ (Data) -- **入力**: TIAS および SmTIAS で撮影した PNG 画像(両方とも手元にあり) +- **入力**: 撮影画像.SmTIAS は白板 PNG と定量モードの DNG (RAW_SENSOR) が手元にある.TIAS 画像は今後取得予定(`data/tias/` は現状空). - **出力**: 解析結果(数値データ,グラフ,比較表) diff --git "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" index 284e904..d9603bc 100644 --- "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" +++ "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" @@ -4,46 +4,66 @@ PLAN_01 の検証対象の優先度に従い,段階的に実装する.各ステップは独立してテスト・実行可能な単位とする. +実装状況の凡例: ✅ 完了 / 🟡 一部完了 / ⬜ 未着手.詳細な経緯は [docs/PROGRESS.md](../PROGRESS.md) を参照. + ## ステップ一覧 (Steps) -### ステップ 1: プロジェクト骨格の構築 +### ステップ 1: プロジェクト骨格の構築 ✅ 完了 - `src/`,`tests/` のディレクトリ・`__init__.py` を作成 - `loader.py` で PNG 読み込み・ROI 抽出を実装 - ユニットテストで動作確認 -### ステップ 2: SmTIAS 照明均一性評価 +### ステップ 2: SmTIAS 照明均一性評価 ✅ 完了 - `uniformity.py` で輝度分布・均一性指標(CoV,標準偏差,最大/最小比)を実装 - `plotter.py` で輝度マップ・ヒストグラムを生成 - `exporter.py` で CSV・PNG 出力 - SmTIAS の白板画像で実行し結果を確認 -### ステップ 3: TIAS との照明均一性比較 +**当初計画から追加で実装した項目(実装済み):** + +- `spatial.py`: 空間解析(中心/中間/周辺ゾーン,中心周辺勾配,動径輝度プロファイル,動径 min/max 比) +- `reproducibility.py` + `registration.py`: 位置合わせ(位相相関)付き SSIM による画像間再現性評価 +- `viewer.py`: Streamlit による結果ビューア / `select_roi.py`: OpenCV による対話的 ROI 選択 +- 報告書 REPORT_01(照明均一性)/ REPORT_02(PNG・DNG 比較)/ REPORT_03(外乱光影響) + +### ステップ 2.5: DNG (RAW_SENSOR) 対応 ✅ 完了(TECH_05 Phase 1) + +- SmTIAS 定量モードの出力が PNG → DNG(RAW_SENSOR) に変わったため DNG 読み込み I/F を新設 +- `io/dng_loader.py`(linear 展開)+ `io/dng_pipeline.py`(LSC 補正・portrait 化・Rec.709 輝度化) +- `run_uniformity_dng.py` で PNG 版と同じ出力一式を DNG から生成 +- 残フェーズ(既存パイプライン統合・SPEC 更新 等)は [TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md) / PROGRESS.md を参照 + +### ステップ 3: TIAS との照明均一性比較 ⬜ 未着手 - ステップ 2 のパイプラインを TIAS 画像にも適用 - 装置間の比較グラフ(並列表示,差分)を追加 - 比較結果を CSV に出力 +- 前提: TIAS 画像の取得(`data/tias/` は現状空) -### ステップ 4: 色再現性評価 +### ステップ 4: 色再現性評価 ⬜ 未着手 - `color.py` で sRGB → L\*a\*b\* 変換・ΔE2000 計算を実装 - 舌模型画像の色差を装置間で比較 - 比較グラフ・表を出力 -### ステップ 5: 実行スクリプトの整備 +### ステップ 5: 実行スクリプトの整備 🟡 一部完了 -- `run_analysis.py` で全解析を一括実行できるようにする -- コマンドライン引数で解析対象を切り替え可能にする +- 解析の実行スクリプトを整備(実装: `run_uniformity.py`(PNG)/ `run_uniformity_dng.py`(DNG).当初想定の単一 `run_analysis.py` ではなく評価軸ごとに分割) +- コマンドライン引数(`--image` 等)で対象切り替え・ディレクトリ一括処理に対応済み +- 色再現性(ステップ 4)など未実装軸の統合は今後 ## 依存関係 (Dependencies) ```text -ステップ 1 → ステップ 2 → ステップ 3 +ステップ 1 → ステップ 2 → ステップ 2.5 (DNG) + → ステップ 3 → ステップ 4 → ステップ 5 ``` - ステップ 1 はすべてのステップの前提 +- ステップ 2.5(DNG 対応)はステップ 2 完了後に実施(実装済み) - ステップ 3 と 4 はステップ 2 の完了後,並行して進めることも可能 - ステップ 5 は 3・4 の完了後