# TIAS 白板撮影プロトコル (TIAS White-Board Capture Protocol)

本書は，従来型口腔内画像取得装置 **TIAS** の照明均一性を評価するための白板撮影手順とカメラ設定を定める．取得したデータは [SPEC_02 照明均一性評価アルゴリズム](SPEC_02_照明均一性評価アルゴリズム.md) でそのまま解析できることを前提とする．

> **位置づけ**: 本書は撮影（データ取得）側のプロトコルである．評価指標の定義・算出方法は [SPEC_02](SPEC_02_照明均一性評価アルゴリズム.md)，対象範囲は [PLAN_01 要件定義書](../03_PLAN/PLAN_01_要件定義書.md)（優先度 2「照明均一性比較 SmTIAS vs TIAS」）を参照．SmTIAS 側の撮影実績は [TEST_01](../06_TEST/TEST_01_照明均一性評価報告書.md)・[TEST_03](../06_TEST/TEST_03_外乱光影響評価報告書.md) を参照．

## 目的 (Purpose)

TIAS を白板で撮影する目的は，**TIAS 単体の照明均一性を定量化し，最終的に SmTIAS と装置間比較する**ことにある．具体的には次の 3 点を満たすデータを取得する．

- **均一性指標の算出**: 白板（理想的には全面が一様反射率の面光源応答ターゲット）を撮影し，輝度分布から CoV・最大/最小比・中心周辺勾配・動径 min/max 比などを算出する（指標定義は [SPEC_02](SPEC_02_照明均一性評価アルゴリズム.md)）．白板を使うのは，**被写体の反射率ムラを排除し，観測される輝度ムラを照明系のムラに帰着させる**ためである．
- **装置間比較の成立**: SmTIAS と同一の評価パイプライン・同一指標で比較できる形式（後述のカメラ設定・データ形式）で取得する．
- **再現性の確認**: 同一条件で複数枚撮影し，セッション内のばらつき（SSIM・指標の分散）を把握する．

### なぜ条件を SmTIAS と揃えるのか (Rationale: Match SmTIAS Conditions)

本評価の主目的は **SmTIAS と TIAS の照明系の差**を見ることである．露出・ホワイトバランス・現像処理などの撮影条件が両装置で異なると，観測される輝度ムラに「照明系の差」と「撮影条件の差」が混在し，比較が成立しない．そこで TIAS 側も，可能な範囲で SmTIAS の定量撮影モードと撮影条件を揃え，**純粋に照明系の差だけが指標に現れる**ようにする．

※ ただし CoV・最大/最小比・中心周辺比・動径 min/max 比は画像内の相対ばらつき指標であり，全画素に等しく作用する係数（露出スケール・線形ゲイン等）には不変である（[SPEC_02 キャリブレーション](SPEC_02_照明均一性評価アルゴリズム.md) 参照）．したがって**最優先で揃えるべきは「線形性を壊す処理（トーンカーブ・自動露出・ホワイトバランス・ノイズ低減・シェーディング補正）の有無」**であり，露出値・ISO の絶対一致は副次的である．

## 撮影対象 (Target: White Board)

- **白板**: TIAS の積分球開口部に合致する**別白板**を用いる（SmTIAS 用白板とは物理形状が異なるため流用しない）．
  - 開口部全面を均一な反射率で覆える寸法・形状であること．
  - 表面は均一拡散反射（マット）で，光沢・色ムラ・汚れ・傷がないこと．
  - 評価に使う領域（ROI）が開口内に十分収まること．
- **ROI の扱い**: 白板の白色面のみを ROI とし，開口縁・筐体壁面・フレーム・ラベル等は除外する（ROI 選定手順は [SPEC_02 ROI 設定](SPEC_02_照明均一性評価アルゴリズム.md)）．TIAS 用の ROI は SmTIAS とは別座標になるため，`config/roi_config.json` に `tias.whiteboard` として新規登録する．

> **要確認**: TIAS 開口部の形状・寸法と，それに合致する白板の入手/作製方法は未確定．撮影前に物理的な設置可否を確認する（[要確認事項](#要確認事項-open-questions)）．

## カメラ設定 (Camera Settings)

### 揃える基準値 (SmTIAS 定量撮影モード)

SmTIAS は定量撮影モードで以下の設定により **RAW_SENSOR (DNG) を線形・無補正で取得**している（実測値: `data/smtias/quantitative/*.meta.json`，機種 SH-02M / AQUOS sense3）．TIAS 側はこの設定思想に揃える．

| 項目 | SmTIAS 定量モードの値 | 揃える狙い |
| --- | --- | --- |
| 出力形式 | RAW_SENSOR (DNG, 10-bit linear) | トーンカーブ・sRGB 符号化を経ない線形信号を得る |
| 自動露出 (AE) | OFF（手動固定） | 露出を固定し，フレーム間で変動させない |
| 露出時間 | 8,333,333 ns（≒ 1/120 s） | 固定露出 |
| ISO 感度 | 40（最低感度） | ノイズ最小・固定 |
| ホワイトバランス (AWB) | OFF，ゲイン [1,1,1,1]，色変換 identity | チャンネルゲインを掛けず生の比率を保つ |
| オートフォーカス (AF) | OFF（手動固定） | フォーカス位置を固定 |
| ノイズ低減 (NR) | OFF | 空間的平滑化で輝度分布を歪めない |
| エッジ強調 | OFF | シャープ化による輝度改変を避ける |
| トーンマップ | CONTRAST_CURVE_LINEAR（線形） | 入射光量に比例した値を保つ |
| シェーディング補正 (LSC) | HIGH_QUALITY（補正を適用しビネット除去）※ | レンズ由来の周辺減光を除き，照明系のムラだけを残す |
| ブラックレベルロック | true | 黒レベルを固定 |

※ **シェーディング補正（LSC）は他の処理と性質が逆で，必ず適用してビネットを除去する**．NR・トーンカーブ・エッジ強調は信号を不可逆に歪めるため OFF にするが，シェーディング補正は**レンズ由来の周辺減光（ビネット）を除く**補正であり，これを掛けないと照明系のムラとカメラのビネットが混在してしまう．SmTIAS では `shading_mode = HIGH_QUALITY` を指定しているが実機 DNG は LSC **未補正**で出力されるため，評価側（`src/io/dng_pipeline.py`）でシェーディングマップを順適用してビネットを除去している（経緯は [TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md)）．**未補正のまま評価すると指標が大きく悪化する**（SmTIAS 実測: CoV 0.070→0.146，中心周辺勾配 8.4%→31%，動径 min/max 0.86→0.53．[TEST_03](../06_TEST/TEST_03_外乱光影響評価報告書.md)）．したがって TIAS でも，在カメラ補正を掛けるか，RAW で取得してシェーディングマップを残し評価側で補正できるようにする（どちらでもよいが最終的にビネットは必ず除く）．なお実機 TIAS は在カメラ補正もシェーディングマップも持たないため，後述「[TIAS 実機カメラ仕様と差分の扱い](#tias-実機カメラ仕様と差分の扱い-tias-cameras--handling-gaps)」のフラットフィールド補正で対応する．

### 設定方針 (Capture Policy for TIAS)

優先度の高い順に次を満たす．

1. **線形・無加工で取得する（最優先）**: 自動露出・自動ホワイトバランス・ノイズ低減・エッジ強調・トーンカーブをすべて OFF にし，可能なら **RAW** で保存する．これらが ON だと輝度が入射光量に比例しなくなり，照明ムラの評価が成立しない．
2. **シェーディング補正（ビネット除去）は必ず適用する**: 上記の OFF 項目とは逆に，レンズ由来の周辺減光（ビネット）は補正して除く．未補正だと照明系のムラとカメラのビネットが混在し，指標が大きく悪化する（SmTIAS 実測で CoV が約 2 倍・中心周辺勾配が約 4 倍に膨張．[TEST_03](../06_TEST/TEST_03_外乱光影響評価報告書.md)）．在カメラ補正を掛けるか，RAW＋シェーディングマップで評価側補正できるようにする（SmTIAS と同方式）．
3. **すべて手動固定する**: 露出・ゲイン（ISO）・ホワイトバランス・フォーカスを手動で固定し，全撮影で同一値を使う．
4. **飽和・黒つぶれを避ける**: 白板の最明部が飽和（クリップ）せず，かつ十分な信号量になるよう露出を調整する．飽和すると最大/最小比・CoV が過小評価される．SmTIAS では飽和画素率 0%・p99 が白レベル 1023 に対し約 880 と余裕を持たせている．TIAS でも飽和ゼロかつ最明部がレンジの 7〜9 割程度を目安とする．
5. **露出値の一致は副次的**: TIAS のセンサ・光学系・照明強度は SmTIAS と異なるため，露出時間・ISO の絶対値を SmTIAS に一致させる必要はない．**「線形・無加工・飽和なし」を満たした上で TIAS 固有の最適露出**を選び，その値を記録する．

### TIAS 実機カメラ仕様と差分の扱い (TIAS Cameras & Handling Gaps)

TIAS の撮影は専用アプリ **TIASshot** が制御し，2 系統のカメラ（Lucam: Lumenera Lw110，ImagingSource: DFK 33UX178 / DFK 23UX249）に対応する．いずれも **RGB24 8-bit（デモザイク済み）出力で RAW ではない**．実機の撮影条件と SPEC_03 基準値との対照は [TECH_02 TIAS 撮影条件](../05_TECH/TECH_02_TIAS撮影条件.md) を参照．SmTIAS 基準（RAW 10-bit linear）と揃わない項目について，本評価での扱いを次に定める．

#### 8-bit・非 RAW 出力の許容 (8-bit / Non-RAW)

- TIAS は RAW を取得していないため **RGB24 8-bit を許容する**．ただし条件として，撮影パスが**線形**（γ=1.0・トーンマップ OFF）であり，白板が 8-bit レンジの中〜上を使う適正露出であること．真のリスクはビット深度でなく隠れた非線形なので，リニアリティを担保する．
- 量子化ノイズの CoV への寄与は平均輝度 150〜200 で 0.002 程度と無視できる．デモザイク（HIGH_QUALITY 等）は白板の低空間周波数に対して影響が小さく許容する．
- 8-bit ではノイズに弱い画素単位の最大/最小比よりも，**CoV・中心周辺勾配・動径 min/max（輪帯平均）を主指標**とする．

#### 色処理（WB・CCM・色強調） (Color Processing)

- ホワイトバランスは校正なしの**固定値（非 identity）**のまま評価してよい．**全チャンネルが同一の空間パターンを持つ限り，固定の線形結合（WB・CCM）は空間パターンをスカラ倍に保ち，CoV など相対指標は不変**だからである．
- ただし色ビネット等でチャンネルごとに空間パターンが異なると合成輝度の指標がわずかに動く．これを避けるロバストチェックとして，**輝度合成に加えて緑チャンネル単体でも均一性を算出する**（単一チャンネルは一様ゲインに完全不変で，WB/CCM のチャンネル混合を回避できる）．
- 非線形・機種間不一致を避けるため，**色強調（DFK23: Color Enhancement）は OFF，色補正行列（Lucam: CCM）は NONE** を推奨する（クリップによる非線形化と 3 系統の色処理差を解消）．

#### ビネット除去（TIAS にはマップがない） (Vignette Removal)

- TIAS はカメラ・SDK ともレンズシェーディング補正手段を持たず，シェーディングマップも保存していない．SPEC_03 はビネット除去を要求するため，**フラットフィールド補正**で対応する．
- 重要: **TIAS 自身の光で均一面を撮っても照明 L とレンズビネット V は分離できない**（参照画像も `L×V` のため，割っても反射率比≒1 になるだけ）．V を特性化するには **TIAS 照明とは独立な既知の一様光源**（均一 LED パネル/ライトボックス/別の積分球出力等）で画面全面を撮影し，正規化して V(x,y) を得て白板画像を除算する．
- どうしても V を特性化できない場合は，結果を**「照明×レンズの系全体の均一性」と明記**し，レンズ補正済みの SmTIAS とは**直接比較不可（TIAS 照明均一性の下限値）**として留保する（[TEST](../06_TEST/) 側の報告書にも記載）．
- 注: TIAS は積分球で照明が本来きわめて均一なはずのため，未補正画像のムラは**ほぼレンズビネットを測っているだけ**になりうる．ビネット除去は特に重要．

#### 黒レベル（ダークフレーム減算） (Black Level)

- 加算オフセット（ImagingSource の Brightness 等）は均一性指標を**良い方に偏らせる**（加算 c で CoV = σ/(μ+c)，max/min = (max+c)/(min+c) がともに縮む）．機種間でオフセットが異なると（DFK33=240 / DFK23=50）そのまま指標差として混入する．
- 対策として，**機種ごとにダークフレーム（遮光/無照明）を撮影して黒レベルを実測し，指標算出前に減算する**（SmTIAS は黒レベル 64 を減算）．Brightness が加算オフセットか乗算ゲインかは SDK で確認し，加算なら減算，乗算なら一様係数として不変扱いとする．

#### 飽和回避（8-bit） (Saturation Check, 8-bit)

- ROI 内で値 255（念のため ≥254）の画素数 = 0 を確認し，最明部は 180〜230（レンジの 70〜90%）を目安とする．**飽和画素率・p99・チャンネル別 max をショットごとに記録**する（SmTIAS の `image_statistics` 相当）．

## 撮影手順 (Procedure)

1. **設置**: TIAS 開口部に白板を装着し，カメラ・白板・装置の相対位置を固定する．撮影中に動かない固定機構を用いる．
2. **設定適用**: 上記 [カメラ設定](#カメラ設定-camera-settings) を適用（AE/AWB/AF/NR/エッジ/トーンカーブを OFF，露出・ISO・WB・フォーカスを手動固定，可能なら RAW）．**シェーディング補正は OFF にせず，ビネットを除去できる状態にする**（在カメラ補正 or RAW＋シェーディングマップ）．
3. **露出調整**: 白板最明部が飽和せず，最明部がレンジの 7〜9 割程度になるよう露出を調整し，値を確定・記録する．
4. **外乱光条件**: 原則として TIAS 自前照明のみで撮影する．室内照明の影響を確認したい場合は，位置・露出を完全固定したまま室内灯を ON/OFF した連続 2 枚を撮影する（手法は [TEST_03 外乱光影響評価](../06_TEST/TEST_03_外乱光影響評価報告書.md)）．
5. **複数枚撮影**: 同一条件で複数枚（SmTIAS では 12 枚）撮影し，再現性（SSIM・指標分散）を評価できるようにする．
6. **ダークフレーム取得**: 同一カメラ設定で遮光（無照明）画像を撮影し，黒レベル減算用に保存する（機種ごと）．
7. **フラットフィールド取得**: TIAS 照明とは**独立な既知の一様光源**で画面全面を撮影し，レンズビネット V(x,y) 特性化用に保存する（取得できない場合は留保事項として記録）．
8. **記録**: 各撮影の条件（露出・ゲイン・WB・色処理状態・Brightness/黒レベル・外乱光の有無・温度等）と，対応するダークフレーム/フラットフィールドのファイル名を記録する．

## データ管理・命名 (Data Management & Naming)

- **保存先**: `data/tias/whiteboard/`（現状空）に配置する．SmTIAS は `data/smtias/whiteboard/`（PNG）・`data/smtias/quantitative/`（DNG）に分かれている．
- **メタデータ**: TIAS は現状 `Shot{NO}.png`（RGB24）で保存する．撮影条件を記した **JSON サイドカーをショットごとに併置**する（SmTIAS の `*.meta.json` に準拠できると後段の解析が容易）．記録項目: 機種・解像度/ROI 切出，露出時間，ゲイン，WB チャンネルゲイン，CCM/Color Enhancement の状態，γ/トーンマップ状態，Denoise/Sharpness，Brightness（黒レベル），シェーディング補正状態＋使用フラットフィールド/ダークフレームのファイル名，外乱光条件，飽和・低露出画素率，チャンネル別 mean/max，撮影日時．
- **参照画像**: ダークフレーム・フラットフィールドは白板本体と紐付くファイル名で同一フォルダに保存する．
- **ファイル名**: 装置・対象・撮影日時が判別できる命名とする（例: `TIAS_<日付>_<連番>` 等．SmTIAS の `SmTIAS_YYYYMMDD_HHMMSS` に倣う）．
- **ROI 設定**: `config/roi_config.json` に `tias.whiteboard` キーで登録し，解析時に `--roi tias.whiteboard` で参照する．

## 要確認事項 (Open Questions)

撮影に着手する前に確定すべき事項．カメラ仕様は [TECH_02 TIAS 撮影条件](../05_TECH/TECH_02_TIAS撮影条件.md) で判明済み（→ 残る確認点を以下に更新）．確定し次第，本書を更新する．

- [ ] TIAS 開口部に合致する白板の仕様・入手/作製方法と物理的な設置可否
- [ ] TIAS 固有の最適露出（飽和なし・線形を満たす露出時間/ゲイン）の決定
- [ ] **独立な一様光源によるフラットフィールド取得手段**の確保（不可なら系全体評価＋留保で運用）
- [ ] ダークフレーム取得と Brightness（加算オフセット/乗算ゲイン）の意味確定
- [ ] 露出の自動/手動フラグの実機確定（ImagingSource の二重フラグ）
- [ ] 色処理を OFF にできるか（Lucam CCM=NONE，DFK23 Color Enhancement OFF）
- [ ] TIAS 用 ROI 座標の決定と `config/roi_config.json` への登録

## 関連ドキュメント (Related Documents)

- [PLAN_01 要件定義書](../03_PLAN/PLAN_01_要件定義書.md) — 評価対象・優先度（優先度 2: SmTIAS vs TIAS 照明均一性比較）
- [SPEC_02 照明均一性評価アルゴリズム](SPEC_02_照明均一性評価アルゴリズム.md) — 評価指標・ROI 設定・解析手順
- [TECH_01 DNG 対応要求仕様](../05_TECH/TECH_01_DNG対応要求仕様.md) — DNG/メタデータ・LSC の扱い
- [TECH_02 TIAS 撮影条件](../05_TECH/TECH_02_TIAS撮影条件.md) — TIASshot 実機の撮影条件と SPEC_03 基準値との対照
- [TEST_01 照明均一性評価報告書](../06_TEST/TEST_01_照明均一性評価報告書.md) — SmTIAS 単体の撮影実績（12 枚）
- [TEST_03 外乱光影響評価報告書](../06_TEST/TEST_03_外乱光影響評価報告書.md) — 外乱光条件の撮影手法
