Organization of data

IDC approach to storage and management of DICOM data is relying on the Google Cloud Platform Healthcare API. We maintain three representations of the data, which are fully synchronized and correspond to the same dataset, but are intended to serve different use cases.

In order to access the resources listed below, it is assumed you have completed the "getting started" steps to access Google Cloud console!

All of the resources listed below are accessible under the canceridc-data GCP project.

Storage Buckets

Storage buckets are named using the format idc-tcia-<TCIA_COLLECTION_NAME>, where TCIA_COLLECTION_NAME corresponds to the collection name in the collections table here.

Within the bucket, DICOM files are organized using the following directory naming conventions:

dicom/<StudyInstanceUID>/<SeriesInstanceUID>/<SOPInstanceUID>.dcm

where *InstanceUIDs correspond to the respective value of the DICOM attributes in the stored DICOM files.

You can read about accessing GCP storage buckets from a Compute VM here.

All of the IDC buckets are requester-pays, which means you will need to provide Project ID for a project that has billing set up if you want to download the data from those buckets.

Make sure you understand the data egress charges! As a general rule of thumb, download of the data to a GCP compute VM is free, while download to your laptop or a VM that belongs to a different cloud provider is expensive!

As an example, if you were to download to your laptop ALL of the DICOM data included in the October 2020 release of IDC, which is about 1 TB, you would need to pay a total of around $120 in egress charges.

Assuming you have a list of GCS URLs in gcs_paths.txt, you can download the corresponding items using the command below, substituting $PROJECT_ID with the valid GCP Project ID (see the complete example in this notebook):

$ cat gcs_paths.txt | gsutil -u $PROJECT_ID -m cp -I .

BigQuery Tables

Google BigQuery (BQ) is a massively-parallel analytics engine ideal for working with tabular data. IDC utilizes the standard capabilities of the Google Healthcare API to extract all of the DICOM metadata from the hosted collections into a single BQ table. Conventions of how DICOM attributes of various types are converted into BQ form are covered in the Understanding the BigQuery DICOM schema Healthcare API documentation article.

Due to the existing limitations of Google Healthcare API, not all of the DICOM attributes are extracted and are available in BigQuery tables. Specifically:

  • sequences that have more than 15 levels of nesting are not extracted (see https://cloud.google.com/bigquery/docs/nested-repeated) - we believe this limitation does not affect the data stored in IDC

  • sequences that contain around 1MiB of data are dropped from BigQuery export and RetrieveMetadata output currently. 1MiB is not an exact limit, but it can be used as a rough estimate of whether or not the API will drop the tag (this limitation was not documented as of writing this) - we know that some of the instances in IDC will be affected by this limitation. The fix for this limitation is targeted for sometime in 2021, according to the communication with Google Healthcare support.

IDC users can access this table to conduct detailed exploration of the metadata content, and build cohorts using fine-grained controls not accessible from the IDC portal.

In addition to the DICOM metadata tables, we maintain several additional tables that curate metadata non-DICOM metadata (e.g., attribution of a given item to a specific collection and DOI, collection-level metadata, etc).

In addition to the tables above, we provide the following BigQuery views (virtual tables defined by queries) that extract specific subsets of metadata, or combine attributes across different tables, for convenience of the users

DICOM Stores

IDC MVP utilizes a single Google Healthcare DICOM store to host all of the collections. That store, however, is primarily intended to support visualization of the data using OHIF Viewer. At this time, we do not support access of the hosted data via DICOMWeb interface by the IDC users. See more details in the discussion here, and please comment about your use case if you have a need to access data via the DICOMweb interface.

BigQuery tables external to IDC

In addition to the DICOM data, some of the image-related data hosted by IDC is stored in additional tables. These include the following: