========================================================================
開発環境構築手順 (Development Environment Setup)
========================================================================

1. セットアップ方法の選択 (Setup Method)
------------------------------------------------------------------------

1-1. 自動セットアップ（推奨）

    リポジトリルートの `setup.ps1` を使用することで，Visual Studio の
    インストール，データフォルダの作成，NuGet パッケージの復元を
    自動化できる．

    ■ 実行手順

    1. PowerShell を管理者権限で開く．
    2. リポジトリのルートに移動する．

            $ cd [リポジトリのパス]

    3. スクリプトの実行ポリシーを一時的に変更する．

            $ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

    4. セットアップスクリプトを実行する．

            $ .\setup.ps1

    5. スクリプト完了後，IC Imaging Control SDK を手動でインストールする．
        - 詳細は「2-2. IC Imaging Control SDK」を参照する．

    ■ 自動化される内容

    ・Visual Studio 2022 のインストール（未インストール時のみ）
        - `.vsconfig` により「.NET デスクトップ開発」ワークロードが
          自動で設定される．
    ・`C:\TIAS_Data` フォルダの作成（未作成時のみ）
    ・NuGet パッケージの復元

    ■ 自動化されない内容（手動対応が必要）

    ・IC Imaging Control SDK のインストール
    ・実行時設定ファイルの配置（config.xml，カメラ設定 XML，CSV）

1-2. 手動セットアップ

    スクリプトを使用しない場合は，以下のセクション 2〜4 の手順に
    従って手動で構築する．


2. 必要なソフトウェア (Required Software)
------------------------------------------------------------------------

2-1. Visual Studio 2022

    ・公式サイトからインストーラをダウンロードしてインストールする．
    ・ワークロード選択で「.NET デスクトップ開発」を有効にする．
    ・リポジトリルートの `.vsconfig` をインストーラで読み込むと，
      必要なワークロードが自動で提案される．

2-2. IC Imaging Control SDK

    ・The Imaging Source が提供するカメラ制御ライブラリ．
    ・ImagingSource 製カメラ（DFK33UX178，DFK23UX249）の使用に必要．
    ・インストール後，参照 DLL が Visual Studio から認識されることを確認する．

2-3. Lumenera SDK

    ・Lumenera 製カメラ（Lw110）の使用に必要．
    ・`lumenera.api.dll` はリポジトリ内に同梱されている．


3. リポジトリのセットアップ (Repository Setup)
------------------------------------------------------------------------

1. リポジトリのクローン

        $ git clone [リポジトリURL]
        $ cd TIASshot

2. ソリューションを開く
    ・`TIASshot.sln` を Visual Studio 2022 で開く．

3. NuGet パッケージの復元
    ・Visual Studio のメニューから「ビルド」→「NuGet パッケージの復元」を実行する．
    ・または，パッケージマネージャーコンソールで以下を実行する．

        $ nuget restore TIASshot.sln

4. ビルド
    ・「ビルド」→「ソリューションのビルド」を実行し，エラーがないことを確認する．


4. 実行時の準備 (Runtime Preparation)
------------------------------------------------------------------------

4-1. 設定ファイルの配置
    ・`TIASshot/config.xml` が実行ファイルと同じディレクトリに存在することを確認する．
    ・パラメータの詳細は `SPEC_02_設定ファイル仕様.txt` を参照する．

4-2. カメラ設定ファイルの確認
    ・ImagingSource カメラを使用する場合，以下のファイルが同ディレクトリに必要．
        - `DFK33UX178.xml`
        - `DFK23UX249.xml`

4-3. TCC参照ファイルの確認
    ・以下の CSV ファイルが実行ファイルと同じディレクトリに必要．
        - `tcc_srgb.csv`: sRGB 変換の参照値
        - `tcc_xyz.csv`: XYZ 変換の参照値

4-4. データ保存フォルダの確認
    ・`config.xml` の `<SaveFolder>` に指定したフォルダへの書き込み権限があることを確認する．
    ・デフォルトは `C:\TIAS_Data`．
    ・`setup.ps1` を実行した場合，このフォルダは自動で作成される．
