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 years old. Reupload the results with a tag of 'smoothed.
Pseudocode subjs = FIND_SUBJECTS ( proj=OAS, age=30-70, washu:twistedness= ) 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
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 70&washu:twistedness= > returns XCEDE document mat=NIfTI --> returns XCEDE document --> returns binary file download hed --> uploads file
Authentication Options <-- requires username and password in header or xcz9B3X21 <-- 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