Cardiac ECV Pipeline — OpenRecon デモダッシュボード

ITEM 2026 + OpenRecon統合 全成果物ガイド / v0.9.0 / 2026-03-26
v0.9.0
バージョン
23
成果物
666
テスト
88
統合スコア
40
学習パターン
416KB
総サイズ

操作の流れ

1. このダッシュボード確認 2. HTMLガイドを開く 3. --test-config 実行 4. pytest 確認 5. 判断・フィードバック

全成果物マップ

カテゴリファイル数サイズ品質スコア状態
ITEM 2026 ドキュメント11329 KB 93/100 完成
Docker/OpenRecon コード525 KB 88/100 完成
テスト・品質管理215 KB 87/100 完成
知識基盤547 KB 93/100 完成
Pipeline ドキュメント5131+ KB 追加中

最短確認パス(5分)

まず cd C:/Users/manabe/Projects/cardiac_ecv_pipeline でプロジェクトルートへ移動

  1. docs/openrecon/openrecon_guide.html をブラウザで開き、4タブ(L1/L2/L3/用語集)+ ペルソナ選択を確認
  2. python docker/main.py --test-config を実行し、"All checks passed" を確認(失敗時: import errorならパッケージ未インストール)
  3. python -m pytest tests/test_ecv_mapping.py tests/test_docker_main.py -v で40テスト全パス確認(失敗時: モジュールimport error確認)

ITEM 2026 展示ドキュメント

OpenRecon Deep-Dive Guide メイン展示資料

ファイル: docs/openrecon/openrecon_guide.html (110 KB, 自己完結型)

3層構造のインタラクティブガイド。タブUI + ペルソナ選択 + SVGモーダル + 用語集。オフライン動作。

L1 Ecosystem
L1: エコシステム全体像(ICE→FIRE→OpenRecon)
L2 Technical
L2: OpenRecon技術詳細(Docker, MRD, コード例)
L3 Use Cases
L3: ユースケース集(AI Denoising, Cardiac ECV等)
Glossary
用語集(21用語 + BART追加)
Persona Radiologist
ペルソナ選択: 放射線科医(L2非表示)
Persona Business
ペルソナ選択: 企業担当者(L2非表示)

確認ポイント

  • L1 / L2 / L3 / 用語集の4タブが切り替わること
  • 「放射線科医」ペルソナ選択でL2タブがグレーアウト
  • SVG図をクリックするとモーダル拡大表示
  • Escキーでモーダルが閉じること
  • MAGNETOM Altea が「3T」と記載されていること
  • Access-i が「サードパーティデバイスIF」と記載
  • ネットワーク切断状態でも全て表示されること(オフライン)

操作方法

ブラウザで openrecon_guide.html を開く → 上部のペルソナボタンを試す → L1~L3タブを切替 → SVG図をクリック拡大 → 用語集で検索

A4チートシート 印刷配布用

ファイル: docs/openrecon/openrecon_cheatsheet.html (40 KB)

A4両面印刷対応。Side A: エコシステム概要 + スキャナー対応表 + Top 10用語。Side B: MRDプロトコル + ユースケース6件。

Side A
Side A: エコシステム概要 + スキャナー対応
Side B
Side B: MRDプロトコル + ユースケース

確認ポイント

  • Ctrl+P で印刷プレビュー → A4にきれいに収まること
  • フッターが紙面内に収まること(position: absolute)
  • スキャナー名とfield strengthが正確(Altea=3T)

操作方法

openrecon_cheatsheet.html を開く → Ctrl+P → A4サイズ・両面印刷を選択 → プレビューで表裏確認

統合レポート 品質ダッシュボード

ファイル: docs/openrecon/openrecon_integration_report.html (31 KB)

Report Header
Executive Summary + Module Matrix
MRD Flow
Docker Config + MRD Protocol Flow
Deployment Tiers
Test Coverage + Deployment Tiers

確認ポイント

  • 6カテゴリスコアが全て85以上であること
  • ヘッダーのテスト数が「666 tests」と表示されていること
  • フッターにも「666 tests, 99% coverage」と表示
  • モジュール準備度マトリクスの12モジュール確認

ビルドスクリプト + SVG + CSS

build_guide.py
26 KB / 487行
CSS + 5 SVG → HTML組立。実行: python docs/openrecon/build_guide.py
assets/style.css
8.8 KB
Siemens teal配色、レスポンシブ、印刷対応
svg/ecosystem_overview.svg
16 KB
ICE→FIRE→OpenRecon進化図
svg/openrecon_architecture.svg
17 KB
OpenReconシステム構成図
svg/mrd_protocol_flow.svg
11 KB
MRDストリーミングプロトコル
svg/scanner_dataflow.svg
18 KB
スキャナーデータフロー
svg/usecase_gallery.svg
18 KB
ユースケースギャラリー
demo_dashboard.html
34 KB
このダッシュボード自体。全成果物のナビゲーション

HTMLの再ビルド方法

cd docs/openrecon && python build_guide.pyopenrecon_guide.html が再生成される

Docker/OpenRecon 統合コード

ecv_mapping.py MRD処理モジュール

ファイル: docker/ecv_mapping.py (352行, 12.5 KB)

python-ismrmrd-serverから呼び出されるメイン処理モジュール。pre/post T1マップ受信 → ECV計算 → 結果送信。

安全設計(Production Readiness)

  • ismrmrd=None ガード: パッケージ未インストール時の安全な終了
  • try/finally: connection.send_close() が例外時も必ず呼ばれる
  • validate_pipeline_inputs(): ECV計算前の入力検証
  • np.clip(ecv_map, clip_min, clip_max): 表示範囲クリッピング適用
  • _extract_field_strength(metadata): B0からZ-score基準値選択
  • スライス単位エラー隔離: 1枚失敗しても残りは処理続行

動作確認方法

直接実行はできませんが、以下で間接確認:
python docker/main.py --test-config → "All checks passed" が表示されればモジュール読込・Config解析が正常

main.py + Dockerfile + OpenReconLabel.json デプロイ

docker/main.py
4.8 KB / 146行
MRDサーバーエントリポイント。--test-config で設定検証、-p 9002 でサーバー起動
docker/Dockerfile
3.8 KB / 89行
python:3.11-slim、非root (ecv_user)、HEALTHCHECK TCP 9002、EXPOSE 9002
docker/OpenReconLabel.json
3.2 KB
スキャナーUI定義。4パラメータ(hematocrit等)、バイリンガル(EN/JA)、regulatory: 研究用のみ
.dockerignore
724 B / 69行
プロジェクトルート配置。テスト・ドキュメント・AIツール・データファイル除外

操作方法

プロジェクトルートで実行: cd C:/Users/manabe/Projects/cardiac_ecv_pipeline

  1. 設定検証: python docker/main.py --test-config
  2. Dockerビルド: docker build -t cardiac-ecv-openrecon -f docker/Dockerfile . (Docker Desktop起動確認)
  3. コンテナ実行: docker run -p 9002:9002 cardiac-ecv-openrecon

テスト・品質管理

テスト実行 666 passed

テスト実行コマンド

OpenReconテストのみ(40テスト、12秒):
python -m pytest tests/test_ecv_mapping.py tests/test_docker_main.py -v

全テスト(666テスト、4分):
python -m pytest tests/ -q

テストファイルテスト数カバー範囲
test_ecv_mapping.py28XML Config解析(13), Defaults(3), FieldStrength(7), ismrmrdガード(1), Happy-path(4)
test_docker_main.py12--test-config(3), OpenReconLabel.json(9)

品質スコア 全 ≥85

カテゴリスコアバー主要根拠
Code Quality88型ヒント、docstring、DRY、ログ一貫性
Docker Readiness90非root、healthcheck、.dockerignore、pip no-cache
MRD Compliance863戦略XMLパース、send_close保証、メタデータ伝搬
Test Coverage87Happy-path E2E、エッジケース、モック設計
Documentation91バイリンガルLabel、docstring、プロトコル制約
Production Readiness88ismrmrdガード、try/finally、validation、clip適用

知識基盤(メモリ・スキル)

失敗パターン集 30パターン

ファイル: C:\Users\manabe\.claude-anthropic\projects\C--Users-manabe\memory\feedback_mri_dev_tips.md (17 KB)

MRI/DICOM開発で遭遇した全30の失敗→解決パターン。3フェーズに分類:

フェーズパターン主要テーマ
初期開発 (1-10)#1-10MCP接続, ruff, scikit-image API, highdicom, JPEG2000, PyVista, pyMapVBVD
レビュー改善 (11-23)#11-23XSS, DICOM mutation, Hct単位, Z-score両側, AHA名統一, mask型
OpenRecon統合 (24-30)#24-30ismrmrdガード, Config未消費, try/finally, 条件付きassert, monkeypatch, COPY漏れ

オーケストレーション 10パターン

ファイル: C:\Users\manabe\.claude-anthropic\projects\C--Users-manabe\memory\feedback_agent_orchestration.md (6 KB)

#パターン効果
1-6批判的レビュー→改善パイプライン、ファイル分担、自己検証59件のバグ発見・修正
7-10スコアリング駆動開発、Mock設計、メモリ統合タイミングProduction Readiness 82→88

品質スキル プロジェクトローカル

.claude/skills/quality_scoring/SKILL.md
4.6 KB
6カテゴリ品質スコアリング自動化。チェックリスト形式。閾値≥85
C:\.agent\skills\60_mri_dicom_dev\SKILL.md
17 KB
MRI/DICOM開発グローバルスキル。OpenRecon Production Readinessセクション追加済
C:\Users\manabe\.claude-anthropic\projects\C--Users-manabe\memory\feedback_quality_gates.md
2.3 KB
先回り補完ルール6項目。実装・レビュー・ドキュメント時の自動チェック

有用性判断ガイド

各成果物の判断基準

OpenRecon Guide (展示用)

合格基準: 来場者(放射線科医/研究者/企業)に5-10分で説明できるか
確認: ペルソナ選択→該当タブのみ表示。SVG図で視覚的に理解可能か
判断: 「これを使って説明練習できる」と感じればOK

A4チートシート (印刷配布)

合格基準: 印刷して来場者に渡せるクオリティか
確認: 実際にCtrl+Pでプレビュー。文字が読めるか、紙面に収まるか
判断: 「この紙をそのまま渡せる」と感じればOK

Docker/OpenRecon コード

合格基準: --test-config で "All checks passed" が出ること
確認: 実行して4つの[PASS]を確認。OpenReconLabel.jsonの内容が臨床的に妥当か
失敗時: ImportError → pip install -r requirements.txt、FileNotFound → cdでプロジェクトルートへ
判断: 「OpenRecon申請時にこのまま提出できる」と感じればOK

テスト・品質

合格基準: 666テスト全パス、全カテゴリ≥85
確認: pytest 実行。スコア表の各カテゴリ確認
判断: 「コードを変更しても壊れたらテストが教えてくれる」と感じればOK

知識基盤 (メモリ・スキル)

合格基準: 次回セッションで同じ失敗を繰り返さないこと
確認: 30パターンのうち「これは経験した」と思えるものがあるか
判断: 「次回Claude Codeに任せても安心」と感じればOK

このダッシュボード自体

合格基準: 成果物の全体像が5分で把握できること
確認: 各タブを見て「何がどこにあるか」分かるか
判断: 「同僚に見せて説明できる」と感じればOK

フィードバックの出し方

改善が必要な点があれば、以下の形式で伝えていただけると即座に対応できます:

テンプレート:
「[ファイル名] の [箇所] が [現状の問題] なので [こうしてほしい]」

例:
「guide.html のL2タブのコード例が古いので最新のecv_mapping.pyの内容に更新して」
「チートシートのスキャナー表にVida追加して」
「ecv_mapping.pyのblood pool検出を90th percentileから明示的ROI指定に変更して」