Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document page describes the various representational state transfer application programming interface (REST API) implementations that can be used to access TCIA data and resources. The APIs form a RESTful interface, accessed through web URLs. An application developer does not need to download any software to use the APIs. The application developer can build their own access routines complement the existing web interfaces and enable developers to build direct access to TCIA data into their applications using only the API documentation provided. 

TCIA currently offers two RESTful interfaces to its DICOM imaging data, as follows:

The application developer must ensure that they and the users of their applications comply with the TCIA Data Usage Policy. If you are interested in using the APIs and have any questions, please contact the TCIA Help Desk except where otherwise noted.

  • NBIA REST APIs
  • TCIA REST APIs: Originally developed using Project Bindaas with Emory University, these APIs provide programmatic access only to public collections and do not require authentication to use them. The TCIA REST API Guide describes these APIs.  Anyone may use these APIs without asking for an API key or secret.
  • National Biomedical Imaging Archive (NBIA) Search REST APIs: Provided as part of the NBIA software, these APIs provide programmatic access to the current search and download functions used in the TCIA radiology portal, and allow access to both public both public and limited access DICOM collections. The  API Guide describes these APIs. In order to use these APIs, a developer must request a Client ID and Client Secret from the TCIA Help Desk, then use that Client ID and Client Secret to obtain an OAuth2 token. That token must be passed to the server in the https headers of API calls, as described in the guide.

The APIs complement the existing web interfaces and can be used in programmatic viewing and analysis applications.

The following guides to the two RESTful interfaces are available:

Note that new versions of the APIs may introduce new data types that have not yet been documented. 

    • APIs allow you to perform basic queries and download data for image analysis on public collections.
    • The NBIA Search with Authentication REST APIs allow you to perform basic queries on and download data for image analysis from public and restricted collections.
    • The NBIA Advanced REST APIs also allow access to public and restricted collections, but are geared towards developers seeking to integrate searching and downloading TCIA data into their own web and desktop applications. 
  • DataCite REST APIEach Collection TCIA publishes is issued a Digital Object Identifier (DOI) through DataCite.  This API can be used to programmatically access Collection metadata such as their DOIs, titles and abstracts.  Please note that this API was not developed by TCIA. See https://support.datacite.org/ for any technical questions.  The TCIA Helpdesk may be able to assist if your inquiry is related to the content of the data itself.
  • TCIA REST API: [DEPRECATED 6-22-2022] - The TCIA REST API originally developed using Project Bindaas with Emory University, has been deprecated in favor of the NBIA REST APIs. While the NBIA REST APIs have the same functionality as the Bindaas based TCIA REST APIs, there are some differences that should be noted and tested during conversion from the TCIA REST API to the NBIA REST API. Please see the Migration Guide for details. The existing Bindaas based TCIA REST APIs will remain active but will receive no updates or maintenance going forward.  They also do not contain an up-to-date view of our available datasets, so newer collections will not appear if you use them.

TCIA_Utils

The tcia_utils package contains functions to simplify common tasks one might perform when interacting with The Cancer Imaging Archive (TCIA) via Python.  Issues with this package should be submitted at https://github.com/kirbyju/tcia_utils/issues.  Example notebooks demonstrating tcia_utils functionality can be found at https://github.com/kirbyju/TCIA_Notebooks

Installation can be achieved with this Pip command:

Code Block
pip install tcia_utils


 To import functions related to NBIA for accessing our DICOM radiology data:

Code Block
from tcia_utils import nbia


To import functions related to pathDB for accessing our digitized pathology data:

Code Block
from tcia_utils import pathdb


To import functions related to Datacite for querying Collection metadata such as their DOIs, titles and abstracts:

Code Block
from tcia_utils import datacite

TCIA Data Usage Policy

Excerpt Include
Data Usage Policies and Restrictions
Data Usage Policies and Restrictions
nopaneltrue

...