ファイルを追加・移動するときは本規約に従うこと.
DeepTIAS/ ├── Tongue extraction.sln # ソリューション ├── Tongue extraction/ # アプリ本体(DeepTIAS2.7.csproj) │ ├── Form1.cs # 画面と解析の流れ │ ├── ColorExtractor_fiveClick.cs # 領域分割(Chiu 法・拡張 Chiu 法・5 点法) │ ├── Program.cs # エントリポイント │ ├── Properties/ # アセンブリ情報・リソース・設定 │ ├── models/ # 学習済みモデル(Git LFS) │ └── runtime/ # 実行時に exe と同じ場所に必要なファイル(外部 exe・ネイティブ DLL・色補正データ・出力雛形).ビルドで出力フォルダ直下にコピーされる ├── DeepTIAS.Tests/ # テストプロジェクト(MSTest.作成予定) ├── ColorSubdivision/ # 試作プロジェクト(ソリューション外.保守対象外) └── docs/ # ドキュメント
Tongue extraction(スペース入り)とプロジェクト名 DeepTIAS2.7 は,参照の張り替えが多いため当面変えない.Form1.cs に解析処理が集中しているため,整理で切り出すコードは以下のフォルダに置く.フォルダは実際にファイルを置くときに作る.
| フォルダ | 置くもの | 例 |
|---|---|---|
Tongue extraction/Analysis/ | 解析の各工程(画面に依存しない処理) | 舌検出,舌領域抽出,形状特徴 |
Tongue extraction/External/ | 外部 exe・ネイティブ DLL の呼び出し | TongueFeatures.exe の起動,DllImport 宣言 |
Tongue extraction/IO/ | 入出力フォルダ・CSV の読み書き | 出力フォルダの作成,analysis.csv の追記 |
Form1)には,画面の更新と操作の受け付けだけを残す.**解析処理は画面の部品(PictureBox 等)に触れないようにし,テストから呼べる形にする.<Compile Include> にも登録する(Visual Studio から追加すれば自動で登録される).CopyToOutputDirectory)を指定し,ビルドだけで揃うようにする.git lfs track で対象にする.runtime/ には,出力フォルダに置きたい構成のままファイルを置く(csproj がフォルダ構成を保ってコピーする).空フォルダは .gitkeep で保持する(.gitkeep は出力にコピーされず,フォルダだけがビルド後に作られる).runtime/Data/ と出力雛形(runtime/template_outputDir*/)は,外部 exe・アプリが読むため改行コードを変換しない(.gitattributes で -text).