Newer
Older
SmTIAS-Evaluation / docs / 03_PLAN / PLAN_02_開発ステップ.md

開発ステップ (Development Steps)

方針 (Approach)

PLAN_01 の検証対象の優先度に従い,段階的に実装する.各ステップは独立してテスト・実行可能な単位とする.

実装状況の凡例: ✅ 完了 / 🟡 一部完了 / ⬜ 未着手.詳細な経緯は docs/PROGRESS.md を参照.

ステップ一覧 (Steps)

ステップ 1: プロジェクト骨格の構築 ✅ 完了

  • src/tests/ のディレクトリ・__init__.py を作成
  • loader.py で PNG 読み込み・ROI 抽出を実装
  • ユニットテストで動作確認

ステップ 2: SmTIAS 照明均一性評価 ✅ 完了

  • uniformity.py で輝度分布・均一性指標(CoV,標準偏差,最大/最小比)を実装
  • plotter.py で輝度マップ・ヒストグラムを生成
  • exporter.py で CSV・PNG 出力
  • SmTIAS の白板画像で実行し結果を確認

当初計画から追加で実装した項目(実装済み):

  • spatial.py: 空間解析(中心/中間/周辺ゾーン,中心周辺勾配,動径輝度プロファイル,動径 min/max 比)
  • reproducibility.pyregistration.py: 位置合わせ(位相相関)付き SSIM による画像間再現性評価
  • viewer.py: Streamlit による結果ビューア / select_roi.py: OpenCV による対話的 ROI 選択
  • 報告書 TEST_01(照明均一性)/ TEST_02(PNG・DNG 比較)/ TEST_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 / PROGRESS.md を参照

ステップ 3: TIAS との照明均一性比較 ⬜ 未着手

  • ステップ 2 のパイプラインを TIAS 画像にも適用
  • 装置間の比較グラフ(並列表示,差分)を追加
  • 比較結果を CSV に出力
  • 前提: TIAS 画像の取得(data/tias/ は現状空)

ステップ 4: 色再現性評価 ⬜ 未着手

  • color.py で sRGB → L*a*b* 変換・ΔE2000 計算を実装
  • 舌模型画像の色差を装置間で比較
  • 比較グラフ・表を出力

ステップ 5: 実行スクリプトの整備 🟡 一部完了

  • 解析の実行スクリプトを整備(実装: run_uniformity.py(PNG)/ run_uniformity_dng.py(DNG).当初想定の単一 run_analysis.py ではなく評価軸ごとに分割)
  • コマンドライン引数(--image 等)で対象切り替え・ディレクトリ一括処理に対応済み
  • 色再現性(ステップ 4)など未実装軸の統合は今後

依存関係 (Dependencies)

ステップ 1 → ステップ 2 → ステップ 2.5 (DNG)
                         → ステップ 3
                         → ステップ 4
                                    → ステップ 5
  • ステップ 1 はすべてのステップの前提
  • ステップ 2.5(DNG 対応)はステップ 2 完了後に実施(実装済み)
  • ステップ 3 と 4 はステップ 2 の完了後,並行して進めることも可能
  • ステップ 5 は 3・4 の完了後