用途:查询与下载 NCI Imaging Data Commons(IDC)公开癌症影像数据,覆盖 175+ DICOM 集合(CT、MR、PET、切片显微、分割、结构化报告)。适合按模态、癌种、解剖部位或 DICOM 标签筛选公开数据集,构建可复现的机器学习队列,或下载指定序列用于本地处理。
主要能力:idc-index 将完整 IDC 元数据目录以 parquet 文件打包进 pip wheel,IDCClient() 将其加载为 DuckDB 表 index,sql_query() 在本地执行、零网络调用。get_collections()、get_patients()、get_dicom_studies()、get_dicom_series() 提供层级浏览。download_from_selection() 与 download_dicom_series() 通过内置 s5cmd 从公共 AWS S3(默认)或 GCS 桶流式下载,无需 GCP/AWS 凭证、BigQuery 计费或服务账号。get_viewer_URL() 生成 OHIF/Slim 浏览器查看链接。
使用方式:安装 pip install idc-index pydicom。初始化 client = IDCClient(),用 sql_query 写 SQL 筛选(表名为 index),再用 download_from_selection 下载,支持 dry_run=True 预估体积、dirTemplate 控制目录结构、source_bucket_location 选择 aws 或 gcs。下载后用 pydicom 读取 DICOM 头与像素。
适用场景:公开癌症影像数据集检索、可复现 ML 队列构建、大规模 DICOM 元数据 SQL 查询、指定序列下载、生成查看器 URL 供协作检查。
限制:查询无需认证,下载受网络带宽限制而非 API 配额。索引版本随 idc-index-data 包固定,建议同时固定 idc-index 与 idc-index-data 以保证可复现。旧版 get_series(collection_id=..., modality=...) 签名已移除,应改用 sql_query。仅需读取、编辑或匿名化本地已有 DICOM 文件时,应改用 pydicom-medical-imaging;下载后做全切片病理预处理(切块、染色归一化)可用 histolab。旧 BigQuery 流程仍可用但需 GCP 认证与计费,已非推荐路径。