Summary
This document describes v2 v3 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 3
- Three new APIs have been added (/NewPatientsInCollection, /NewStudiesInPatientsCollection, /PatientsByModality
- The getSeries API has been modified to include new query parameters
- Bug Fixes
Version 2
- You can access the metadata of an API by appending appending /metadata to to the end of a QueryEndpoint, without any QueryParameters (See below). The metadata is in JSON format and conforms to 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
Getting Started with the TCIA API
...
BaseURL | https://services.cancerimagingarchive.net/services/v2v3 | The BaseURL includes the version number of this API (v2 in this example) |
---|---|---|
Resource | /TCIA | |
QueryEndpoint | /query/getPatientStudy | |
Query Parameters | Collection=TCGA-GBM & PatientID=GBM-0123 | |
Format | format=csv | Some 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 (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
...
Resource | QueryEndpoint | Query Parameters All query parameters areoptional unless stated otherwise | Format | Description |
---|---|---|---|---|
/TCIA |
| |||
/query/getCollectionValues | None | CSV/HTML/XML/JSON | Set of all collection names | |
/query/getModalityValues | Collection / BodyPartExamined | CSV/HTML/XML/JSON | Set of all modality values (CT, MR, ...) filtered by query keys | |
/query/getBodyPartValues | Collection / Modality | CSV/HTML/XML/JSON | Set of all body part names filtered by query keys | |
/query/getManufacturerValues | Collection / Modality / BodyPartExamined | CSV/HTML/XML/JSON | Set of all manufacturer names filtered by query keys | |
/query/getPatient | Collection | CSV/HTML/XML/JSON | Set of patient objects filtered by query keys | |
/query/PatientsByModality | Collection (R) Modality (R) | CSV/HTML/XML/JSON | Returns a list of PatientIDs, given a specific Collection Name and Modality | |
/query/getPatientStudy | Collection / PatientID / StudyInstanceUID | CSV/HTML/XML/JSON | Set of patient/study objects filtered by query keys | |
/query/getSeries | Collection / StudyInstanceUID / | CSV/HTML/XML/JSON | Set of series objects filtered by query keys | |
/query/getSeriesSize | SeriesInstanceUID (R) | CSV/HTML/XML/JSON | Set of total byte size and object count filtered by query key | |
/query/getImage | SeriesInstanceUID (R) | ZIP | Set of images in a zip file | |
/query/NewPatientsInCollection | Date (R) | CSV/HTML/XML/JSON | Returns a set of Patients that have been added to a specified collection since a specified date. | |
/query/NewStudiesInPatientCollection | Date (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 | |
/SharedList | ||||
/query/ContentsByName | name (R) | JSON | Given the name of a shared list return its contents. |
...