| utils | 2 months ago | ||
| CLAUDE.md | 2 months ago | ||
| README.md | 2 months ago | ||
| app.py | 2 months ago | ||
| requirements.txt | 2 months ago | ||
循環器内科医がIVUS(血管内超音波)画像を確認し、No reflow / Slow flow の合併症リスクを予測・アノテーションするためのStreamlitベースのWebアプリケーション。
このツールは、医師がIVUS画像(1症例あたり約20フレーム)を確認し、以下の情報をアノテーションできます:
アノテーション結果はCSVファイルとして保存され、Excelで開いて分析できます。
git clone <このリポジトリのURL> cd ivus-complication-annotation-tool
pip install -r requirements.txt
インストールされるパッケージ:
streamlit run app.py
起動すると、自動的にブラウザが開き、設定画面が表示されます。
アプリケーション起動時、以下の3つの情報を入力します:
注意: 全ての項目を正しく入力しないと、アノテーション開始ボタンが有効になりません。
設定完了後、メインのアノテーション画面が表示されます。
Q1: 合併症予測 (No reflow/Slow flow)
Q2: 確信度 (%)
Q3: 判断根拠(複数選択可)
Q4: 自由記述欄
データディレクトリ/ ├── CHIBAMI_134_pre/ │ ├── images/ │ │ ├── frame_134_4440.png │ │ ├── frame_134_4500.png │ │ └── ... (約20枚) │ └── ... (その他のマスクデータなど) ├── CHIBAMI_135_pre/ │ └── images/ │ └── ... └── ...
重要:
保存されるCSVファイル名: annotations_{アノテーター名}.csv
保存場所: データディレクトリ直下
CSVカラム:
| カラム名 | 説明 | 例 |
|---|---|---|
| timestamp | 保存日時 | 2025-12-08 19:30:45 |
| case_id | 症例番号 | 134 または 134.1 |
| prediction | 合併症予測 | あり または なし |
| confidence | 確信度(%) | 75 |
| reasons | 判断根拠(セミコロン区切り) | 石灰化プラークが多い; 減衰プラークが多い |
| comment | 自由記述 | 明確な所見あり |
| annotator | アノテーター名 | 田中 |
| ground_truth | 正解ラベル | True / False / (空=不明) |
文字エンコーディング: utf-8-sig(Excelで開いても文字化けしません)
A1: 必要なパッケージがインストールされているか確認してください。
pip install -r requirements.txt
A2: WSL(Linux環境)で実行している可能性があります。このツールはWindows環境での使用を前提としています。
A3: パスが正しいか確認してください。
A4: 通常は発生しませんが、もし発生した場合:
A5: 以下を確認してください:
A6: CSVファイルの保存先を確認してください。
ファイルの書き込み権限があるか確認してください。
ivus-complication-annotation-tool/
├── app.py # メインアプリケーション
├── requirements.txt # 依存パッケージリスト
├── README.md # このファイル
├── CLAUDE.md # プロジェクトガイドライン
└── utils/ # ユーティリティモジュール
├── __init__.py # パッケージ初期化
├── excel.py # Excelラベル読み込み
├── data_loader.py # 症例データ読み込み
└── annotation_saver.py # アノテーション保存
# 自動リロード有効 streamlit run app.py # ポート指定 streamlit run app.py --server.port 8501 # ブラウザを自動で開かない streamlit run app.py --server.headless true
研究用途のみ。商用利用不可。
不具合や質問がある場合は、プロジェクト管理者にご連絡ください。