Newer
Older
ivus-complication-annotation-tool / CLAUDE.md

IVUS Complication Annotation Tool Guidelines

Commands

  • Run App: streamlit run app.py
  • Install Dependencies: pip install -r requirements.txt
  • Lint: pylint app.py

Project Overview

循環器内科医がIVUS(血管内超音波)画像を確認し、No reflow / Slow flow の合併症リスクを予測・アノテーションするためのローカルWebアプリケーション。

Tech Stack

  • Language: Python 3.10+
  • Framework: Streamlit
  • Libraries: Pandas, Pillow (PIL), Watchdog (for Streamlit auto-reload)
  • Data Storage: CSV (Local file system)

Architecture & File Structure

  • app.py: アプリケーションのメインロジック。UI描画、データ処理を全て担当。
  • data/: 画像データ格納ディレクトリ。
    • 構造: data/{case_id}/*.jpg (各症例フォルダ内に連番JPEG画像)
  • annotations.csv: アノテーション結果の保存先。
    • Encoding: utf-8-sig (Excelでの日本語文字化け防止のため必須)

Code Style & Conventions

  • Naming: 変数名・関数名は英語(スネークケース)、UIの表示ラベルは日本語とする。
  • Type Hinting: 可能な限りPythonの型ヒントを使用する。
  • Error Handling: 画像読み込みエラーやファイルアクセス権限エラーを適切にハンドリングする。

Annotation Specifications (Important)

アプリ内で実装すべきアノテーション項目と選択肢は以下の通り固定する。

  1. 合併症予測 (Prediction)
    • UI: Radio Button
    • Options: "なし", "あり"
  2. 確信度 (Confidence)
    • UI: Slider
    • Range: 0 - 100 (%)
  3. 判断根拠 (Reasons)
    • UI: Checkboxes (Multiple selection)
    • Options:
      • "石灰化プラークが多い"
      • "石灰化プラークが少ない"
      • "減衰プラークが多い"
      • "減衰プラークが少ない"
      • "その他(記述)"
  4. 自由記述 (Comments)
    • UI: Text Area
    • Input: 自由入力

Data Management Rules

  • CSV保存時は「追記モード」を使用し、既存データを消さないこと。
  • 保存カラム順序: timestamp, case_id, prediction, confidence, reasons, comment, annotator