diff --git "a/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" "b/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" index 917e727..8078e34 100644 --- "a/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" +++ "b/docs/03_PLAN/PLAN_01_\350\246\201\344\273\266\345\256\232\347\276\251\346\233\270.md" @@ -47,10 +47,13 @@ | --- | --- | --- | | 舌色データセット | 舌領域を切り出した舌画像(PNG).舌色 5 分類+程度のラベルごとに 9 フォルダ・1085 枚.**1 患者 1 枚ではない**(約 450 人.2 枚以上の患者がいる.下記) | `C:\Users\Papin\clinical-data\TIASJudgeModel\` | | セグメンテーション用データ | ResUNet の開発時の画像と正解マスク | `C:\Users\Papin\clinical-data\TongueSegmentation\` | +| 舌色データセットの DeepTIAS 出力 | 舌色データセットの各画像の元になった DeepTIAS の全工程の出力(`1-detection`〜`4-featureExtraction`.`analysis.csv` を含む).番号ごとのフォルダ・1085 個.フォルダ名は番号だけで患者 ID を含まない | `C:\Users\Papin\clinical-data\DeepTIAS_TIASJudgeModel\<番号>\` | - 舌色データセットは DeepTIAS 2.7 の Image&Calib モードの出力(色補正後の画像を枠で切り出し,マスク外を黒にしたもの)から作られている(TIASJudgeModel の `SPEC_04`) - ラベルは現在フォルダ名で表現されている.基盤に登録するときは,フォルダ名から読み取ったラベルを目録の項目として記録する - 画像の番号(ファイル名)と,DeepTIAS の出力側の患者 ID・何枚目の画像かの対応は,研究室 PC の対応表(`C:\Users\Papin\clinical-data\DeepTIAS後_ID_番号.xlsx`)にある.2026-10-03 に件数だけを照合し,1085 枚が約 450 人分(2 枚以上の患者が 239 人・874 枚)であることが分かった(TIASJudgeModel の「1 患者 1 枚」の前提は誤りで,ユーザーも確認済み).患者単位で扱うには,この対応表を取り込みに使う必要がある +- DeepTIAS の出力(元は患者 ID のフォルダ `DeepTIAS後_亥鼻_村上_2025.08修正`)は,2026-10-03 に舌色データセットで使った画像の分だけを番号ごとのフォルダへ移し,残り(使わない出力 約 8GB)を削除した(元のデータは研究室のサーバにある).各番号の画像は `2-cropped` × `3-resized`(127 超)で作り直したものと画素で一致する(完全一致 1073・違う画素 1% 未満 12).経緯は `docs/PROGRESS.md` +- 舌色データセットには**同じ写真の重複**が 5 組ある(2026-10-03 確認).ファイルが同一で対応表の患者 ID が違う 2 組(122/184・548/566.ラベルは同じ),ほぼ同じ画像(違う画素約 0.7%)が連番で 2 回登録された 3 組(381/382・508/509・515/516.うち 381/382 は程度,515/516 は舌色のラベルが違う).382・509・516 のフォルダの DeepTIAS 出力は,それぞれ 381・508・515 の出力のコピー(元の出力は見つからなかった) ### 表せるようにする関係 (Relationships) diff --git "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" index a866324..32f3090 100644 --- "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" +++ "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" @@ -22,6 +22,7 @@ | 8 | **TIASJudgeModel の切り替え**: TIASJudgeModel にサブモジュールを追加し,`tiasdata.load("tongue_color", version=1)` から現行の manifest の形に変換して学習・評価に使う(TIASJudgeModel 側の作業ブランチで行う) | 変換した manifest の件数・`label`・`severity` の内訳が現行の manifest と一致し,`patient_id` が患者単位(約 450 人)になる.患者単位の分割で交差検証をやり直し,現行(画像単位)の成績との差を記録する.実験記録にバンドルの指紋が残る.研究室 PC の固定パスを書かずに済む | - Step 6 の前に,立ち上げの成果物(`chore/project-setup`)を `main` に取り込む +- **Step 3 までに決めること**: 舌色データセットの重複 5 組(PLAN_01「現在あるデータ」)の扱い.特にファイルが同一の 2 組(122/184・548/566)は,SPEC_02 の「同じ中身を別の撮影として登録しようとしたら停止する」に当たり,このままでは取り込みが止まる(どちらを残すか・両方を別の撮影として許すか・除外するか).ラベルが違う 2 組(381/382・515/516)の正解の扱いも決める - Step 6・7 はコード(Step 7 の `deliver`)と運用(研究室 PC・サーバでの実行)が混ざる.運用の手順と結果は ENV_02・ENV_03 に記録する - Step 8 の終了時点で PLAN_01 の成功基準 1〜7 を確認する @@ -32,7 +33,7 @@ | 候補 | 内容 | | --- | --- | | セグメンテーション用データ | TongueSegmentation(画像・正解マスク)を取り込む importer を追加する | -| DeepTIAS の派生データ | 撮影画像・カラーチャート画像と,DeepTIAS の出力(色補正後の画像・マスク・`analysis.csv`)を由来付きで登録する.旧 exe(2021 年 12 月版)と現行ソースの出力を版で区別する | +| DeepTIAS の派生データ | 撮影画像・カラーチャート画像と,DeepTIAS の出力(色補正後の画像・マスク・`analysis.csv`)を由来付きで登録する.旧 exe(2021 年 12 月版)と現行ソースの出力を版で区別する.取り込み元は整理済みの `DeepTIAS_TIASJudgeModel\<番号>\`(382・509・516 は元の出力ではなくコピーである点を由来に記録する) | | 実際の患者 ID を持つデータ | 対応表(`identity.sqlite`)を使う取り込み.同じ患者の複数枚・経時的な撮影.倫理審査の保管ルールの確認が前提 | | 他の所見 | 苔の色・厚さ,問診・体質等の種類を追加する | | バックアップ | 目録・ストアを別の媒体に退避する方法を決めて手順化する | diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index ce4e3da..ae38867 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -18,3 +18,7 @@ - [x] **舌色データが 1 患者 1 枚でないことの反映**: 研究室 PC の対応表(`DeepTIAS後_ID_番号.xlsx`)と件数だけで照合し,1085 枚が約 450 人分(2 枚以上の患者 239 人・874 枚)と判明(2026-10-03).取り込みで対応表を読み,患者単位で症例をまとめる設計に直した(PLAN_01・PLAN_02・SPEC_01〜03・ENV_01) - 影響: TIASJudgeModel は画像 ID を `patient_id` にしており,同じ患者の画像が学習と評価に分かれている可能性がある.基盤経由に切り替える Step 8 で患者単位の分割に直し,成績の差を記録する - 判断: xlsx を読む openpyxl は任意の依存(`import`)にし,使う側には入れない +- [x] **研究室 PC の DeepTIAS 出力の整理**: 空き容量の不足(1.09 GB)を受け,舌色データセットで使った画像の DeepTIAS 出力だけを番号ごとのフォルダ `DeepTIAS_TIASJudgeModel\<番号>\` へ移し(同じドライブ内の移動.約 40.6 GB),使わない出力(約 8.1 GB)を削除した(2026-10-03.空き 9.5 GB).元のデータは研究室のサーバにある + - 方法: 対応表の xlsx(番号・何枚目・患者 ID)で引き,`2-cropped` × `3-resized` の作り直しが舌色データセットの画像と画素で一致するかで確認.対応表どおりで引けない 192 件(撮影日等の下位フォルダ・ID と合わないフォルダ名・何枚目の誤り等)は画素の一致で探して全件特定した.Claude は件数だけを見て,番号以外の名前・患者 ID は表示していない.移動・削除はユーザーが実行 + - 設計判断: 名前の規則を推測せず画素の一致を正とした(対応表の誤り 29 件を含めて確実に特定できるため).`LabImg` × `4-mask` は撮影画像全体の大きさで,データセットの画像(枠の大きさ)とは一致しない + - 発見: 同じ写真の重複が 5 組(PLAN_01「現在あるデータ」).うち 2 組はラベルが違う.取り込み(Step 3)までに扱いを決める