Newer
Older
TIASShot / docs / 02_ENV / ENV_05_ディレクトリ構成.md

ディレクトリ構成 (Directory Structure)

全体構成 (Overview)

TIASshot/
├── CLAUDE.md                   ← AI向けガイドライン(ドキュメント・コーディング規則の参照)
├── README.md                   ← プロジェクト概要
├── TIASshot.sln                ← Visual Studio ソリューションファイル
├── TIASshot/                   ← メインプロジェクト
├── TIASshot.Tests/             ← テストプロジェクト(NUnit / x64)
└── docs/                       ← ドキュメント

メインプロジェクト TIASshot/ (Main Project)

ソースコード

責務ごとにサブフォルダへ分離している(リファクタリング Phase 1〜5 による).

├── Program.cs                  ← エントリポイント
├── Config.cs                   ← config.xml の読み込みユーティリティ
├── LightSource.cs              ← 光源(シリアル通信)制御
├── Cameras/                    ← カメラ制御
│   ├── CameraBase.cs           ← カメラ制御の基底クラス(共通処理・撮影/校正の骨格)
│   ├── IScam.cs                ← ImagingSource カメラの実装
│   ├── Lucam.cs                ← Lumenera カメラの実装
│   └── GainCalc.cs             ← ゲイン更新比率の計算(純粋ロジック)
├── ChartDetection/             ← チャート検出
│   └── ChartDetector.cs        ← ArUco マーカー検出・マスク生成
├── ColorCorrection/            ← 色補正
│   └── ColorCorrector.cs       ← TCC 変換行列の計算・色変換
├── UI/                         ← フォーム(WinForms)
│   ├── Form1.cs                ← メインフォーム(UI・操作イベント)
│   ├── Form1.Designer.cs       ← メインフォームのデザイナー自動生成コード
│   ├── Form1.WhiteBoard.cs     ← 白板撮影ボタン(WHITEBOARD ビルド限定の partial)
│   ├── Form1.MemMonitor.cs     ← メモリ観測ウィンドウ起動・F9 トグル(MEMMONITOR 限定の partial)
│   ├── PreviewMonitor.cs       ← プレビューモニタフォーム
│   ├── PreviewMonitor.Designer.cs ← プレビューモニタのデザイナー自動生成コード
│   ├── MemoryMonitorForm.cs    ← メモリ観測ウィンドウ(MEMMONITOR 限定)
│   ├── MemoryMonitorForm.Designer.cs ← 同デザイナーコード(MEMMONITOR 限定)
│   ├── PreviewProfiler.cs      ← プレビュー計測カウンタ(MEMMONITOR 限定)
│   └── TimedPictureBox.cs      ← 副モニタ実描画時間の計測(MEMMONITOR 限定)
└── Utils/                      ← ユーティリティ
    ├── IoUtil.cs               ← ファイル I/O(CSV・保存フォルダ・撮影情報)・サウンド
    ├── BitmapUtil.cs           ← Bitmap 生画素コピー(FastClone・純粋ロジック)
    └── ImageStats.cs           ← 飽和統計算出・JSON 生成(白板撮影用・純粋ロジック)

設定・データファイル

├── config.xml                  ← アプリケーション設定(パラメータ定義)
├── DFK33UX178.xml              ← ImagingSource DFK33UX178 カメラ設定
├── DFK23UX249.xml              ← ImagingSource DFK23UX249 カメラ設定
├── tcc_srgb.csv                ← TCC sRGB 変換参照値(24色票×3ch)
└── tcc_xyz.csv                 ← TCC XYZ 変換参照値(24色票×3ch)

外部ライブラリ・リソース

├── lumenera.api.dll            ← Lumenera SDK(同梱)
├── lumenera.api.xml            ← Lumenera SDK ドキュメント
├── CalibDone.wav               ← キャリブレーション完了音
├── OneShot.wav                 ← 1枚撮影完了音
├── MultiShot.wav               ← 連続撮影完了音
└── main.ico                    ← アプリケーションアイコン

プロジェクト設定

├── TIASshot.csproj             ← プロジェクトファイル
├── App.config                  ← .NET アプリケーション設定
├── packages.config             ← NuGet パッケージ一覧
└── Properties/
    ├── AssemblyInfo.cs         ← アセンブリ情報
    ├── Resources.Designer.cs   ← リソース自動生成コード
    └── Settings.Designer.cs    ← アプリ設定自動生成コード

テストプロジェクト TIASshot.Tests/ (Test Project)

TIASshot.Tests/
├── TIASshot.Tests.csproj       ← テストプロジェクトファイル(net48 / x64)
├── packages.config             ← NuGet パッケージ一覧(NUnit 等)
├── IoUtilTests.cs              ← CSV 読み書き往復のテスト
├── ConfigTests.cs              ← config.xml パースのテスト
├── ColorCorrectorTests.cs      ← 次元拡張・変換行列・色変換のテスト
├── GainCalcTests.cs            ← ゲイン更新比率計算のテスト
├── ImageStatsTests.cs          ← 飽和統計・JSON 生成のテスト(白板撮影用)
├── BitmapUtilTests.cs          ← FastClone の仕様ベーステスト
├── ConvertImageMemoryBenchmark.cs    ← ConvertImage 単体のメモリ計測ベンチ([Explicit])
├── ContinuousShootMemoryBenchmark.cs ← 連続撮影フロー再現のメモリ計測ベンチ([Explicit])
├── MemBenchSupport.cs          ← メモリベンチ共通ユーティリティ
└── MemBenchSupportTests.cs     ← 同ユーティリティのテスト

ドキュメント docs/ (Documents)

docs/
├── 01_GUIDE/   ← チームルール・規約(命名,Git,コーディング,コメント)
├── 02_ENV/     ← 開発環境・構成に関するドキュメント(本ディレクトリ)
├── 03_PLAN/    ← 進行計画・要件定義(プレビューメモリリーク修正計画,性能評価計測計画)
├── 04_SPEC/    ← ユーザーから見える仕様(機能仕様,設定ファイル仕様)
├── 05_TECH/    ← クラス設計・アルゴリズム等の技術設計(カメラ制御,色補正処理)
└── 06_TEST/    ← テスト計画・品質保証(テスト仕様)