# 要件定義書 (Requirements Definition)

## プロジェクト概要 (Project Overview)

- プロジェクト名: SmTIAS-LightSim
- 目的: MiniTIAS（スマートフォン舌画像撮影装置）の照明ユニットを試作する前に，
  LED 配置・ディフューザー形状・筐体内反射条件を仮想的に変更しながら照明均一性を
  シミュレーションし，設計の方向性を絞り込む
- 背景:
  - 既存の MiniTIAS は中心/周辺比 ≈ 1.064，勾配 ≈ 6% の照明ムラが実測で確認されている
    （[MiniTias-Evaluation/REPORT_01](../../MiniTias-Evaluation/REPORT_01_照明均一性評価報告書.md)）
  - 実機制作→撮影→評価のサイクルは筐体 3D プリントや回路組み立てのコストが高く，
    設計変更を数多く試せない
  - Fusion 360 で筐体 3D モデルを試作中のため，そのジオメトリを取り込めると設計変更が速い

## 対象ユーザー (Target Users)

- 研究者本人（千葉大学フロンティア医工学センター）
- PC 上でローカル実行．他者への配布・GUI パッケージ化は不要

## スコープ (Scope)

### やること (In Scope)

- **光源・幾何モデルの入力**:
  - Fusion 360 で作成した筐体モデル（STEP / STL 等）を読み込み，光源・反射面を設定
  - LED の配置・数・向きを変数として与えられる
- **照明均一性の事前シミュレーション**:
  - 白板相当の平面（ROI 相当）での輝度分布を算出
  - 出力は実機の撮影画像（PNG）と同じ形式の擬似撮影画像，または輝度マップ
- **MiniTias-Evaluation と同じ指標での評価**:
  - Rec.709 輝度，CoV，標準偏差，最大/最小比
  - 3 ゾーン分析（center / middle / periphery）・放射状プロファイル
- **設計バリエーションの比較**:
  - 同一評価フォーマットで複数設計の結果を並べて比較できるようにする

### やらないこと (Out of Scope)

- MiniTIAS アプリ（Flutter/Dart）の修正（`MiniTIAS/` は参照用）
- 実測データの処理（MiniTias-Evaluation の範疇）
- 筐体の構造・熱・強度解析（光学のみ）
- GUI / Web アプリ化（CLI or スクリプト実行）
- リアルタイムシミュレーション
- 色再現性（ΔE）の検証 — 均一性検証が完了してから拡張する

## 検証対象 (Evaluation Targets)

| 優先度 | 対象 | 評価項目 | 備考 |
| --- | --- | --- | --- |
| 1（最初） | 基準設計の再現 | MiniTIAS 実測値との一致（均一性指標） | 現行構成をモデル化してキャリブレーション |
| 2 | 光源配置の最適化 | CoV，中心/周辺比の改善 | LED 個数・角度・位置を変数化 |
| 3 | ディフューザー形状の検討 | CoV の改善 | 透過率・散乱特性をパラメータ化 |
| 4（将来） | 色再現性の事前検討 | ΔE | 均一性の課題解決後に着手 |

## データ (Data)

- **入力**:
  - 筐体ジオメトリ（Fusion 360 から STEP/STL/3MF 等でエクスポート）
  - 光源定義（LED 位置・向き・光度分布．データシートまたは仮定値）
  - 材料パラメータ（反射率・透過率・散乱係数等）
- **出力**:
  - シミュレーション画像（PNG）または輝度マップ（NumPy/PNG）
  - 均一性指標 CSV（MiniTias-Evaluation と同フォーマット）
  - 設計比較レポート（表 + 可視化 PNG）

## 検証の進め方 (Evaluation Strategy)

1. 現行 MiniTIAS の構成を仮想モデル化し，実測値（CoV ≈ 0.0426，勾配 ≈ 6%）と
   比較してシミュレーション精度をキャリブレーション
2. 光源配置・ディフューザー形状の改良案を複数作り，同じ指標で比較
3. 有望な改良案を Fusion 360 側に反映し，実機試作へ

## 技術選定の決定事項 (Resolved Decisions)

下記はフェーズ 2（技術選定）〜フェーズ 7・Step 8（基準設計キャリブレーション）を通じて確定済み．選定論拠は [ENV_01「既存ツールとの比較（なぜ自作 Mitsuba 3 か）」](../02_ENV/ENV_01_技術スタック.md) に記載．

- **シミュレーション手法**: 決定 → **モンテカルロ光線追跡**（Mitsuba 3 の path integrator．多重反射計算が CoV 再現に必須のため）
- **採用ライブラリ / ツール**: 決定 → **Python 自作 + Mitsuba 3**．商用光学シミュレータ（LightTools 等）はライセンス費・指標コードを実機系と共有できない点・キャリブの内部不可視性から不採用（[ENV_01 参照](../02_ENV/ENV_01_技術スタック.md)）
- **Fusion 360 からのジオメトリ受け渡し形式**: 決定 → **STL（バイナリ）**．mm→m 換算は実装側で対応（[ENV_01「ジオメトリ受け渡し」参照](../02_ENV/ENV_01_技術スタック.md)）
- **LED の光学パラメータ取得元**: 一部未確定 → 現状は **Lambertian 配光を仮定**．使用 LED データシートに基づく IES プロファイルへの差替えは将来の拡張余地として残す（[SPEC_03 参照](../04_SPEC/SPEC_03_基準設計の物理構成.md)）
