Newer
Older
TIASshot / docs / 03_SPEC / SPEC_02_設定ファイル仕様.txt
========================================================================
設定ファイル仕様 (Configuration File Specification)
========================================================================

実行ファイルと同じディレクトリに `config.xml` を配置する.
XML のルート要素は `<Config>` とする.

※ ファイル名・保存先のテンプレート変数: `{NO}` は4桁連番,`{CN}` は2桁の次元数に展開される.


1. Lucam カメラ設定 (Lucam Camera)
------------------------------------------------------------------------
Lumenera Lw110 の初期パラメータ.

■ <Lucam>
    ・<Exposure>: 露光時間 (ms)
        - 例: `60.0`
    ・<Gain>: マスターゲイン
        - 例: `1.5`
    ・<GainB>: ブルーゲイン
        - 例: `2.62`
    ・<GainG>: グリーンゲイン
        - 例: `1.72`
    ・<GainR>: レッドゲイン
        - 例: `1.70`


2. ImagingSource カメラ設定 (ImagingSource Camera)
------------------------------------------------------------------------
各カメラの ROI(関心領域)設定.カメラ名はデバイス名と一致させる.

■ <DFK33UX178> / <DFK23UX249>
    ・<ROI>
        - <X>: ROI の左端座標 (px)
        - <Y>: ROI の上端座標 (px)
        - <W>: ROI の幅 (px)
        - <H>: ROI の高さ (px)
    ※ ImagingSource カメラは画像を転置してから ROI を切り出す.
       X・Y・W・H は転置後の座標系で指定する.


3. キャリブレーション設定 (Calibration)
------------------------------------------------------------------------

■ <Calib>
    ・<ChartSetCriteria>: チャート固定判定の閾値 (px)
        - ARマーカーの移動量がこの値未満のフレームを「静止」とみなす.
        - 例: `4.0`
    ・<ChartSetCount>: チャート固定判定に必要な連続静止フレーム数
        - 例: `30`
    ・<Reference>: 白色票(24色票の13番)の目標 RGB 値
        - <B>: ブルー目標値 (0-255)
        - <G>: グリーン目標値 (0-255)
        - <R>: レッド目標値 (0-255)
        - 例: `226`(各チャンネル共通)
    ・<UpdateRate>: ホワイトバランスゲインの更新率(0.0-1.0)
        - 1.0 で即時反映,値を下げると緩やかに収束する.
        - 例: `0.8`
    ・<Frames>: キャリブレーションに使用するフレーム数
        - 例: `100`
    ・<UpdateInterval>: ゲインを更新するフレーム間隔
        - 例: `5`(5フレームごとに更新)
    ・<ConversionChannels>: 変換行列の次元数
        - 4 (1次式),10 (2次式),17 (3次式) から選択する.
        - カンマ区切りで複数指定可能(例: `4,10,17`).
        - 詳細は `SPEC_01_機能仕様.txt` の「3-3. TCC計算」を参照.


4. 撮影設定 (Shot)
------------------------------------------------------------------------

■ <Shot>
    ・<PreviewMonitorWidth>: プレビューモニタの表示幅 (px)
        - 例: `1280`
    ・<MultiShotCount>: 連続撮影の枚数(UI の初期値)
        - 例: `10`
    ・<MultiShotInterval>: 連続撮影の間隔 (ms)(UI の初期値)
        - 例: `500`
    ・<SubjectName>: データ名の初期値(UI のテキストボックスに表示)
        - 例: `無記名`


5. ファイル設定 (File)
------------------------------------------------------------------------

■ <File>
    ・<SaveFolder>: データの保存先フォルダ(絶対パス)
        - 例: `C:\TIAS_Data`
    ・<TccSrgbRef>: sRGB 変換参照値 CSV のパス
        - 例: `tcc_srgb.csv`
    ・<TccXyzRef>: XYZ 変換参照値 CSV のパス
        - 例: `tcc_xyz.csv`
    ・<TccImage>: キャリブ時の画像ファイル名
        - 例: `TCC.png`
    ・<TccRoisImage>: チャート ROI 確認画像ファイル名
        - 例: `TCC_ROIs.jpg`
    ・<RgbImage>: 撮影画像ファイル名(`{NO}` で連番)
        - 例: `Shot{NO}.png`
    ・<SrgbImage>: sRGB 変換画像ファイル名(`{CN}` で次元数,`{NO}` で連番)
        - 例: `sRGB{CN}_{NO}.jpg`
    ・<Info>: 撮影情報 CSV のファイル名
        - 例: `Info.csv`
    ・<TccRgbValues>: チャート RGB 値 CSV のファイル名
        - 例: `TCC_RGB.csv`
    ・<TccSrgbValues>: チャート sRGB 値 CSV のファイル名(`{CN}` で次元数)
        - 例: `TCC_sRGB{CN}.csv`
    ・<ConvRgb2Srgb>: RGB→sRGB 変換行列 CSV のファイル名
        - 例: `Conv_RGB-sRGB{CN}.csv`
    ・<ConvRgb2Xyz>: RGB→XYZ 変換行列 CSV のファイル名
        - 例: `Conv_RGB-XYZ{CN}.csv`
    ・<ConvSrgb2Xyz>: sRGB→XYZ 変換行列 CSV のファイル名
        - 例: `Conv_sRGB-XYZ{CN}.csv`
    ・<ConvRgb2XyzOld>: RGB→XYZ 変換行列(旧形式)CSV のファイル名
        - 例: `Conv_RGB-XYZold.csv`


6. 光源設定 (Light Source)
------------------------------------------------------------------------

■ <LightSource>
    ・<Device>: 光源デバイスのデバイス名(部分一致で検索)
        - 例: `Silicon Labs CP210x`
    ・<BaudRate>: シリアル通信のボーレート (bps)
        - 例: `38400`


7. サウンド設定 (Sound)
------------------------------------------------------------------------

■ <Sound>
    ・<CalibDone>: キャリブレーション完了時の効果音ファイル名
        - 例: `CalibDone.wav`
    ・<OneShotDone>: 1枚撮影完了時の効果音ファイル名
        - 例: `OneShot.wav`
    ・<MultiShotDone>: 連続撮影完了時の効果音ファイル名
        - 例: `MultiShot.wav`