History for SmTIAS-LightSim / tests
2026-06-25
@rintoHasegawa
[add] sm-visualize 3D ビューアに発表スライド向け表示スタイルと平滑化機能を追加 ...
rintoHasegawa committed on 25 Jun
2026-06-03
@rintoHasegawa
[add] 形状指標 (shape_metrics) 5 指標と TECH_11 論点整理 — 現状 4 指標は形を区別できない問題を解決,数値+形+視覚の 3 軸評価方針確立
rintoHasegawa committed on 3 Jun
2026-06-02
@rintoHasegawa
[add] 混合 BSDF (blendbsdf + roughconductor) スキーマと Step 8-14 候補 β A1 感度分析 — 3×3 グリッドで実機方向に作用しないと確定,TECH_10 優先順位を A8/A9/B1 に繰り上げ
rintoHasegawa committed on 2 Jun
2026-06-01
@rintoHasegawa
[add] S3 Step D sm-evaluate に動径 min/max 比を統合 — S3 方針見直し: 「sm-evaluate に DNG 入力経路を追加」当初案は不採用 (実機 DNG 評価は MiniTias-Evaluation の本業で完結.SmTIAS-LightSim 側で重複実装する必要なし).S3 を 3 項目に絞り込み: Step D (sm-evaluate に動径 min/max 比統合) + Step C' (新規シミュ baseline config 作成) + Step G (シミュ再評価 → Step 8-13 として TEST_01 記録).本コミットは Step D.MetricsConfig.radial_min_max: bool = False をスキーマ追加 (schema.py),cli/evaluate.py で _run_radial_min_max() 関数追加・main() 内で算出ステップ統合・_print_summary に代表 2 行追加.radial_profile を再利用 (重複算出回避),未算出時 (radial_profile: false) は関数内部で calc_radial_profile を呼んで自力算出 → 独立有効化可能.metrics.radial_min_max: true 時に metrics.csv 末尾に 4 列 (radial_min_max_ratio / radial_min_distance / radial_min / radial_max) を追加,既存列順序は不変で後方互換維持.既定 False で既存 3 configs (eval_baseline.yaml / eval_baseline_linear.yaml / eval_real.yaml) は無修正で動作.新規テスト 39 件追加 (tests/scene/test_metrics_radial_min_max_schema.py 250 行: A1-A4 スキーマ仕様 + tests/cli/test_evaluate_radial_min_max.py 740 行: B1-B5 関数仕様 + C1-C5 CLI 統合 + D2 slow 統合).既存 569 + 新規 39 = 608 件全通過.Refactorer 判断: プロダクションコード変更なし (既存パターン一貫性あり),テストコードのみ軽微な lint 修正 (未使用 import 削除・I001/E501).SPEC_04 §動径 min/max 比 (オプション) セクション新規追加 (4 列出力・nan 除外・独立有効化の仕様明記.evaluation/radial.py:calc_radial_min_max_ratio は MiniTias-Evaluation src/analysis/spatial.py からのマージと明記).CLAUDE.md 進捗欄に S3 方針見直しと Step D 完了 (608 件全通過) を追記.handoff_smtias_lightsim/ ディレクトリは S3 全体完了後に削除予定で本コミットには含めない.次フェーズ: Step C' (configs/eval_baseline_dng_target.yaml 作成: 既存 eval_baseline_linear.yaml ベース,target_mean=207.82,radial_min_max=true) → Step G (Step 8-13 計測)
rintoHasegawa committed on 1 Jun
@rintoHasegawa
[add] S2 DNG ローダと新指標を MiniTias-Evaluation からコピー — evaluation/dng_loader.py 新規 (handoff_smtias_lightsim/src/dng_loader.py の完全コピー+ docstring 差替: rawpy で 10-bit BGGR Bayer 展開・output_color=raw で linear カラーマトリクス非適用・gamma=(1,1)+no_auto_bright+use_camera_wb=False+user_wb=[1,1,1,1] で linear raw 保持・output_format rgb_float32/luma_float32/rgb_uint8 切替・Rec.709 luma は output_color=raw 時の固定加重プロキシで既存 PNG 経路と互換).evaluation/radial.py に calc_radial_min_max_ratio をマージ追加 (MiniTias-Evaluation の src/analysis/spatial.py から.動径 min/max 比 = 20 点輪帯平均の min/max で 1.0 で均一.画素単位 max/min よりノイズロバスト.nan ビン除外を移植時補強).pyproject.toml + uv.lock に rawpy>=0.21.0 追加 (実 rawpy==0.27.0).新規テスト 32 件 (tests/evaluation/test_dng_loader.py 341 行) で仕様 A1-D 全項目カバー.既存 537 + 新規 32 = 569 件全通過 (slow 除外).検証 V4 完全合格: 実 DNG (reference_measurement/quantitative/MiniTIAS_QM_20260601_124500.dng, 16MB, 暗闇撮影) を LSC 順方向適用 + portrait 向き合わせ (rot90 -1) + 白板 ROI で評価し,CoV/std/max-min/mean/max/min 6 件が相対誤差 < 1e-6 で MiniTias-Evaluation 期待値完全一致.中心/周辺比 1.0911 vs 1.091143・勾配 8.35 vs 8.352987・動径 min/max 0.8600 vs 0.859962 も絶対誤差 < 0.003.Refactorer 判断: _apply_srgb_oetf は既存 evaluation/oetf.py:apply_srgb_oetf と実装重複だがコピー方針優先で放置 (3 箇所以上の違反基準未満・用途異なる).副次変更: roi.py / test_oetf.py / test_visualize.py の軽微な lint 修正.handoff_smtias_lightsim/ ディレクトリは S3 完了後に削除予定で本コミットには含めない.CLAUDE.md 実装済みモジュール一覧に dng_loader.py と radial.py の calc_radial_min_max_ratio 追記+進捗欄に S2 完了 (V4 完全一致含む) を追記
rintoHasegawa committed on 1 Jun
2026-05-28
@rintoHasegawa
[add] Speed-1 LLVM JIT 自動検出と診断ログ強化 — runtime/llvm_init.py を新規実装.ensure_drjit_libllvm_path() で DRJIT_LIBLLVM_PATH 未設定時に Windows 標準 4 候補 (C:\Program Files\LLVM 等) + POSIX glob + LLVM_DIR + extra_candidates を順次探索して os.environ 設定(既設定なら上書きしない).log_variant_status() で llvm_/cuda_/scalar_ 経路を INFO 明示,要求 llvm_* で実 scalar_* なら WARNING 追加.render/runner.py で variant=llvm_* 時に自動検出を呼び ImportError 時は原因明示ログ→ re-raise,mitsuba を関数内遅延 import 化.visualize/baker.py の _set_variant_once に LLVM 自動探索分岐を追加し direct/path 両方で log_variant_status を呼ぶ.cli/render.py で import 順を制御し sensors.py/lights.py のモジュールレベル mitsuba import 前に検出を確実に通す.docs/02_ENV/ENV_02 に LLVM インストール手順・DRJIT_LIBLLVM_PATH 説明・動作確認コマンドを追記.新規テスト 51 件 (runtime/test_llvm_init.py 25, render/test_runner_jit_init.py 14, visualize/test_baker_jit_init.py 8, cli/test_render_jit_init.py 4) で仕様 A1-E1 完全カバー,DRJIT_LIBLLVM_PATH 設定下で 606 件全通過.速度は不変(目的は再発防止+診断容易化).数値同等性は MC 内部シードで SHA256 異なるが平均相対誤差 7.23e-05 で統計同等性パス.これで環境変数消失によるサイレントクラッシュが再発しない土台が整備された.TEST_04 Speed-1 セクションを実施結果で更新.CLAUDE.md 開発進捗に Speed-1 完了追記+実装済みモジュール一覧に runtime/llvm_init.py 追加
rintoHasegawa committed on 28 May
2026-05-27
@rintoHasegawa
[add] Step 8-8: linear 評価モードに mean 揃え正規化を導入 — evaluation/normalize.py の apply_mean_anchor + NormalizationConfig スキーマ + OETF 排他バリデーション + CLI 統合.configs/eval_baseline_linear.yaml で有効化(target_mean=146.7146).形状指標 (CoV/勾配/C/P/max-min) は厳密不変,mean のみ target_mean に揃う.SPEC_02・SPEC_04・TEST_01 Step 8-8 を更新.テスト 62 件追加 (既存 441 + 新規 62 = 503 件全通過)
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] 3D ビュー追加改善 — path ベイク max_depth 独立化(--bake-max-depth)・幾何カリング(--cull-outward 既定ON)・マーカー個別非表示 ...
rintoHasegawa committed on 27 May
2026-05-18
@rintoHasegawa
[add] 3D ビュー大幅改善 — path ベイク(多重反射)/全面統一着色/任意テクスチャ投影/ベイクキャッシュ/各種調整フラグ ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] 3D ビュー改善 — 評価板に実レンダ(多重反射)輝度マップを投影表示、配色/正規化/演出を改善 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] OETF 順方向適用を sm-evaluate へ正規実装 — シミュ linear を実測 sRGB ドメインへ変換、後方互換 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] Step 8 キャリブ準備 — orthographic sensor / visualize 互換化 / ROI 物理対応 / SPEC_03
rintoHasegawa committed on 18 May
2026-05-17
@rintoHasegawa
[add] Step 7 — 3D 照度ベイク + sm-visualize CLI(PyVista インタラクティブビューア)
rintoHasegawa committed on 17 May
2026-04-28
@rintoHasegawa
[add] Step 6 — sm-evaluate CLI(ROI 抽出・可視化・metrics CSV 出力)と単体/統合テスト
rintoHasegawa committed on 28 Apr
2026-04-26
@rintoHasegawa
[add] Step 5 — sm-render CLI と最小フィクスチャ・統合テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 4 — シーン構築・Mitsuba レンダリング・出力と単体テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 3 — ジオメトリ層(LoadedMesh / load_stl / scale_vertices)と単体テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 2 — YAML スキーマ(pydantic)と loader,ENV_01 に依存追記
rintoHasegawa committed on 26 Apr
2026-04-25
@rintoHasegawa
[add] Step 1 — 均一性評価モジュール(uniformity / zones / radial)と単体テスト
rintoHasegawa committed on 25 Apr