imaging-data-commons について
Imaging Data Commonsスキルは、米国国立がん研究所のIDCが公開するがん画像データの検索とダウンロードを支援します。タスクに応じてMCP、REST、ローカルのidc-indexを使い分け、画像の取得や閲覧、ライセンス確認を扱います。
主な機能
- 01画像メタデータの検索
- 02条件に応じた画像セットの絞り込み
- 03DICOMデータのダウンロード
- 04ブラウザー閲覧リンクの作成
- 05データのライセンスと引用の確認
- 06MCP、REST、idc-indexの利用
活用シーン
- 01がん種やモダリティによるデータの絞り込み
- 02研究分析用画像のダウンロード
- 03ブラウザーでの医用画像の閲覧
- 04データセットのライセンスと引用形式の確認
MCP 対応
IDCは、データ探索、バージョン確認、コホート構築、メタデータSQLに使える認証不要のホスト型MCPサーバーを提供します。このスキルはその識別と利用方法を説明し、ファイルのダウンロードなどはidc-indexに引き継ぎます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill imaging-data-commonsインストール後、Claude Code で/imaging-data-commonsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/bigquery_guide.mdcli_guide.mdclinical_data_guide.mdcloud_storage_guide.mdcore-capabilities.mddicomweb_guide.mddigital_pathology_guide.mdindex_tables_guide.mdlicensing_and_citation.mdmcp_guide.mdparquet_access_guide.mdrest_api_guide.mdsql_patterns.mduse_cases.mdscripts/check_version.py詳細
Imaging Data Commons
概要
National Cancer Institute Imaging Data Commons(IDC)の公開がん画像データを検索し、ダウンロードします。データへのアクセスに認証は必要ありません。
想定されるネットワークアクセス: IDC のメタデータには、3 つの方法でアクセスできます。idc-index Python パッケージに同梱されたローカルの DuckDB インデックス(ネットワーク不要)、または MCP か REST を介したホスト型 IDC サービス(api.imaging.datacommons.cancer.gov、認証不要)です。ファイルのダウンロードには、公開 GCS(storage.googleapis.com)と AWS S3(s3.amazonaws.com)を使用します。認証は不要です。DICOMweb アクセスには、公開 IDC プロキシ(proxy.imaging.datacommons.cancer.gov、認証不要)または Google Cloud Healthcare API(healthcare.googleapis.com、GCP 認証が必要)のいずれかを使用します。オプションの BigQuery クエリ(bigquery.googleapis.com)にも GCP 認証が必要です。このスキルは、認証情報や環境変数にアクセスしません。
現在の IDC データバージョン:v24(必ず確認してください。「ベストプラクティス」を参照)
まずアクセス方法を選択してください。 単一の既定の方法はありません。最もコストを抑えながら適切に処理できる方法は、セッションとタスクによって異なります。
- セッションにすでに IDC MCP サーバーがありますか? 検索とメタデータの取得はそちらで行ってください。「IDC MCP サーバー」を参照してください。
- それ以外の場合、
idc-indexはインストールされていますか?python scripts/check_version.pyを実行してください。正常に終了した場合は、すべての処理にidc-indexを使用してください。 - 未インストールで、タスクが読み取り専用のメタデータに限られる場合 — 件数、属性値、コレクションの検索、10,000 行未満の SQL、ライセンス、引用情報、ビューワーの URL などですか?
curlで REST API を使用してください。何もインストールしないでください。 インストールすると、約 77 MB のパッケージ化されたインデックスデータに加え、pandas、pyarrow、duckdb が必要になりますが、メタデータの問い合わせには不要です。「データアクセスの選択肢」を参照してください。 - 未インストールで、タスクにメタデータ以外が必要な場合 — ファイルのダウンロード、pandas やプロット作成、pydicom/SimpleITK、病理画像のタイル分割、10,000 行を超える結果、またはユーザーが再実行するバージョン固定のスクリプトなどですか?
idc-indexをインストールしてください。check_version.pyはゼロ以外の終了コードで終了し、実行中のインタープリターに対応する正確なインストールコマンドを表示します。まず仮想環境を使用し、その後 Python を再起動してください。
idc-index(GitHub)は引き続き最も高機能な方法であり、画像データを取得できる唯一の方法です。タスクで必要になる前にそのコストを負担しないようにすることが、ここでのルールです。check_version.py はそれ自体で何かをインストールすることはありません。また、より新しい idc-index またはスキルのリリースがある場合は、そのことも通知します。
idc-index を使用する場合のセットアップ:
from idc_index import IDCClient
client = IDCClient()
# Verify IDC data version (should be "v24")
print(f"IDC data version: {client.get_idc_version()}")
基本的なワークフロー: client.sql_query() でメタデータを検索 → client.download_from_selection() でダウンロード → client.get_viewer_URL() で可視化。以下の Python の例では、この client を前提としています。REST API の同等の方法については「データアクセスの選択肢」を参照してください。現在のデータ規模を確認するには、references/sql_patterns.md のサマリークエリを実行するか、GET /v3/stats を使用してください。
IDC MCP サーバー
IDC は https://api.imaging.datacommons.cancer.gov/mcp でホスト型 MCP サーバーを運用しています
(ストリーミング可能な HTTP、認証なし)。利用可能な環境では、以下に示す idc-index ワークフローを
補完しますが、置き換えるものではありません。
識別方法は、MCP リソース idc://guide によるか、ツール名 build_cohort、get_cohort_urls、
list_analysis_results、get_idc_version のうち 3 つ以上によるものです。run_sql のような
一般的な名前は、それだけでは証拠になりません。識別が曖昧な場合は、idc-index を使用してください。
このセッションでサーバーが利用可能な場合は、ディスカバリーとメタデータ — IDC バージョン、件数、
属性値、コホート構築、メタデータ SQL — について権威ある情報源として扱い、このファイルから再導出する
のではなく、サーバー自身の指示に従ってください。そのデータバージョンはサーバーが報告するものになり
ます。このファイルに固定されたバージョンに依存するのではなく、get_idc_version を呼び出してくだ
さい。
サーバーが行わないことについては、ここに戻ってください。ファイルのダウンロード、ローカルの
pandas/ノートブック分析、DICOMweb、BigQuery、デジタル病理のタイリング、再現可能なスクリプトです。
サーバーから client.download_from_selection(...) に SeriesInstanceUIDs を渡してハンドオフし、
その時点で scripts/check_version.py を実行してください。
利用できない場合は、同一のサービスが https://api.imaging.datacommons.cancer.gov/v3 で
REST API として設定なしで利用できます。概要 のルーティングゲートに従い、idc-index をインストール
するのではなく、読み取り専用メタデータのためにこれを使用してください。MCP サーバーの接続は、反復的な
対話型ディスカバリーの場合に限り、最大 1 回提案し、ユーザーの設定を自分で変更しないでください。
ツールの一覧、ハンドオフパターン、ホストごとの注意事項については references/mcp_guide.md を参照
してください。
このスキルを使用する場面
- 公開されている放射線画像(CT、MR、PET)や病理画像(スライド顕微鏡)を探す場合
- がん種、モダリティ、解剖学的部位、その他のメタデータで画像のサブセットを選択する場合
- IDC から DICOM データをダウンロードする場合
- 研究や商用アプリケーションで使用する前にデータライセンスを確認する場合
- ローカルの DICOM ビューアソフトウェアなしでブラウザー内で医療画像を可視化する場合
クイックナビゲーション
以下にインラインで記載します: MCP/REST ルーティングルール、IDC データモデル、インデックステーブルと それらの結合方法、コア API パターン(クエリ、ダウンロード、可視化、ライセンス、引用)、ベスト プラクティス、トラブルシューティング。
リファレンスガイド(必要時に読み込み):
| ガイド | 読み込むタイミング |
|---|---|
index_tables_guide.md | 複雑な JOIN、スキーマのディスカバリー、DataFrame アクセス |
use_cases.md | エンドツーエンドのワークフロー: トレーニングデータセット、バッチダウンロード、pydicom/SimpleITK による DICOM 読み込み、パイプライン統合 |
sql_patterns.md | フィルターディスカバリー、アノテーション、サイズ見積もりのためのクイック SQL パターン |
clinical_data_guide.md | 臨床/表形式データ、イメージング+臨床の結合、値のマッピング |
licensing_and_citation.md | 商用利用の質問、混在ライセンスのコホート、引用形式 |
cloud_storage_guide.md | 直接 S3/GCS アクセス、バージョニング、UUID マッピング |
dicomweb_guide.md | DICOMweb エンドポイント、PACS 統合 |
digital_pathology_guide.md | スライド顕微鏡(SM)、アノテーション(ANN)、病理ワークフロー |
bigquery_guide.md | 完全な DICOM メタデータ、プライベート要素(GCP が必要) |
cli_guide.md | コマンドラインツール(idc download、マニフェストファイル) |
parquet_access_guide.md | GCS 経由の直接 Parquet クエリ(idc-index のインストール不要) |
mcp_guide.md | ホスト型 IDC MCP サーバー: ツールの一覧、識別、idc-index へのハンドオフ |
rest_api_guide.md | ホスト型 IDC REST API: エンドポイント、フィルター構文、HTTP 経由の SQL、マニフェスト |
IDC データモデル
IDC は、標準的な DICOM 階層(患者 → 検査 → シリーズ → インスタンス)の上に、2 つのグループ化レベルを追加します。
- collection_id:疾患、モダリティ、研究テーマ(例:
tcga_luad、nlst)ごとに患者をグループ化します。患者は必ず 1 つのコレクションに属します。 - analysis_result_id:1 つ以上の元コレクションにまたがる派生オブジェクト(セグメンテーション、アノテーション、ラジオミクス特徴量)を識別します。AI 生成または専門家によるアノテーションを検索するにはこれを使用し、元の画像データ(デポジットされたアノテーションが含まれる場合もあります)の検索には
collection_idを使用します。
クエリの主な識別子:
| 識別子 | 範囲 | 用途 |
|---|---|---|
collection_id | データセットのグループ化 | プロジェクト/検査によるフィルタリング |
PatientID | 患者 | 患者ごとの画像のグループ化 |
StudyInstanceUID | DICOM 検査 | 関連するシリーズのグループ化、可視化 |
SeriesInstanceUID | DICOM シリーズ | 関連するシリーズのグループ化、可視化 |
インデックステーブル
idc-index パッケージは複数のメタデータインデックステーブルを提供しており、SQL または pandas DataFrame として利用できます。REST API では、同じテーブルを GET /tables と POST /sql から利用できます。
重要: 現在のテーブルの説明、利用可能な列、および型については、client.indices_overview が信頼できる情報源です。SQL を作成したり、データ構造を調べたりする際は、これを照会してください。また、「列 X が含まれるテーブルはどれか」という質問にも回答できます。この検索パターンとスキーマ全体の確認方法については、references/index_tables_guide.md を参照してください。
利用可能なテーブル
インデックステーブルをクエリする前に、必ず client.fetch_index("table_name") を呼び出してください。起動時に自動読み込みされるテーブルも含め、すべてのテーブルで安全に繰り返し実行できます。
| ファミリー | テーブル | 粒度 |
|---|---|---|
| コア | index(現在の全データの主要メタデータ)、collections_index、analysis_results_index | シリーズ/コレクション/解析結果 |
| モダリティの撮像パラメーター | ct_index、mr_index、pt_index、contrast_index | 1 行 = そのモダリティの 1 シリーズ |
| 派生オブジェクト | seg_index、rtstruct_index、ann_index、ann_group_index | 1 行 = 1 シリーズ(またはアノテーショングループ) |
| 顕微鏡 | sm_index、sm_instance_index | 1 行 = 1 SM シリーズ/インスタンス |
| 形状、臨床、履歴 | volume_geometry_index、clinical_index、version_metadata_index、prior_versions_index | ガイドを参照 |
references/index_tables_guide.md には、各テーブルの列と内容を含む全一覧が記載されています。特殊なテーブルに実際に何が含まれているかを確認する必要がある場合は、これを読み込んでください。
prior_versions_index は再現性のためだけに使用します。 IDC から完全に削除されたシリーズが含まれており、index との重複はありません。過去の IDC バージョンに対して作業を再現する場合にのみ使用してください。バージョン履歴や「新着情報」の確認には使用しないでください。これらの用途にはメインの index テーブルにある series_init_idc_version/series_revised_idc_version を使用します。これらは、このテーブルの min_idc_version/max_idc_version と同等ではありません。
テーブルの結合
SeriesInstanceUID は、シリーズレベルのすべての特殊テーブルを結合するための共通キーです:sm_index、sm_instance_index、seg_index、ann_index、ann_group_index、contrast_index、volume_geometry_index、rtstruct_index、ct_index、mr_index、pt_index。これらは常に SeriesInstanceUID で index に結合してください。以下の例外では、異なる列名を使用します。
| 結合列 | テーブル | 用途 |
|---|---|---|
collection_id | index, prior_versions_index, collections_index, clinical_index | シリーズをコレクションのメタデータまたは臨床データに関連付ける |
analysis_result_id | index, analysis_results_index | シリーズを解析結果のメタデータ(アノテーション、セグメンテーション)に関連付ける |
source_DOI | index, analysis_results_index | 論文の DOI で関連付ける |
segmented_SeriesInstanceUID | seg_index → index | セグメンテーションを元画像のシリーズに関連付ける(seg_index.segmented_SeriesInstanceUID = index.SeriesInstanceUID) |
referenced_SeriesInstanceUID | ann_index → index, rtstruct_index → index | アノテーションまたは RTSTRUCT を元画像のシリーズに関連付ける |
注: subjects、updated、description は複数のテーブルに存在しますが、意味はそれぞれ異なります(件数と識別子、異なる更新の文脈)。prior_versions_index を SeriesInstanceUID で index に結合すると、常に 0 行が返されます。上記の警告を参照してください。
結合の詳しい例、スキーマの探索パターン、キー列のリファレンス、DataFrame へのアクセス方法については、references/index_tables_guide.md を参照してください。
臨床データへのアクセス
臨床属性(画像以外の属性)—病期分類、人口統計、治療—は、コレクションごとのテーブルに保存されています。client.fetch_index("clinical_index") は、列とコレクションの対応を示す辞書を読み込みます。client.get_clinical_table(name) は、1 つのテーブルを DataFrame として返します。
探索のワークフロー、コード値のマッピング、臨床データと画像データの結合については、references/clinical_data_guide.md を参照してください。
データアクセスの選択肢
| 方法 | 認証 | 最適な用途 | リファレンス |
|---|---|---|---|
idc-index | 不要 | ダウンロード、pandas による解析、上限のないクエリ — 最も高機能な方法 | このドキュメント |
| IDC MCP server | 不要 | セッションにデータがすでにある場合の探索、コホート構築、メタデータ取得 | mcp_guide.md |
| IDC REST API | 不要 | インストール不要で、あらゆる言語やシェルからメタデータにアクセス — idc-index がない場合のデフォルト | rest_api_guide.md |
| Direct Parquet (GCS) | 不要 | バージョンを指定したクエリ、または REST の行数上限を超える結果 | parquet_access_guide.md |
| Cloud storage (S3/GCS) | 不要 | ファイルへの直接アクセス、一括転送、カスタムパイプライン | cloud_storage_guide.md |
| IDC プロキシ経由の DICOMweb | 不要 | ツールや PACS との連携。1 日あたりのクォータがあるため、テストや中程度の利用に適しています | dicomweb_guide.md |
| Google Healthcare 経由の DICOMweb | 必要(GCP) | プロキシのクォータなしで、本番規模で同じ DICOMweb API を利用 | dicomweb_guide.md |
| SlicerIDCBrowser | 不要 | 3D Slicer での 3D 可視化と解析 | https://github.com/ImagingDataCommons/SlicerIDCBrowser |
| BigQuery | 必要(GCP) | DICOM メタデータ全体、プライベート要素、SR の測定値 — 最終手段 | bigquery_guide.md |
IDC Portal(https://portal.imaging.datacommons.cancer.gov/)はインタラクティブな用途に限られます — ブラウザーでの探索、手動でのコホート選択、ダウンロードに使用します。上記のすべての選択肢と異なり、プログラム用インターフェースがないため、ユーザー自身がデータを閲覧したりクリックして操作したりする場合に案内してください。スクリプトやワークフローの手順としては使用しないでください。
REST API — インストール不要のメタデータ取得方法
https://api.imaging.datacommons.cancer.gov/v3 は認証不要で、探索、コホート件数とマニフェスト、読み取り専用 SQL、臨床テーブル、ビューアー URL、ライセンス、引用情報を利用できます。MCP サーバーと同じサービスを通常の HTTP で提供するため、設定は不要です。画像データのバイト列は転送しません。ダウンロード、DataFrame の取得、または 10 000 行を超える結果が必要な場合は、idc-index に切り替えてください。
B=https://api.imaging.datacommons.cancer.gov/v3
curl -s $B/version # idc_version, idc_index_data_version, api_version
curl -s $B/stats # collections, patients, studies, series, instances, size_TB
curl -s "$B/attributes/Modality/values?limit=5" # real filter values, with counts
curl -s $B/sql -H 'content-type: application/json' \
-d '{"sql":"SELECT collection_id, COUNT(*) n FROM index GROUP BY 1 ORDER BY n DESC LIMIT 3"}'
curl -s $B/cohort/counts -H 'content-type: application/json' \
-d '{"filters":{"terms":{"collection_id":["rider_pilot"]}}}'
フィルターオブジェクトは必ず filters の下に置きます — cohort/counts、cohort/manifest、
cohort/manifest.txt、licenses、citations のいずれでも同じです。フィルターを直接指定した場合や認識されないキーを指定した場合は、修正方法を示す 422 が返されます。シリーズを列挙するリクエストにフィルターを指定しない場合は、アーカイブ全体ではなく 400 が返されます。フィルターを適用したすべてのレスポンスには filters_applied と warnings が含まれます。サーバーが破棄した述語があれば示されるので、必ず確認してください。したがって、warnings が空でカウントが 0 の場合は、フィルターに一致する項目がなかったことを意味し、値の大文字・小文字の誤りではありません。大文字・小文字を間違えた場合は、その旨を示す警告が返されます。
POST /sql では、idc-index が公開するテーブルと clinical.<table> に対して、読み取り専用の SELECT または WITH を 1 つ実行できます。max_rows のデフォルトは 5 000、上限は 10 000 で、切り詰めが発生した場合は truncated で示されます。GET /attributes には、フィルター可能な 19 個の属性が一覧表示されます。臨床値、セグメント化された解剖領域、取得パラメーターは含まれないため、これらには SQL が必要です。レート制限やクォータはありません。**v3 のみを使用してください。**V1 と V2 は旧バージョンとなり、シャットダウンが予定されています。そのため、ユーザーが /v1/ や Modality_btw 形式の例を提示した場合は、拡張するのではなく移行してください。
どちらの側も idc-index-data を基盤としているため、両者を組み合わせる前に、API の idc_index_data_version とローカルの idc_index_data.__version__ を比較してください。メジャー番号は IDC データリリースを表します(24.x.y は v24 に対応するため、マイナー番号やパッチ番号が異なっていてもシリーズは同一です)。API のリリースがまるごと 1 つ先行している場合、idc-index では追加分のシリーズをダウンロードできません。自身のインデックスに記載されていないデータは、何も通知せずにスキップされるため、scripts/check_version.py を実行して適切なコマンドを確認し、idc-index をアップグレードするか、s5cmd --no-sign-request を使ってバケットから直接転送してください。
エンドポイントのリファレンス、フィルターの指定方法、制限、マニフェストに基づくダウンロードの流れについては、references/rest_api_guide.md を参照してください。
クラウドストレージの構成
すべての DICOM ファイルは、AWS S3 と GCS 間でミラーリングされたパブリックバケットに保存されています。バージョン管理に対応するため、DICOM UID ではなく CRDC UUID で整理されており、<crdc_series_uuid>/<crdc_instance_uuid>.dcm という形式です。匿名アクセスを使い、AWS CLI、gsutil、または s5cmd から無料(エグレス料金なし)でアクセスできます。S3 URL には series_aws_url 列を使用してください。なお、idc-open-data-cr / idc-open-cr(データの約 4%)には商用利用の制限があります(CC BY-NC)。バケットの全一覧と UUID の対応については、references/cloud_storage_guide.md を参照してください。
DICOMweb アクセス
IDC データは、PACS 統合や DICOMweb 対応ツール向けに、DICOMweb(Google Cloud Healthcare API)経由でも利用できます。テストや中程度のクエリには、認証不要で 1 日あたりのクォータがあるパブリックプロキシを、本番環境で大量に利用する場合は Google Healthcare(GCP 認証)を使用してください。詳しくは references/dicomweb_guide.md を参照してください。
Parquet への直接アクセス
idc-index のメタデータテーブルは、パブリック GCS バケット(idc-index-data-artifacts)でも Parquet 形式で公開されており、DuckDB または pandas でクエリできます。DuckDB のインストールが必要で、コレクションごとの臨床テーブルにはアクセスできないため、アドホックなメタデータの取得には REST /sql を推奨します。データバージョンを固定する場合や、REST の行数上限を超える結果を取得する場合は、Parquet を選択してください。詳しくは references/parquet_access_guide.md を参照してください。
主な機能
詳細、コード例、パラメーター表については、references/core-capabilities.md を参照してください。このステップが該当する場合は、内容を確認してください。
ベストプラクティス
- クエリを作成する前にスキーマを確認する —
client.get_index_schema('index')(キャッシュされたメタデータを読み取り、SQL は実行しません)またはclient.indices_overviewを使って、利用可能なすべての列とその説明を確認します。メインのindexテーブルにあるバージョン追跡用の列series_init_idc_versionとseries_revised_idc_versionを使えば、prior_versions_indexに触れることなく、「何が新しいか/いつ追加されたか」という質問に直接答えられます。 - IDC データの内容に関する質問にウェブ検索は使わない — 必ず IDC インデックスを直接、ローカルの
client.sql_query()または HTTP 経由のPOST /v3/sqlでクエリします。ウェブ上の情報源(リリースノート、ブログ記事、ドキュメントページ)は古いことが多く、誤った回答につながります。インデックスが信頼できる情報源です。ウェブ検索が利用できる場合でも、インデックスを使用してください。 - セッションの開始時に IDC データのバージョンを確認する — 使用している方法に応じて、
client.get_idc_version()、GET /v3/version、または MCP のget_idc_versionツールを使います(現在は v24)。ローカルのインデックスが古い場合は、scripts/check_version.pyを実行し、表示されたアップグレードコマンドを使用します - ライセンスを確認し、引用を生成する —
license_short_nameをクエリして CC BY と CC BY-NC の条件を遵守します。論文の引用を作成するには、citations_from_selection()を使ってsource_DOIから引用を生成します - 小規模に調査してから実行する — 調査中は
LIMIT(または小さなmax_rows)を使い、ダウンロード前にコレクションのサイズを確認します。テラバイト単位のコレクションもあります。references/cli_guide.mdを参照してください - ダウンロードの再現性を保つ —
dirTemplate(例:%collection_id/%PatientID/%Modality)で整理し、構築したデータセットの背後にある Series UID またはマニフェストを保存します
トラブルシューティング
問題:ModuleNotFoundError: No module named 'idc_index'
- 原因: idc-index パッケージがインストールされていません
- 解決策: 読み取り専用のメタデータが必要な場合は、インストールせずに REST API を使用してください(データアクセスの方法)。それ以外の場合は、
scripts/check_version.pyを実行し、表示されたインストールコマンドを使用します。このコマンドは実行中のインタープリターを対象とし、検証済みのバージョンを固定します。データ分析では、pandas、numpy、pydicom も追加します(pandas>=1.5、numpy>=1.23、pydicom>=2.3 でテスト済み)
問題:connection timeout でダウンロードが失敗する
- 原因: ネットワークが不安定、またはダウンロードサイズが大きすぎます
- 解決策: 小さなバッチ(10~20 シリーズ)に分けてダウンロードします。再開と再試行の方法については、
references/cli_guide.mdの--use-s5cmd-syncの説明を参照してください
問題:BigQuery quota exceeded または課金エラーが発生する
- 原因: BigQuery の利用には、課金が有効になった GCP プロジェクトが必要です
- 解決策: 簡単なクエリには idc-index のミニインデックスを使用します(課金不要)。または、コスト最適化のヒントについて
references/bigquery_guide.mdを参照してください
問題:Series UID が見つからない、またはデータが返されない
- 原因: UID の入力ミス、現在の IDC バージョンにデータがない、またはフィールド名が間違っています
- 解決策: まず
LIMIT 5でテストし、フィールド名をclient.indices_overviewと照らし合わせて確認してから、そのシリーズが現在のバージョンに含まれていることを確認します(一部の古いデータは非推奨になっています)
問題:index テーブルに列が見つからない(例:SliceThickness、PixelSpacing、KVP、EchoTime、InjectedDose)
- 原因:
indexテーブルにはシリーズレベルのメタデータのみが含まれています。モダリティ固有の撮像および再構成パラメーターは、専用のテーブル(ct_index、mr_index、pt_index)にあります - 解決策:
client.indices_overviewで列を検索し、そのテーブルを特定します。手順はreferences/index_tables_guide.mdの 列を含むテーブルの特定 に記載されています。次に、以下のようにSeriesInstanceUIDで取得し、結合します:client.fetch_index("ct_index") result = client.sql_query(""" SELECT i.SeriesInstanceUID, i.Modality, c.SliceThickness, c.KVP, c.PixelSpacing_row_mm FROM index i JOIN ct_index c USING (SeriesInstanceUID) WHERE i.collection_id = 'your_collection' """)
問題:ダウンロードした DICOM ファイルを開けない
- 原因: ダウンロードしたファイルが破損しているか、ビューアーが対応していない種類のオブジェクトです。SEG、RTSTRUCT、 SR、スライド顕微鏡画像には、いずれも専用ツールが必要です
- 解決策: まず
ModalityとSOPClassUIDを確認し、pydicom.dcmread(file, force=True)で検証してから、別のビューアー(3D Slicer、病理画像には QuPath)を試し、 それでも解決しない場合は再ダウンロードします
リソース
参照ガイドとその選択基準は、上記のクイックナビゲーションに記載されています。
- IDC ポータル: https://portal.imaging.datacommons.cancer.gov/explore/
- ドキュメント: https://learn.canceridc.dev/ — チュートリアル: https://github.com/ImagingDataCommons/IDC-Tutorials
- ユーザーフォーラム: https://discourse.canceridc.dev/ — idc-index: https://github.com/ImagingDataCommons/idc-index
- indices_reference — 外部のインデックステーブルのドキュメント(インストール済みのバージョンより新しい場合があります)
- 引用: Fedorov, A., et al. "National Cancer Institute Imaging Data Commons: Toward Transparency, Reproducibility, and Scalability in Imaging Artificial Intelligence." RadioGraphics 43.12 (2023). https://doi.org/10.1148/rg.230180
- スキルの更新: リリースページ。リポジトリをウォッチしてください(Watch → Custom → Releases)
関連スキル
depmap: Cancer Dependency Map(DepMap)を照会し、がん細胞株の遺伝子依存性スコア(CRISPR Chronos)、薬剤感受性データ、遺伝子効…bids: Brain Imaging Data Structure(BIDS)標準を使用して、神経科学および生物医学データセットを整理、照会、検証、変換し、共…