Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Summary

This document describes v2 of the TCIA programmatic Interface or  REST API implementation.  This API is designed for use by developers of image analysis and data mining tools to directly query the public resources of TCIA and retrieve information into their applications.  The API complements the existing web interface but eliminates the need for users to visit the TCIA web pages to select and download images then upload them into their viewing and analysis applications. The TCIA Programmatic Interface is based on a middleware platform called Project Bindaas, developed by Emory University and uses REST web service technologies.

The API is a RESTful interface, accessed through web URLs.  There is no software that an application developer needs to download in order to use the API. The application developer can build their own access routines using just the API documentation provided.  The interface employs a set of predefined query functions (see REST API Directory) that access TCIA databases.

If you are interested in using the API and have any questions, please contact us at cancerimagingarchive@mail.nih.gov.

What's new

The following characteristics apply to all TCIA APIs:

  • You access a resource by sending an HTTP request to the TCIA API server. The server replies with a response that either contains the data you requested, or a status indicator.
  • Every request must contain an API-KEY. The key can be included in the url by adding an extra query parameter api_key or it can be included in the HTTP headers. We strongly recommend that the API-KEY be sent via HTTP headers.
  • You can obtain one API-KEY and use that for your application; you do not need a separate API-KEY for each user of your software..  To obtain an API-Key please send a request to help@cancerimagingarchive.net  or contact TCIA's help desk by phone at: +1 314-747-4254. 
  • You can access the metadata of an API by appending /metadata to the end of a QueryEndpoint, without any QueryParameters (See below). The metadata is in JSON format and conforms to this schema
  • Most APIs can return results as CSV/JSON/XML/HTML. You can specify the return format by including the query parameter format
  • An API request takes the following structure:
    <BaseURL><Resource><QueryEndpoint>?<QueryParameters><Format>

For example, the API shown below is a request to get all studies in the TCGA-GBM collection for patient GBM-0123 as CSV

https://services.cancerimagingarchive.net/services/v2/TCIA/query/getPatientStudy?Collection=TCGA-GBM&PatientID=GBM-0123&format=csv

This can be broken down as follows:

BaseURLhttps://services.cancerimagingarchive.net/services/v2The BaseURL includes the version number of this API (v2 in this example)
Resource/TCIA 
QueryEndpoint/query/getPatientStudy 
Query ParametersCollection=TCGA-GBM
PatientID=GBM-0123
 
Formatformat=csvSome APIs support CSV/HTML/XML/JSON, while others only support a single return type.
Therefore this is required only in instances where multiple return types are supported.

Getting Started with the TCIA API

The following characteristics apply to all TCIA APIs:

  • You access a resource by sending an HTTP request to the TCIA API server. The server replies with a response that either contains the data you requested, or a status indicator.
  • You can access the metadata of an API by appending /metadata to the end of the query. See examples. The metadata is in JSON format and conforms to this schema
  • Most APIs can return results as CSV/JSON/XML/HTML. You can specify the return format by including the query parameter format
  • Every request must contain an API-KEY. The key can be included in the url by adding an extra query parameter api_key or it can be included in the HTTP headers.
    You can obtain one API-KEY and use that for your application; you do not need a separate API-KEY for each user of your software..  To obtain an API-Key please send a request to help@cancerimagingarchive.net  or contact TCIA's help desk by phone at: +1 314-747-4254. 

 

  • The baseURL for the TCIA API is: 

 

TCIA BaseURL
https://services.cancerimagingarchive.net/services/v2

 

 

API Reference

The full API consists of a base URL followed by the api and the query parameters in that order.

ResourceResourceURLQueryMetadata QueryDescription
TCIA/TCIA/query

 

  
  /getPatient  
SharedList/SharedList/query/ContentsByName  

Query Name

Return Values

Output Format

Query Key 1

Query Key  2

Query Key  3

Query Key  4

getCollectionValues

Set of all collection names

CSV/HTML/XML/JSON

NA

NA

NA

NA

getModalityValues

Set of all modality values (CT, MR, ...) filtered by query keys

CSV/HTML/XML/JSON

Collection (O)

BodyPartExamined (O)

Modality (O)

NA

getBodyPartValues

Set of all body part names filtered by query keys

CSV/HTML/XML/JSON

Collection (O)

BodyPartExamined (O)

Modality (O)

NA

getManufacturerValues

Set of all manufacturer names filtered by query keys

CSV/HTML/XML/JSON

Collection (O)

BodyPartExamined (O)

Modality (O)

NA

getPatientSet of patient objects filtered by query keysCSV/HTML/XML/JSONCollection (O)NANANa

getPatientStudy

Set of patient/study objects filtered by query keys

CSV/HTML/XML/JSON

Collection (O)

PatientID (O)

StudyInstanceUID (O)

NA

getSeries

Set of series objects filtered by query keys

CSV/HTML/XML/JSON

Collection (O)

PatientID (O)

StudyInstanceUID (O)

Modality (O)

getSeriesSizeSet of total byte size and object count filtered by query keyCSV/HTML/XML/JSONSeriesInstanceUID (R)

NA

NA

NA

getImage

Set of images in a zip file

ZIP

SeriesInstanceUID (R)

NA

NA

NA

Return Values

Click here to see more details on the return values.

Testing the API

There are two RESTful servers provided by TCIA. A test system is loaded with a small set of known data to allow you to test your applications. The production system is configured to use the full TCIA database. The query format is the same for both systems. The base URLs are:

Click Here to see the test data that has been loaded on these test servers have the following test data

 

  • No labels