NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

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

Table of Contents

Example Call to Access Public Data

The following is an example call using curl to access public data using an API from the NBIA v1 API Python ExamplesDirectory.

To come

Example Request for Accessing a Private Resource

Most data in TCIA are fully public. However, certain collections require special permissions to access them. To access these collections, you must first register for a TCIA account (be sure to scroll down on this page and click "CLICKING HERE" to accept the terms and conditions) and then contact the TCIA Help Desk for permission to access the restricted data. The TCIA Help Desk will also give you the client_id and client_secret. An example follows that shows how to request NBIA REST services for restricted data.

...

Info
iconfalse
titlePython Sample Script
Code Block
import requests,json

token_url = "https://services.cancerimagingarchive.net/nbia-api/oauth/token?username=YOUR_NAME&password=YOUR_PASSWORD&grant_type=password&client_id=nbiaRestAPIClient&client_secret=ItsBetweenUAndMe"

access_token = requests.get(token_url).json()["access_token"]

print (access_token)


Python Sample Output:

Code Block
ae8b76ac-4225-4958-8eba-27ddd4b15411

Using the Token in an API Call

Make a note of the access token you received and pass it with the REST service call.

Info
iconfalse
titlePython Sample Script
Code Block
import requests,json

token_url = "https://services.cancerimagingarchive.net/nbia-api/oauth/token?username=YOUR_NAME&password=YOUR_PASSWORD&grant_type=password&client_id=nbiaRestAPIClient&client_secret=ItsBetweenUAndMe"
access_token = requests.get(token_url).json()["access_token"]
print (access_token)

api_call_headers = {'Authorization': 'Bearer ' + access_token}
data_url = "https:// services.cancerimagingarchive.net/nbia-api/services/v2/getModalityValues"
data = requests.get(data_url, headers=api_call_headers).json()
print (data)

Python Sample Output

Code Block
[{"Modality":"CR"},{"Modality":"CT"},{"Modality":"CTPT"},{"Modality":"DX"},{"Modality":"FUSION"},{"Modality":"KO"},{"Modality":"MG"},{"Modality":"MR"},{"Modality":"NM"},{"Modality":"OT"},{"Modality":"PR"},{"Modality":"PT"},{"Modality":"REG"},{"Modality":"RTDOSE"},{"Modality":"RTPLAN"},{"Modality":"RTSTRUCT"},{"Modality":"RWV"},{"Modality":"SC"},{"Modality":"SEG"},{"Modality":"SR"},{"Modality":"US"},{"Modality":"XA"}]

Example Request for Logout


Info
iconfalse
titlePython Sample Script
Code Block
import requests,json

token_url = "https://services.cancerimagingarchive.net/nbia-api/oauth/token?username=YOUR_NAME&password=YOUR_PASSWORD&grant_type=password&client_id=nbiaRestAPIClient&client_secret=ItsBetweenUAndMe"
access_token = requests.get(token_url).json()["access_token"]
print (access_token)

api_call_headers = {'Authorization': 'Bearer ' + access_token}
data_url = "https:// services.cancerimagingarchive.net/nbia-api/logout "
data = requests.get(data_url, headers=api_call_headers).json()
print (data)

Python Sample Result

Code Block
You Have Logged Out successfully.

Sample Python Script for REST Search APIs

Body Part Values and Counts API

The Body Part Values and Counts API returns the modality values and body part count for the modality. It optionally takes the following parameters.

  • Collection
  • Modality

Example Body Part Values and Counts Query

Info
iconfalse
titlePython Sample Script
Code Block
import requests,json

token_url = "https://services.cancerimagingarchive.net/nbia-api/oauth/token?username=YOUR_NAME&password=YOUR_PASSWORD&grant_type=password&client_id=nbiaRestAPIClient&client_secret=ItsBetweenUAndMe"
access_token = requests.get(token_url).json()["access_token"]
print (access_token)

api_call_headers = {'Authorization': 'Bearer ' + access_token}
data_url = "https:// services.cancerimagingarchive.net/nbia-api/services/getBodyPartValuesAndCounts?Modality=PT "
data = requests.get(data_url, headers=api_call_headers).json()
print (data)


Python Sample Results

Code Block
[{"criteria":"ABDOMEN","count":"145"},{"criteria":"BLADDER","count":"6"},{"criteria":"BRAIN","count":"42"},{"criteria":"BREAST","count":"125"},{"criteria":"CHEST","count":"232"},{"criteria":"EXTREMITY","count":"51"},{"criteria":"HEADNECK","count":"395"},{"criteria":"KIDNEY","count":"1"},{"criteria":"LIVER","count":"1"},{"criteria":"LUNG","count":"40"},{"criteria":"PHANTOM","count":"22"},{"criteria":"PROSTATE","count":"12"},{"criteria":"THORAX_1HEAD_NE","count":"4"},{"criteria":"THYROID","count":"1"},{"criteria":"UNDEFINED","count":"2"},{"criteria":"UTERUS","count":"5"},{"criteria":"WHOLEBODY","count":"5"}]