ステップ 2: SmTIAS 照明均一性評価 完了: 照明均一性の評価指標算出・可視化を実装し,REPORT_01(照明均一性評価報告書)を作成済み.次はステップ 3.
git log を参照).以降の進捗は本ファイル末尾に追記する. TECH_05 Phase 1: DNG 読み込み I/F + 動径 min/max 比指標: SmTIAS 定量モードの出力が PNG→DNG(RAW_SENSOR) に変わったため DNG 読み込み I/F(src/io/dng_loader.py)を新設.あわせて照明均一性に動径 min/max 比指標を追加.SmTIAS-LightSim へのコピー前提で再利用性重視.
output_color=raw(カラーマトリクス非適用)とし,入射光量とセンサ信号の比例(放射輝度リニアリティ)を担保.カラーマトリクス経路はチャンネル混合で per-channel 比例が崩れるため不採用.luma は既存 PNG 経路互換のため Rec.709 維持(raw 経路では厳密な CIE 輝度でなく固定加重プロキシ).apply_lsc_inverse は「DNG=補正済み」前提だが実際は未補正.照明ムラを測るには lscMap を順方向適用してレンズビネットを除去する向きで Phase 3 を設計すること.LSC 順適用で白板 ROI の CoV は約半減を実測.rot90(-1)(左右反転なし).フロントカメラ(id=1) の preview はミラーされるが RAW はミラーされないため反転不要(ラベル位置で確認).scripts/run_uniformity_dng.py は PNG 版の DNG 対応ランナーとして暫定追加(共通化は将来).リリース準備: SmTIAS へ全面改名 + 共通化リファクタ + ドキュメント整理: 新バージョンのタグ付けに向けて以下を実施.
pyproject.toml,ROI キー smtias.whiteboard,docs/scripts/tests/src,GitHub リポジトリ名 SmTIAS-Evaluation,data/・output/ の実データ/成果物ファイル名).参照コピー MiniTias/(外部リポジトリ)は対象外.load_roi_config を src/config.py に集約.run_uniformity_dng.py 内の DNG 輝度化パイプライン(dng_luminance/lsc_gain_rgb/_upsample)を src/io/dng_pipeline.py に移設し,compare 系・plot 系スクリプトが「スクリプト間 import」をやめて src/ から取得するように変更(上記「共通化は将来」を解消).dng_loader.py の Rec.709 係数重複は SmTIAS-LightSim への単体コピー前提のため意図的に据え置き.README.md を新設.CLAUDE.md にプロジェクト概要と SPEC_02 索引を追加.TECH_01 のローカル TECH_02 リンク切れを修正.単灯照明の切り分け評価 + output 構造のデバイス別整理(2026-06-23): 下・左・右の 3 灯を 1 灯ずつ単独点灯(他 2 灯を黒テープで遮光)して白板を撮影し,各灯単体の照射偏り・均一性を評価.3 灯合成均一性の根拠(相補配置)を確認した.
data/smtias/quantitative/SmTIAS_QM_20260615_{141420=下,150300=左,170948=右}.各 DNG を run_uniformity_dng.py(linear+LSC,ROI=smtias.whiteboard)で評価.MiniTIAS_QM_* だが,既存 QM 規約に統一して SmTIAS_QM_<timestamp> へリネーム.LED 条件(下/左/右)はファイル名に含めず報告書側で管理する方針(ユーザー選択).170358 は ROI 内に黒テープが写り込み,最小輝度 2.89・max/min≈27.7 と min 依存指標が無効化.撮り直し版 170948(min 46.0・max/min 1.66)に差し替え,初回分はデータ・結果とも削除.→ 撮影時はフレーム外で遮光する運用を徹底.scripts/compare_single_leds.py(3 単灯を共通絶対カラースケールで並置+動径プロファイル重ね描き+指標表,出力 output/smtias/figures/compare_single_leds.png).スケールは外れ値に強い p1–p99 で決定.docs/06_TEST/TEST_04_単灯照明比較評価報告書.md を作成し CLAUDE.md 索引に追記.output/figures・output/results をデバイス別へ集約 → output/smtias/{figures,results}(SmTIAS 全成果物)/output/compare/(smtias↔tias 横断比較)/output/tias_dfk23*(既存).さらに figures 内で非 QM(PNG 白板 SmTIAS_20260408_* セット)を output/smtias/figures/whiteboard/ サブフォルダへ分離.OUTPUT_PATH を新構造へ(ambient/png_dng→output/smtias/figures/,smtias_tias→output/compare/)+ mkdir(parents=True) を追加.run_uniformity*.py・plot_radial_clean.py の --output 既定を output/ → output/smtias/ に変更(TIAS は従来どおり --output 明示で分離).compare_png_dng_slide.py の mkdir 重複も解消.pytest は 381 passed のまま(テストは tmp_path 依存でパス変更の影響なし).output/smtias/results/ 側は非 QM/summary を whiteboard/ 配下へ分離する整理が未対応(figures のみ実施).3 灯合成の実測 vs 単灯加算(下+左+右)の検証も今後の課題(TEST_04 限界節). 後側ロフト w=1.4 筐体の実機評価(2026-07-27): 後側筐体のみロフト 1.4 版(SmTIAS-LightSim 後側_w1p4.stl,下側フレア部が最大約 10 mm 膨張・キャビティ +6.3%)に交換した SmTIAS 001 を白板撮影で評価.従来筐体の後側ロフトは 0.5(比較の基準).全灯×2(汚れあり/清掃後)+単灯 3 枚を取得し,TEST_10(シミュ)の実機検証と TEST_04 限界節の「実測 vs 単灯加算」検証を実施.報告書 docs/06_TEST/TEST_05_後側ロフトw1p4実機評価報告書.md.
data/smtias/quantitative/SmTIAS_QM_20260726_183416(全灯・汚れあり)/20260727_{124257=全灯清掃後,134105=下,134853=左,140129=右}.取り込み名 MiniTIAS_QM_* は既存規約どおり SmTIAS_QM_* へリネーム(LED 条件はファイル名に含めず報告書側で管理).134105 の ROI 下端(y≈1391–1408, x≈68–611, 面積比 0.14%)に遮光テープが写り込み min 依存指標が無効化(max/min 11.5).写り込み行除外の参考値 CoV 0.0576・max/min 1.560 を報告書に併記.TEST_04 で提起した「フレーム外で遮光」運用が徹底されず → SPEC_03 への手順明文化を推奨として記載.compare_single_leds.py を CLI 引数化(--bottom/--left/--right/--output/--title-suffix,既定値は従来撮影で挙動不変).compare_composite_vs_sum.py を新規追加(実測/加算の共通スケール並置+比マップ+動径重ね描き+指標表).出力は compare_single_leds_w1p4.png・compare_composite_vs_sum_w1p4.png.compare_loft_housings.py を新規追加し,全灯(比マップ付き)と単灯(2×3 並置+動径重ね描き 6 本)を筐体間で直接比較.画素比 w1.4/w0.5 は中央値 1.131・p5,p95=1.090,1.172 で,増光は像面上側の暗部で最大(+15〜17%)・中心明部で最小(+9%).暗部の選択的持ち上げが CoV 微改善の実体と判明.出力 compare_loft_housings_{all,singles}.png. テンプレート同期(2026-09-29): programming-template の最新版(commands → skills 移行,規約の .claude/rules/ 化,solo/team モード,ops-runner 等のエージェント,ntfy 通知フック)を取り込み,プロジェクト側を新構成へ追従.
.claude/rules/{coding-style,project-structure,testing,error-handling}.md)へ移行.docs に置くと読ませ忘れが起きるが,rule なら該当ファイル編集時に自動ロードされるため.内容は据え置き(構造図のみ実態に合わせ config/ 追加・廃止済み SmTIAS/ 参照コピーを削除).ENV_04 を新設.GitHub の Dependabot alerts / security updates を有効化し .github/dependabot.yml(pip・github-actions,週 1)を追加..claude/project-mode は solo. pip + venv から uv へ移行(2026-09-29): 依存を pyproject.toml に一本化(開発用は [dependency-groups] dev)し,requirements*.txt を廃止.uv.lock と .python-version(3.12)でバージョンを固定.
rawpy>=0.21.0 以外が無指定で,環境を作るたびに numpy・opencv 等の版が変わり,報告書の数値の再現性を担保できなかった.また無指定では Dependabot が更新 PR をほぼ作れない(ecosystem を pip → uv に変更し,lock 更新 PR が届くようにした).uv run pytest で 357 passed / 24 skipped(skip はすべてサンプル DNG が data/ に無いことによる).ruff check に既存違反 299 件(E501 行長 268・I001 24 等)が残るため,依存更新の検証スイート(ENV_04)は uv sync + uv run pytest のみとした.