GitBucket
Toggle navigation
Pull requests
Issues
Snippets
Sign in
Files
Branches
7
Releases
Issues
Pull requests
Labels
Priorities
Milestones
Wiki
Network
Fork
: 0
hasegawa
/
SmTIAS-LightSim
Download ZIP
67 commits
Transfer to URL with SHA
tree:
7acbddee56
Branches
Tags
×
dependabot/uv/minor-and-patch-6735a9c1ae
dependabot/uv/opencv-python-5.0.0.93
dependabot/uv/pillow-12.3.0
dependabot/uv/trimesh-5.0.0
dependabot/uv/urllib3-2.8.0
dependabot/uv/uv-build-gte-0.12.6-and-lt-0.13.0
main
SmTIAS-LightSim
/
docs
/
latest commit
cfe4a8d112
rintoHasegawa
authored
on 2 Jun
..
01_GUIDE
[update] テンプレートを sync-template SHA 5fc4843 に同期
5 months ago
02_ENV
[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 追加
4 months ago
03_PLAN
[add] OETF 順方向適用を sm-evaluate へ正規実装 — シミュ linear を実測 sRGB ドメインへ変換、後方互換
5 months ago
04_SPEC
[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 計測)
4 months ago
05_TECH
[update] TECH_08 「対応不要」を 2 タイプに細分化 — §許容している構造的差異 セクション新規追加.「対応不要」の理由を 2 種類に分類: タイプ I (本質構造同一・Mitsuba に対応概念なし) = AWB/NR/EDGE/LSC/量子化 等.タイプ II (構造的差異あり・白板で許容) = AF/絞り口径食/ピクセル積分/センサノイズ/QE 波長依存/シャッター方式/温度依存.特に AF (CONTROL_AF_MODE=OFF 固定焦点) を §II-1 焦点モデル として独立詳述: 実機 perspective + 固定焦点で被写界深度 (DoF) と焦点ボケが存在する vs シミュ orthographic は全画素平行光線で焦点・DoF 概念なし (常に完璧合焦相当) という構造的な違いを明示.白板撮影では DoF 内固定 + 一様パターンで許容できるが「ゼロ影響」ではなく舌模型評価時や残差精緻化フェーズで再評価対象.他のタイプ II 項目 (II-2 絞り口径食 = lscMap で補正済 / II-3 ピクセル積分 = spp=1024 で緩和 / II-4 センサノイズ = 白板高輝度で相対影響小 / II-5 QE 波長依存・シャッター・温度・個体差) も白板許容理由を明示.対応マッピング表の AF 行を「対応不要・許容 (§許容している構造的差異 参照)」と再分類.サマリ表をタイプ I/II 区分で更新.Step 8-13 残差 2.63× の主因はタイプ II ではなくシミュ物理モデル誤差と推定する従来結論は維持.タイプ II 寄与は小さいが完全排除不能で,Step 8-14 以降の物理モデル精緻化と並行してタイプ II 独立評価の余地ありと記述.CLAUDE.md 進捗欄にタイプ I/II 分類と AF の構造的差異を追記
4 months ago
06_TEST
[update] S3 全体完結 — TEST_01 に Step 8-13 正式記録 + Step 8-N 候補を不採用扱いに更新 — TEST_01 §Step 8-13 を Step 8-12 と Step 8-N の間に新規追加: 新方針 (実機 DNG+LSC linear) でのシミュ突合を Step 8-1〜8-12 と同フォーマットで記録.計測結果: シミュ CoV=0.1826 / 勾配=24.65% / 中心-周辺=1.3271 / 動径 min/max=0.6151,実機ターゲット (CoV=0.0695 / 勾配=8.35% / 中心-周辺=1.0911 / 動径 min/max=0.860) と比較して残差 2.63× (TECH_06 で予想した 2.66× とほぼ一致).背景・仮説・試した変更 (configs/eval_baseline_dng_target.yaml 作成)・期待効果・実際の結果・解釈 (LSC 由来ではなくシミュ物理モデル誤差が主因)・学び (ガンマ圧縮で 2 倍縮める / TEST_03 finding 4 の前提変更 / 過去 Step 8-1〜8-12 試行の意義)・次のアクション (Step 8-14 以降の物理モデル精緻化) を網羅.俯瞰サマリ表に新ターゲット (実測 TARGET 新 DNG+LSC linear: mean=207.82 / CoV=0.0695 / 勾配=8.35% / C/P=1.091) と Step 8-13 結果行を追加.過去 8-3 の 2.1× は PNG sRGB ガンマ圧縮による楽観値であり真の linear 比較では 2.63× が確定基準と明記.§Step 8-N 候補 (LSC 順方向モデル) のヘッダを「未着手」→「不採用 — Step 8-13 で方針確定」に更新し冒頭注記で経緯を歴史的記録として保持.handoff_smtias_lightsim/ ディレクトリは S3 完結のため整理: 参考スクリプト run_uniformity_dng.py のみ reference_measurement/quantitative/reference_scripts/ に移動 (MiniTias-Evaluation 側の正規評価実装 = LSC 順方向適用 + portrait 向き合わせ + ROI 抽出の参考.将来 SHADING_OFF フォールバック発動時の独立検証用),他は全て SmTIAS-LightSim 側に取り込み済みのため削除.reference_measurement/ は gitignore 対象のため移動・削除自体は git に現れない.S3 全体 (S2 DNG ローダコピー + Step D radial_min_max 統合 + Step C' 新規 baseline config + TECH_07 LSC 方針 + TECH_08 対応マッピング + Step 8-13 計測 + handoff 整理) 完結.次のキャリブ作業は Step 8-14 以降の物理モデル精緻化 (反射率精度・LED 配光・メッシュ幾何) と TECH_04 フォールバック条件 C1 (SHADING_OFF 撮影) の並行検討.CLAUDE.md 進捗欄に S3 全体完結を追記
4 months ago