本ドキュメントは,MiniTias-Evaluation で実装した DNG 読み込み I/F を SmTIAS-LightSim 側へコピー・統合するための引き継ぎ書である.要求仕様は TECH_01(SmTIAS-LightSim 側での名称は TECH_05).
TECH_01 の Phase 分割のうち,本引き継ぎ時点で完了しているのは Phase 1(DNG 読み込み I/F)のみ.
| TECH_01 Phase | 内容 | 状態 |
|---|---|---|
| Phase 1 | DNG 読み込み I/F (dng_loader.py) | ✅ 完了(コピー対象) |
| Phase 2 | メタデータ JSON 読み込み I/F (metadata_loader.py) | ❌ 未実装 |
| Phase 3 | LSC マップ参照・hot pixel マスク | △ LSC 順適用はプロトタイプのみ(run_uniformity_dng.py 内) |
| Phase 4〜6 | 既存パイプライン統合 / PNG vs DNG / SPEC 更新 | ❌ 未着手 |
| コピー元(MiniTias-Evaluation) | コピー先(SmTIAS-LightSim) | 区分 |
|---|---|---|
src/io/dng_loader.py | src/sm_tias_lightsim/evaluation/dng_loader.py | ★ 正規コピー対象 |
scripts/run_uniformity_dng.py | (参考)cli/ 等に統合 | LSC 順適用・向き合わせ・評価フローの参考 |
src/analysis/spatial.py の calc_radial_min_max_ratio | 既存 spatial/uniformity 相当へマージ | 動径 min/max 比指標(追加指標) |
"""DNG 読み込みモジュール. MiniTias-Evaluation/src/io/dng_loader.py を SmTIAS-LightSim にコピーしたもの. オリジナルは MiniTias-Evaluation 側で管理する.バグ修正・機能追加はそちらで行い, 本プロジェクトに反映する形を取る. """
spatial.py は SmTIAS-LightSim 側の既存均一性コードと競合しうるため,丸ごとコピーせず calc_radial_min_max_ratio のみマージすること.以下は実装の前提であり,TECH_01(要求仕様)の記述と食い違う点を含む.必ず反映すること.
apply_lsc_inverse は誤り: RAW_SENSOR DNG はレンズシェーディング未補正(補正は DNG OpcodeList2 の GainMap / meta.json lscMap として付随するが rawpy は適用しない).TECH_01 の apply_lsc_inverse(「DNG=補正済み」前提で逆適用)は実態と逆.照明ムラを測るには lscMap を順方向に適用してレンズビネットを除去する(image × interpolate(lscMap)).output_color=raw: カラーマトリクスを通すとチャンネル混合で per-channel 比例が崩れる.rgb_float32/luma_float32 は output_color=rawpy.ColorSpace.raw で読む(rgb_uint8 のみ sRGB).これにより入射光量とセンサ信号の比例(放射輝度リニアリティ)を担保.rot90(-1)(左右反転なし.フロントカメラ id=1 の preview はミラーされるが RAW はミラーされない).output_color=raw では Rec.709 luma は厳密な CIE 輝度ではなく,既存 PNG 経路互換の固定加重.代表結果は 外乱光に汚染されていない「MiniTIAS の照明のみ」の撮影(MiniTIAS_QM_20260601_124500,室内灯 OFF)を採用する.外乱光の有無で評価はほぼ変わらない(REPORT_03)が,純粋な装置照明の均一性を代表させるため暗闇条件を選定.
評価条件: linear(output_color=raw)/ portrait / LSC 補正あり / 白板 ROI.
| 指標 | 値 |
|---|---|
| CoV | 0.0695 |
| max/min 比 | 1.617 |
| 中心/周辺比 | 1.0911 |
| 勾配 (%) | 8.35 |
| 動径 min/max 比 | 0.8600 |
成果物(図・CSV)はハンドオフ束 handoff_smtias_lightsim/results_dark_124500/ に同梱.
MiniTIAS_QM_20260601_124500.dng)を読み込み,上表と同じ評価指標が出ること.rawpy>=0.21.0.docs/PROGRESS.md