CameraBase(抽象基底クラス)
Cameras/CameraBase.csChartDetector・ColorCorrector・IoUtil に委譲する.IScam
Cameras/IScam.csTIS.Imaging)を使用する.Lucam
Cameras/Lucam.cslumenera.api.dll)を使用する.Form1
UI/Form1.csPreviewMonitor
UI/PreviewMonitor.csConfig(静的クラス)
Config.csconfig.xml の読み込みユーティリティ.LightSource
LightSource.csChartDetector
ChartDetection/ChartDetector.csCameraBase から委譲される.ColorCorrector
ColorCorrection/ColorCorrector.csCameraBase から委譲される.変換行列はチャネル数をキーとした辞書(_convRGB2SRGB)で保持する.IoUtil(静的クラス)
Utils/IoUtil.csCameraBase から委譲される.GainCalc(静的クラス)
Cameras/GainCalc.csCameraBase.GetRatio から委譲される(テスト可能なピュアロジック層).ImageStats(静的クラス)
Utils/ImageStats.cs#if DEBUG)から使用される(テスト可能なピュアロジック層).CameraBase(抽象) ├── IScam ← ImagingSource カメラ └── Lucam ← Lumenera カメラ
Connect() : bool: カメラに接続するDisconnect(): カメラを切断するShot(numImages, interval): 撮影処理ShotOne(): 1枚撮影ShotMulti(): 連続撮影BootCheck() : bool: 起動時の前提条件チェック(設定・TCC参照ファイル)DetectChart(img): チャート検出(ChartDetector に委譲)CalcTcc(img): TCC 変換行列の計算・保存(ColorCorrector に委譲)ProcessCalibrationFrame(img): プレビュー/校正フローの共通骨格(テンプレートメソッド)RunShotLoop(numImages, interval): 撮影ループの共通骨格(テンプレートメソッド)SaveImages(img, idx): 撮影画像の保存(RGB・sRGB 変換画像.色変換は ColorCorrector に委譲)SaveThread(numImages): 画像保存スレッド処理GetRatio(value, target) : float: ゲイン更新比率の計算(GainCalc.CalcRatio に委譲)_calibrating: キャリブレーション残りフレーム数(0 で完了)_calibrated: キャリブレーション完了フラグ_chartMasks: 24色票の ROI マスクリスト_roi: ROI 矩形(IScam のみ使用)_shots: 撮影済み画像バッファ(BlockingCollection<Mat>.撮影スレッドと保存スレッドの受け渡しに使用)CameraBase 型の _camera フィールドを持つ.TECH_02 参照).ShowMessage,EnableShots 等)は InvokeRequired を確認してスレッドセーフに呼び出す.