Upload
jordan-ramsey
View
215
Download
3
Embed Size (px)
Citation preview
XCEDE Web Services
2008 mBIRN AHM
San Juan, Puerto Rico
Use Case
• Run smoothing filter on all oasis-brains T1 scans for
subjects rated as ‘twisted’ by WashU and aged 30-
70 years old. Reupload the results with a tag of
'smoothed‘.
Pseudocode
subjs = FIND_SUBJECTS ( proj=OAS, age=30-70, washu:twistedness=400-700 )
foreach subj in subjs do
T1s = GET_FILE_RECORDS ( subj, tag=T1, format=NIfTI )
foreach T1 in T1s do
image = GET_FILE( T1.ID )
filteredT1 = filter( image )
UPLOAD ( filteredT1, subj, tag = "smoothed" )
done
done
Variables
• where:
• subjs : list of subject records (database UID)
• subj : subject record
• T1s : list of data records (includes image ID plus metadata)
• image, filteredT1 : image data
Services
• Services:
• - all services provide success/fail codes based on HTTP conventions
• - all output is in XCEDE XML or data files
• FIND_SUBJECTS
• - input: list of subject attributes (from fixed list of agreed basic terms that are
guaranteed, plus possible extra namespace qualified terms)
• - output: list of subject IDs that match all the attribute criteria
• - notes: this is not a generic search service with boolean combinations (client side
needs to implement any additional logic)
Services (continued)
• GET_FILE_RECORDS
• - input: subject ID, list of tags
• - output: data records
• GET_FILE
• - input: Unique ID from image record
• - output: image file
• UPLOAD
• - input: image file, subject ID, list of tags
• - output: none
Prototypes
• http://www.xcede.org/webServices/FIND_SUBJECTS?proj=OAS&age=30-
70&washu:twistedness=400-700
• --> returns XCEDE document
• http://www.xcede.org/webServices/GET_FILE_RECORDS?
subject=(subj)&tag=T1&format=NIfTI
• --> returns XCEDE document
• http://www.xcede.org/webServices/GET_FILE?ID=(id)
• --> returns binary file download
• http://www.xcede.org/webServices/UPLOAD?
image=filteredT1&subj=(subj)&tag=smoothed
• --> uploads file
Authentication Options
• https://www.xcede.org/webServices/SERVICE?arg1=ARG&arg2=ARG
• <-- requires username and password in header
• or
• https://www.xcede.org/webServices/SERVICE?
arg1=ARG&arg2=ARG&signature=289xcz9B3X21
• <-- signature is created by signing the rest of the URL using
• the user's private key (public key is registered when
• creating an account on the server or generally available)
• Assumptions: the single username and password is for the specified database and not
for other servers.
• Goal: provide workable authentication for testing, migrate to industry standards