Was macht Imaging Data Commons?
Übersicht
Öffentliche Krebsbildgebungsdaten des National Cancer Institute Imaging Data Commons (IDC) abfragen und herunterladen. Für den Datenzugriff ist keine Authentifizierung erforderlich.
Erwarteter Netzwerkzugriff: IDC-Metadaten sind auf drei Wegen erreichbar – ein lokaler DuckDB-Index, der mit dem Python-Paket idc-index ausgeliefert wird (kein Netzwerk), oder der gehostete IDC-Dienst über MCP oder REST (api.imaging.datacommons.cancer.gov, keine Authentifizierung). Dateidownloads verwenden öffentliche GCS (storage.googleapis.com) und AWS S3 (s3.amazonaws.com) – keine Authentifizierung erforderlich. DICOMweb-Zugriff erfolgt entweder über den öffentlichen IDC-Proxy (proxy.imaging.datacommons.cancer.gov, keine Authentifizierung) oder die Google Cloud Healthcare API (healthcare.googleapis.com, erfordert GCP-Authentifizierung). Optionale BigQuery-Abfragen (bigquery.googleapis.com) erfordern ebenfalls GCP-Authentifizierung. Von dieser Skill werden keine Anmeldeinformationen oder Umgebungsvariablen verwendet.
Aktuelle IDC-Datenversion: v24 (immer überprüfen – siehe Bewährte Methoden)
Wählen Sie zuerst den Zugriffspfad. Es gibt keinen einzelnen Standardpfad: Der günstigste korrekte Pfad hängt von der Sitzung und der Aufgabe ab.
- Die Sitzung hat bereits den IDC-MCP-Server? Leiten Sie Erkundung und Metadaten dorthin – siehe IDC-MCP-Server.
- Andernfalls, ist
idc-indexinstalliert? Führen Siepython scripts/check_version.pyaus. Wenn es erfolgreich ist, verwenden Sieidc-indexfür alles. - Nicht installiert und die Aufgabe ist reine Metadaten-Leseabfrage – Zählungen, Attributwerte, Sammlungsabfragen, SQL unter 10.000 Zeilen, Lizenzen, Zitate, Viewer-URLs? Verwenden Sie die REST-API über
curl; installieren Sie nichts. Die Installation kostet etwa 77 MB an gepackten Indexdaten plus pandas, pyarrow und duckdb, die eine Metadatenfrage nicht benötigt. Siehe Datenzugriffsoptionen. - Nicht installiert und die Aufgabe benötigt mehr als Metadaten – Herunterladen von Dateien, pandas oder Plotting, pydicom/SimpleITK, Pathologie-Tiling, Ergebnisse über 10.000 Zeilen oder ein versionsgebundenes Skript, das der Benutzer erneut ausführt? Installieren Sie
idc-index:check_version.pybeendet sich mit Fehlercode und gibt den genauen Installationsbefehl für den aktuellen Interpreter aus. Bevorzugen Sie eine virtuelle Umgebung und starten Sie dann Python neu.
idc-index (GitHub) bleibt der leistungsfähigste Pfad und der einzige, der Bildbytes überträgt; die Regel ist nur, nicht dafür zu bezahlen, bevor die Aufgabe es erfordert. check_version.py installiert selbst nichts – es weist auch auf eine neuere idc-index- oder Skill-Version hin, wenn eine vorhanden ist.
Einrichtung für den idc-index-Pfad:
from idc_index import IDCClient
client = IDCClient()
# IDC-Datenversion überprüfen (sollte "v24" sein)
print(f"IDC-Datenversion: {client.get_idc_version()}")
Kernworkflow: Metadaten mit client.sql_query() abfragen → mit client.download_from_selection() herunterladen → mit client.get_viewer_URL() visualisieren. Python-Beispiele unten gehen von diesem client aus; Datenzugriffsoptionen enthält die REST-Entsprechungen. Für den aktuellen Datenumfang führen Sie die Zusammenfassungsabfrage in references/sql_patterns.md oder GET /v3/stats aus.
IDC-MCP-Server
IDC betreibt einen gehosteten MCP-Server unter https://api.imaging.datacommons.cancer.gov/mcp (streamable HTTP, keine Authentifizierung). Wo er verfügbar ist, ergänzt er – nicht ersetzt – den idc-index-Workflow unten.
Identifizieren Sie ihn an der MCP-Ressource idc://guide oder an drei oder mehr der Toolnamen build_cohort, get_cohort_urls, list_analysis_results und get_idc_version. Generische Namen wie run_sql sind kein alleiniger Nachweis. Bei mehrdeutiger Identifizierung verwenden Sie idc-index.
Wenn diese Sitzung den Server hat, behandeln Sie ihn als autoritativ für Erkundung und Metadaten – IDC-Version, Zählungen, Attributwerte, Kohortenaufbau, Metadaten-SQL – und folgen Sie den eigenen Anweisungen des Servers, anstatt sie aus dieser Datei abzuleiten. Seine Datenversion ist die, die der Server meldet: Rufen Sie get_idc_version auf, anstatt sich auf die in dieser Datei festgelegte Version zu verlassen.
Kehren Sie hierher zurück für das, was der Server nicht kann: Herunterladen von Dateien, lokale pandas/Notebook-Analyse, DICOMweb, BigQuery, digitale Pathologie-Tiling und reproduzierbare Skripte. Übergeben Sie, indem Sie SeriesInstanceUIDs vom Server an client.download_from_selection(...) weiterleiten, und führen Sie an diesem Punkt scripts/check_version.py aus.
Wenn er nicht verfügbar ist, ist der identische Dienst ohne Konfiguration als REST-API unter https://api.imaging.datacommons.cancer.gov/v3 erreichbar – verwenden Sie ihn für schreibgeschützte Metadaten anstelle der Installation von idc-index, gemäß der Routing-Regel in Übersicht. Schlagen Sie vor, den MCP-Server höchstens einmal zu verbinden, nur für wiederholte interaktive Erkundung, und ändern Sie niemals selbst die Konfiguration des Benutzers.
Siehe references/mcp_guide.md für das Tool-Inventar, Übergabemuster und Hinweise pro Host.
Wann Diese Skill Verwenden
- Suchen nach öffentlich verfügbaren Radiologiebildern (CT, MR, PET) oder Pathologiebildern (Objektträger-Mikroskopie)
- Auswählen von Bilduntergruppen nach Krebsart, Modalität, anatomischer Region oder anderen Metadaten
- Herunterladen von DICOM-Daten aus IDC
- Überprüfen von Datenlizenzen vor der Verwendung in Forschung oder kommerziellen Anwendungen
- Visualisieren von medizinischen Bildern im Browser ohne lokale DICOM-Viewer-Software
Schnellnavigation
Inline unten: die MCP/REST-Routingregeln, das IDC-Datenmodell, die Indextabellen und wie sie verknüpft werden, die Kern-API-Muster (Abfragen, Herunterladen, Visualisieren, Lizenzieren, Zitieren), bewährte Methoden und Fehlerbehebung.
Referenzleitfäden (bei Bedarf laden):
| Leitfaden | Wann Laden |
|---|---|
index_tables_guide.md | Komplexe JOINs, Schemaerkennung, DataFrame-Zugriff |
use_cases.md | Durchgängige Workflows: Trainingsdatensätze, Batch-Downloads, DICOM-Lesen mit pydicom/SimpleITK, Pipeline-Integration |
sql_patterns.md | Schnelle SQL-Muster für Filtererkennung, Annotationen, Größenabschätzung |
clinical_data_guide.md | Klinische/tabellarische Daten, Bildgebung+Klinik-Verknüpfungen, Wertzuordnung |
licensing_and_citation.md | Fragen zur kommerziellen Nutzung, Kohorten mit gemischten Lizenzen, Zitierformate |
cloud_storage_guide.md | Direkter S3/GCS-Zugriff, Versionierung, UUID-Zuordnung |
dicomweb_guide.md | DICOMweb-Endpunkte, PACS-Integration |
digital_pathology_guide.md | Objektträger-Mikroskopie (SM), Annotationen (ANN), Pathologie-Workflows |
bigquery_guide.md | Vollständige DICOM-Metadaten, private Elemente (erfordert GCP) |
cli_guide.md | Befehlszeilenwerkzeuge (idc download, Manifestdateien) |
parquet_access_guide.md | Direkte Parquet-Abfragen über GCS (keine Installation von idc-index erforderlich) |
mcp_guide.md | Gehosteter IDC-MCP-Server: Tool-Inventar, Identifizierung, Übergabe an idc-index |
rest_api_guide.md | Gehostete IDC-REST-API: Endpunkte, Filtersyntax, SQL über HTTP, Manifeste |
IDC-Datenmodell
IDC fügt zwei Gruppierungsebenen oberhalb der standardmäßigen DICOM-Hierarchie (Patient → Study → Series → Instance) hinzu:
- collection_id: Gruppiert Patienten nach Erkrankung, Modalität oder Forschungsschwerpunkt (z. B.
tcga_luad,nlst). Ein Patient gehört zu genau einer Sammlung. - analysis_result_id: Identifiziert abgeleitete Objekte (Segmentierungen, Annotationen, Radiomics-Merkmale) aus einer oder mehreren ursprünglichen Sammlungen. Verwenden Sie es, um KI-generierte oder Expertenannotationen zu finden, während
collection_idursprüngliche Bildgebungsdaten findet (die selbst hinterlegte Annotationen enthalten können).
Wichtige Identifikatoren für Abfragen:
| Identifikator | Geltungsbereich | Verwendung für |
|---|---|---|
collection_id | Datensatzgruppierung | Filtern nach Projekt/Studie |
PatientID | Patient | Gruppieren von Bildern nach Patient |
StudyInstanceUID | DICOM-Studie | Gruppierung verwandter Serien, Visualisierung |
SeriesInstanceUID | DICOM-Serie | Gruppierung verwandter Serien, Visualisierung |
Indextabellen
Das idc-index-Paket bietet mehrere Metadaten-Indextabellen, die über SQL oder als pandas DataFrames zugänglich sind. Die REST-API stellt dieselben Tabellen über GET /tables und POST /sql bereit.
Wichtig: client.indices_overview ist die autoritative Quelle für aktuelle Tabellenbeschreibungen, verfügbare Spalten und deren Typen – fragen Sie es ab, wenn Sie SQL schreiben oder die Datenstruktur erkunden. Es beantwortet auch „Welche Tabelle enthält Spalte X“; siehe references/index_tables_guide.md für dieses Suchmuster und die vollständige Schemaerkennung.
Verfügbare Tabellen
Rufen Sie immer client.fetch_index("table_name") auf, bevor Sie eine Indextabelle abfragen – es ist sicher und idempotent für alle Tabellen, einschließlich derer, die beim Start automatisch geladen werden.
| Familie | Tabellen | Granularität |
|---|---|---|
| Kern | index (primäre Metadaten für alle aktuellen Daten), collections_index, analysis_results_index | Serie / Sammlung / Analyseergebnis |
| Modalitäts-Akquisitionsparameter | ct_index, mr_index, pt_index, contrast_index | 1 Zeile = 1 Serie dieser Modalität |
| Abgeleitete Objekte | seg_index, rtstruct_index, ann_index, ann_group_index | 1 Zeile = 1 Serie (oder Annotationsgruppe) |
| Mikroskopie | sm_index, sm_instance_index | 1 Zeile = 1 SM-Serie / Instanz |
| Geometrie, Klinik, Verlauf | volume_geometry_index, clinical_index, version_metadata_index, prior_versions_index | siehe Leitfaden |
references/index_tables_guide.md enthält das vollständige Inventar mit den Spalten und Inhalten jeder Tabelle – laden Sie es, wenn Sie wissen müssen, was eine spezialisierte Tabelle tatsächlich enthält.
prior_versions_index ist nur für die Reproduzierbarkeit. Es enthält Serien, die dauerhaft aus IDC entfernt wurden, ohne Überschneidung mit index. Verwenden Sie es nur, um Arbeiten gegen eine frühere IDC-Version zu reproduzieren. Verwenden Sie es NICHT für die Versionsgeschichte oder „Was ist neu“-Fragen – dafür verwenden Sie series_init_idc_version / series_revised_idc_version in der Haupttabelle index, die nicht äquivalent zu den min_idc_version / max_idc_version dieser Tabelle sind.
Tabellen verknüpfen
SeriesInstanceUID ist der universelle Join-Schlüssel für alle serienspezifischen Tabellen: 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. Verknüpfen Sie diese immer mit index über SeriesInstanceUID. Die Ausnahmen unten verwenden unterschiedliche Spaltennamen.
| Join-Spalte | Tabellen | Anwendungsfall |
|---|---|---|
collection_id | index, prior_versions_index, collections_index, clinical_index | Serie mit Sammlungsmetadaten oder klinischen Daten verknüpfen |
analysis_result_id | index, analysis_results_index | Serie mit Analyseergebnismetadaten (Annotationen, Segmentierungen) verknüpfen |
source_DOI | index, analysis_results_index | Nach Veröffentlichungs-DOI verknüpfen |
segmented_SeriesInstanceUID | seg_index → index | Segmentierung mit ihrer Quellbildserie verknüpfen (seg_index.segmented_SeriesInstanceUID = index.SeriesInstanceUID) |
referenced_SeriesInstanceUID | ann_index → index, rtstruct_index → index | Annotation oder RTSTRUCT mit ihrer Quellbildserie verknüpfen |
Hinweis: subjects, updated und description erscheinen in mehreren Tabellen, haben aber unterschiedliche Bedeutungen (Zählungen vs. Identifikatoren, unterschiedliche Aktualisierungskontexte). Das Verknüpfen von prior_versions_index mit index über SeriesInstanceUID gibt immer null Zeilen zurück – siehe die Warnung oben.
Für detaillierte Join-Beispiele, Schemaerkennungsmuster, Referenz zu Schlüsselspalten und DataFrame-Zugriff siehe references/index_tables_guide.md.
Zugriff auf klinische Daten
Klinische (nicht bildgebende) Attribute – Stadieneinteilung, Demografie, Therapie – leben in tabellen pro Sammlung. client.fetch_index("clinical_index") lädt das Wörterbuch, das Spalten Sammlungen zuordnet; client.get_clinical_table(name) gibt eine Tabelle als DataFrame zurück.
Siehe references/clinical_data_guide.md für den Erkennungsworkflow, die Zuordnung codierter Werte und die Verknüpfung klinischer Daten mit Bildgebung.
Datenzugriffsoptionen
| Methode | Authentifizierung | Am besten geeignet für | Referenz |
|---|---|---|---|
idc-index | Nein | Downloads, pandas-Analyse, unbegrenzte Abfragen – der leistungsfähigste Pfad | Dieses Dokument |
| IDC-MCP-Server | Nein | Erkundung, Kohortenaufbau, Metadaten, wenn die Sitzung ihn bereits hat | mcp_guide.md |
| IDC-REST-API | Nein | Metadaten ohne Installation, aus jeder Sprache oder Shell – der Standard, wenn idc-index fehlt | rest_api_guide.md |
| Direkter Parquet (GCS) | Nein | Versionsgebundene Abfragen oder Ergebnisse über das REST-Zeilenlimit hinaus | parquet_access_guide.md |
| Cloud-Speicher (S3/GCS) | Nein | Direkter Dateizugriff, Bulk-Transfer, benutzerdefinierte Pipelines | cloud_storage_guide.md |
| DICOMweb über IDC-Proxy | Nein | Tool- und PACS-Integration; tägliches Kontingent, daher Tests und moderate Nutzung | dicomweb_guide.md |
| DICOMweb über Google Healthcare | Ja (GCP) | Dieselbe DICOMweb-API in Produktionsvolumen, ohne Proxy-Kontingent | dicomweb_guide.md |
| SlicerIDCBrowser | Nein | 3D-Visualisierung und -Analyse in 3D Slicer | https://github.com/ImagingDataCommons/SlicerIDCBrowser |
| BigQuery | Ja (GCP) | Vollständige DICOM-Metadaten, private Elemente, SR-Messungen – letzter Ausweg | bigquery_guide.md |
Das IDC-Portal (https://portal.imaging.datacommons.cancer.gov/) ist nur interaktiv – browserbasierte Erkundung, manuelle Kohortenauswahl und Download. Im Gegensatz zu allen Optionen oben hat es keine programmatische Schnittstelle. Verweisen Sie einen Benutzer dorthin, um selbst zu browsen oder Daten durchzuklicken; verwenden Sie es niemals als Schritt in einem Skript oder Workflow.
REST-API – der installationsfreie Metadatenpfad
https://api.imaging.datacommons.cancer.gov/v3, keine Authentifizierung: Erkundung, Kohortenzählungen und -manifeste, schreibgeschütztes SQL, klinische Tabellen, Viewer-URLs, Lizenzen, Zitate. Es ist derselbe Dienst wie der MCP-Server über einfaches HTTP, benötigt daher keine Konfiguration. Es überträgt niemals Bildbytes – wechseln Sie zu idc-index zum Herunterladen, um einen DataFrame zu erhalten oder für Ergebnisse über 10.000 Zeilen.
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" # reale Filterwerte mit Zählungen
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":[{"attribute":"Modality","values":["CT"]}]}'
curl -s $B/cohort/manifest -H 'content-type: application/json' \
-d '{"filters":[{"attribute":"collection_id","values":["nlst"]}]}'
curl -s $B/collections
curl -s $B/collections/nlst/viewer_url
curl -s $B/collections/nlst/doi
curl -s $B/licenses
curl -s $B/citations
Siehe references/rest_api_guide.md für Filter, Paginierung, Attributwerte-Erkennung und die vollständige Endpunktliste.
Kern-API-Muster
Die Beispiele unten gehen von client = IDCClient() aus. Entsprechende REST-Aufrufe finden Sie in Datenzugriffsoptionen.
1. Datenbestand erkunden
Zusammenfassungsstatistiken (client aus idc-index):
client.get_idc_version() # z. B. "v24"
client.get_totals() # Patienten, Studien, Serien, Instanzen, Größe_in_TB
client.get_collections() # Liste der Sammlungen mit Metadaten
REST (keine Installation):
curl -s https://api.imaging.datacommons.cancer.gov/v3/stats
curl -s https://api.imaging.datacommons.cancer.gov/v3/collections
2. SQL-Abfragen
# Suche nach CT-Serien mit Schichtdicke ≤ 1 mm
results = client.sql_query("""
SELECT SeriesInstanceUID, collection_id, Modality, SliceThickness
FROM index
WHERE Modality = 'CT'
AND SliceThickness <= 1
AND collection_id = 'nlst'
LIMIT 100
""")
# results ist ein pandas DataFrame
REST-Äquivalent:
curl -s https://api.imaging.datacommons.cancer.gov/v3/sql \
-H 'content-type: application/json' \
-d '{"sql":"SELECT SeriesInstanceUID, collection_id, Modality, SliceThickness FROM index WHERE Modality = '\''CT'\'' AND SliceThickness <= 1 AND collection_id = '\''nlst'\'' LIMIT 100"}'
3. Viewer-URLs
viewer_url = client.get_viewer_URL(seriesInstanceUID="1.2.840.113654.2.55.186474971242703629926323370046449934517")
print(f"Im Browser öffnen: {viewer_url}")
4. Cohorts (REST-only)
Cohorts sind ein REST-Feature; es gibt kein idc-index-Äquivalent.
curl -s https://api.imaging.datacommons.cancer.gov/v3/cohort/counts \
-H 'Content-Type: application/json' \
-d '{"filters":[{"attribute":"collection_id","values":["nlst"]},{"attribute":"Modality","values":["CT"]}]}'
curl -s https://api.imaging.datacommons.cancer.gov/v3/cohort/manifest \
-H 'Content-Type: application/json' \
-d '{"filters":[{"attribute":"collection_id","values":["nlst"]},{"attribute":"Modality","values":["CT"]}]}'
Siehe references/rest_api_guide.md.
5. Dateien herunterladen
# Auswahl von SQL-Ergebnissen: Ein dict mit SeriesInstanceUID als Schlüsseln
selection = {
series_uid: download_info
for series_uid, download_info in results.set_index('SeriesInstanceUID').to_dict('index').items()
}
client.download_from_selection(
selection,
downloadDir="/pfad/zum/download",
dry_run=False # Auf True setzen, um zu prüfen, was heruntergeladen würde
)
Wichtig: download_from_selection erwartet ein Dict von SeriesInstanceUID → Download-Info. Das Umwandeln eines DataFrames mit set_index('SeriesInstanceUID').to_dict('index') erstellt das korrekte Format.
6. Lizenz und Zitat abrufen
# Für Sammlungen
license_info = client.get_collection_license("tcga_luad")
citation_info = client.get_collection_citation("tcga_luad")
# Ein allgemeines Zitat, das mehrere Sammlungen abdeckt
# Siehe references/licensing_and_citation.md für die Verarbeitung gemischter Lizenzen
REST-Äquivalent:
curl -s https://api.imaging.datacommons.cancer.gov/v3/collections/tcga_luad/licenses
curl -s https://api.imaging.datacommons.cancer.gov/v3/collections/tcga_luad/citations
Siehe references/licensing_and_citation.md für die vollständige Referenz.
Abfragemuster
references/sql_patterns.md enthält gebrauchsfertige SQL-Abfragen für:
- Werte suchen: „Welche Werte hat Spalte X in Sammlung Y?“
- Kohortengröße schätzen: Patienten- und Serienanzahl für Filterbedingungen
- Annotationsabfragen: Annotationen nach Modalität, Körperregion oder Sammlung
- Größenabschätzung: Speicherplatz, der für eine bestimmte Serienauswahl benötigt wird
- Zufallsstichprobe: Gleichmäßig über Sammlungen verteilte Serienstichproben
- Datensatzvergleich: Kreuztabelle (Krebsart × Modalität) für eine Sammlung
- Aktualitätsprüfung: Neue Serien seit einer bestimmten IDC-Version
Anstatt das Rad neu zu erfinden, laden Sie den Leitfaden und passen Sie die Abfragen an Ihre Parameter an.
Bewährte Methoden
- Immer die IDC-Datenversion überprüfen – siehe die Zusammenfassungsabfrage in
references/sql_patterns.mdoderGET /v3/stats. IDC veröffentlicht etwa vierteljährlich Updates, und die hier festgelegte Version kann veraltet sein. - Filtern, BEVOR Sie SQL ausführen: Verwenden Sie WHERE-Klauseln (oder den REST-Filter-Endpunkt), um die Ergebnismenge vor dem Abrufen einzuschränken. Viele Tabellen haben Millionen von Zeilen.
- Lizenzprüfung vor der Verwendung: Überprüfen Sie immer die Lizenzbedingungen mit
client.get_collection_license()oder dem REST-Äquivalent – besonders für kommerzielle oder KI-Trainings-Workflows. - Datenversionen für die Reproduzierbarkeit angeben: Heften Sie
idc-indexan eine bestimmte Version, wenn Sie Workflows ausführen, die reproduzierbar sein müssen. - Verwenden Sie virtuelle Umgebungen: Installieren Sie
idc-indexin einer dedizierten virtuellen Umgebung (venv oder conda), um Konflikte mit anderen Paketen zu vermeiden. - Starten Sie die Python-Laufzeitumgebung nach der Installation neu:
idc-indexmuss nach der Installation neu geladen werden. - Verwenden Sie Batch-Verarbeitung für große Downloads:
download_from_selectionist serialisiert; für Batch-Downloads mehrerer Serien erwägen Sie die Parallelisierung mit Python-Multiprocessing- oder Thread-Pools. - Führen Sie
scripts/check_version.pyvor neuen Workflows aus: Es überprüft dieidc-index-Version und die IDC-Datenversion auf einmal und ist die empfohlene Methode, um sicherzustellen, dass Ihre Umgebung aktuell ist.
Fehlerbehebung
- „Table does not exist“-Fehler: Rufen Sie
client.fetch_index("table_name")auf, um die Tabelle vor der Abfrage zu laden. - ImportError:
idc-indexist möglicherweise nicht installiert. Führen Siepip install idc-indexaus. - „Connection refused“: Die IDC-API ist möglicherweise vorübergehend nicht erreichbar. Versuchen Sie es später erneut oder prüfen Sie den Status auf https://portal.imaging.datacommons.cancer.gov/.
- Download schlägt fehl: Stellen Sie sicher, dass der Ausgabepfad existiert und beschreibbar ist. Verwenden Sie
dry_run=True, um vor dem eigentlichen Download den erwarteten Umfang zu validieren. - Langsame Abfragen: Fügen Sie LIMIT-Klauseln hinzu oder verwenden Sie REST für kleinere Metadatenabfragen, um die Installation von
idc-indexzu vermeiden. - „Out of memory“ beim Arbeiten mit großen DataFrames: Erwägen Sie die Verwendung von REST-Paginierung (
limit/offset-Parameter) oder arbeiten Sie streaming mitclient.sql_query_cursor(). - Unterschiedliche Ergebnisse zwischen Methoden: Metadaten-Antworten sollten für denselben Filter identisch sein. Wenn sie unterschiedlich sind, prüfen Sie, ob Sie wirklich dieselbe IDC-Datenversion abfragen.
GET /versionundclient.get_idc_version()geben die von jedem Endpunkt verwendete Version zurück.
Beitragen und Feedback
Siehe IDC-Community-Seite.
Zusätzliche Ressourcen
- IDC-Portal: https://portal.imaging.datacommons.cancer.gov/
- IDC-Dokumentation: https://learn.canceridc.dev/
- idc-index auf GitHub: https://github.com/imagingdatacommons/idc-index
- IDC-Forum: https://discourse.canceridc.dev/
- IDC-Status: https://status.imaging.datacommons.cancer.gov/