# Organization of data

IDC provides a variety of interfaces to access both the data (as files) and metadata (to subset files and build cohorts). The flow of data and the relationship between the various components IDC uses is summarized in the following figure.

{% embed url="<https://docs.google.com/presentation/d/1UVpNVyVy3xIYLDnm4rtgAUmSu-uKQo5krekI9DSMT8o/edit?usp=sharing>" %}

We maintain the following resources to enable access to IDC data:

* [Cloud storage buckets](#files-and-metadata): files maintained by IDC are mirrored between Google and AWS public storage buckets that provide fee-free egress without requiring login. The buckets organize files by DICOM series, each series stored in a separate folder. Given the large overall size of data in IDC, you will likely need to use one of the search interfaces to identify relevant series first.
* BigQuery tables: collection-level metadata, DICOM metadata, [clinical data tables](/data/organization-of-data/clinical.md) available via SQL query interface.
* Python API: pip-installable [idc-index package](https://idc-index.readthedocs.io/en/latest/) provides a programmatic interface and command-line tools to search IDC data using most important metadata attributes, and to download files corresponding to the selected cohorts from the cloud buckets
* [REST API](https://github.com/ImagingDataCommons/IDC-Docs/blob/prod/api/README.md): alternative language-independent API for selecting subsets of data
* [DICOMweb](/data/organization-of-data/dicom-stores.md): DICOM files and metadata queries available from Google Healthcare DICOM stores


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.canceridc.dev/data/organization-of-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
