Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated deprecated link

...

  • 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/v3/TCIA/query/getPatientStudy?Collection=TCGA-GBM&PatientID=GBM-0123&format=csv
    This can be broken down as follows: 
BaseURLhttps://services.cancerimagingarchive.net/services/v3The BaseURL includes the version number of this API (v3 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.
  • Coding examples and a SDK (in Python & Java) can be found on here
  • Interface documentation can be found on Mashape. The table below contains the most up-to-date documentation of the API. 
  • The interface is registered on ProgrammableWeb

...

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

ResourceQueryEndpoint

Query Parameters

All query parameters are
optional unless stated otherwise
 

Format

Description
/TCIA 

 

  
 /query/getCollectionValuesNoneCSV/HTML/XML/JSONSet of all collection names
 /query/getModalityValuesCollection / BodyPartExaminedCSV/HTML/XML/JSONSet of all modality values (CT, MR, ...) filtered by query keys
 /query/getBodyPartValuesCollection / ModalityCSV/HTML/XML/JSONSet of all body part names filtered by query keys
 /query/getManufacturerValuesCollection / Modality /
BodyPartExamined
CSV/HTML/XML/JSONSet of all manufacturer names filtered by query keys
 /query/getPatientCollectionCSV/HTML/XML/JSONSet of patient objects filtered by query keys
 /query/PatientsByModalityCollection (R)
Modality (R
CSV/HTML/XML/JSON

Returns a list of PatientIDs, given a specific Collection Name and Modality

 /query/getPatientStudyCollection / PatientID /
StudyInstanceUID
CSV/HTML/XML/JSONSet of patient/study objects filtered by query keys
 /query/getSeries

Collection / StudyInstanceUID /
PatientID / SeriesInstanceUID /
Modality / BodyPartExamined /
ManufacturerModelName /
Manufacturer

CSV/HTML/XML/JSONSet of series objects filtered by query keys
 /query/getSeriesSizeSeriesInstanceUID (R)CSV/HTML/XML/JSONSet of total byte size and object count filtered by query key
 /query/getImageSeriesInstanceUID (R)ZIPSet of images in a zip file
 /query/NewPatientsInCollection

Date (R)
Collection (R

CSV/HTML/XML/JSON

Returns a set of Patients that have been added to a specified collection since a specified date.
Date is specified as (YYYY-MM-DD)
Use the getCollectionValues to get the list of available collections 

 /query/NewStudiesInPatientCollectionDate (R)
Collection (R)
PatientID
CSV/HTML/XML/JSON

Returns a set of Studies that have been added to a specified collection, and optionally to a patient since a specified date

Date is specified as (YYYY-MM-DD)
Use the getCollectionValues to get the list of available collections 
 /query/getSOPInstanceUIDsSeriesInstanceUID (R)CSV/HTML/XML/JSON

Return a list of SOPInstanceUID for a given series using the SeriesInstanceUID

 /query/getSingleImageSeriesInstanceUID (R)
SOPInstanceUID (R)
Raw DICOM ObjectReturns a SINGLE DICOM Object that is identified by its SeriesInstanceUID and SOPInstanceUID. This API will always be used following the /getSOPInstanceUIDs
/SharedList    
 /query/ContentsByNamename (R)JSONGiven the name of a shared list return its contents.

API Metadata

The API now supports the ability to programmatically access the metadata about your API. This information is provided as a JSON document and includes:

...

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:

TypeURL
Production https://services.cancerimagingarchive.net/services/v3/TCIA/query
Test https://services-test.cancerimagingarchive.net/services/v3/TCIA/query

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

...