Versions Compared

Key

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

Summary

This document describes v3 v4 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 following characteristics apply to all TCIA APIs.

Version 4 (current)

  • .

Version 3 (Documentation for Version 3 can be found here)

  • Two new APIs have been added (/getSingleImage, /getSOPInstanceUIDs).
  • Three new APIs have been added (/NewPatientsInCollection, /NewStudiesInPatientsCollection, /PatientsByModality).
  • The getSeries API has been modified to include new query parameters.
  • Bug fixes

Version 2 (Documentation for Version 2 can be found here)

  • 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.

...

  • 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
  • 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/v3v4/TCIA/query/getPatientStudy?Collection=TCGA-GBM&PatientID=GBM-0123&format=csv
    This can be broken down as follows: 
BaseURLhttps://services.cancerimagingarchive.net/services/v3v4The BaseURL includes the version number of this API (v3 v4 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.

...

Example:
Let us say we wanted metadata for the getPatientStudy query from our earlier example. The query would look as follows:
https://services.cancerimagingarchive.net/services/v3v4/TCIA/query/getPatientStudy/metadata 

...