TEST_01_テスト仕様.md を参照する.CameraBase.cs に以下の責務が集中している.
TIASshot/ ├── Cameras/ ← カメラ制御(CameraBase, IScam, Lucam) ├── ChartDetection/ ← チャート検出(CameraBaseから分離) ├── ColorCorrection/ ← 色補正・TCC計算(CameraBaseから分離) ├── UI/ ← フォーム(Form1, PreviewMonitor) ├── Config.cs ← 設定ファイル読み込み(変更なし) ├── LightSource.cs ← 光源制御(変更なし) └── Program.cs ← エントリポイント(変更なし)
作業内容
Cameras/ ← CameraBase.cs, IScam.cs, Lucam.csUI/ ← Form1.cs, Form1.Designer.cs, Form1.resx, PreviewMonitor.cs, PreviewMonitor.Designer.cs, PreviewMonitor.resxTIASshot で統一する.テスト
作業内容
ColorCorrection/ フォルダを作成する.ColorCorrector に切り出す.
TCC_SRGB, TCC_XYZ, ChannelList, ExtendChannelsExtendMat, CalcConvertMatrix, ConvertColor, ConvertImageCalcTcc(チャート RGB 値の受け取りと行列計算・保存を担当)ColorCorrector を保持し,処理を委譲する.UpdateRate はゲイン/ホワイトバランス補正(GetRatio)専用で色補正とは別関心事のため,CameraBase に残す(当初案から変更).テスト
TEST_01_テスト仕様.md の「回帰テスト: 色補正処理」を参照する.作業内容
ChartDetection/ フォルダを作成する.ChartDetector に切り出す.
ARDict, PointsDst40, PointsDst41, _detectionCount, _lastPositionDetectChartList<Mat>)を戻り値または引数で渡すChartDetector を保持し,処理を委譲する.テスト
TEST_01_テスト仕様.md の「チャート検出テスト」を参照する.作業内容
Utils/IoUtil).
LoadMatFromCsv, SaveMatToCsvSetSaveFolder, WriteInfoEventSoundSetSaveFolder/WriteInfo/SetInfo は _saveFolder/_ShotInfo(派生クラスと共有する状態)に結合するため,純粋ロジックのみ IoUtil へ移し,CameraBase 側は薄いラッパーとして残した(当初案から変更).テスト
refactor/code-cleanup ブランチ上で順に進める.[clean] タグを使用する.
[clean] 色補正処理を ColorCorrector クラスに分離