Difference between revisions of "2009 Summer Project Week Slicer3 XNAT usecases"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
[[image:XNAT_IGTUseCase.png]]
 
[[image:XNAT_IGTUseCase.png]]
 +
 +
 +
'''Step1.''' Subject is scanned and data is pushed to a networked disk (and referenced by a PACS system) automatically.
 +
 +
'''Step2.''' Researcher1 uses an XND client (on a laptop or a desktop system) to mark up subject data and to upload it (via drag and drop) to the central XND repository xnd.bwh.harvard.edu.
 +
 +
'''Step3.''' Researcher2 opens slicer and queries XND webservices on svr = http://xnd.bwh.harvard.edu:8081 for a list of subjects.
 +
 +
Query for all subjects on system...
 +
'''send:''' curl $srv/search??subject
 +
'''response:''' xml for all subjects in xnd.bwh.harvard.edu
 +
 +
Choose a subject, query for available data...
 +
'''send:''' curl $srv/search?subject=$subj
 +
'''response:''' xml containing URIs of all resources for the individual subject $subj
 +
 +
Slicer parses XML and presents list of all resources; researcher2 queries for for only DICOM data for a particular subject...
 +
'''send:''' curl $srv/search?subject=$subj&file_type=DICOM
 +
'''response:''' xml containing URIs of all DICOM resources for subject $subj
 +
 +
Slicer parses XML and presents list of URIs, researcher2 requests to download uris of interest...
 +
'''send:''' curl $uri
 +
'''response: file contents
 +
 +
'''Step4.''' Completed neurosurgical planning analysis and upload results.
 +
 +
Create metadatadocument (XML) for individual data file, or for scene + selected data. First, post each dataset, and assemble MRML file using returned uris. Then, post or put mrml file.
 +
'''send:''' curl -X POST -H "Content-Type: application/x-xnat-metadata+xml" -H "Content-Disposition: x-xnat-metadata; filename=\"$filename\"" -d @$metadata.xml $srv/data
 +
'''response:''' URI of posted file (as message body, also in Location: HTTP header)
 +
'''send:''' curl -T $filepath $url
 +
'''response:''' none
 +
 +
'''Step5.''' In IGT, download scene for patient (subject) into slicer.
 +
 +
Query for a subject and query for available scene files...
 +
'''send:''' curl $srv/search?subject=$subj&fileType=MRML
 +
'''response:''' xml containing URIs of all MRML files
 +
 +
Slicer parses XML and presents list of MRML files, and clinican selects one with $uri.
 +
'''send:''' curl -T $local_file $uri
 +
'''response:''' none
 +
 +
Clinician cuts network link to remote repository (all files are locally cached so OR system is self sufficient).
  
 
[[image:XNAT_RTPlanningUseCase.png]]
 
[[image:XNAT_RTPlanningUseCase.png]]

Revision as of 10:40, 24 June 2009

Home < 2009 Summer Project Week Slicer3 XNAT usecases

XNAT IGTUseCase.png


Step1. Subject is scanned and data is pushed to a networked disk (and referenced by a PACS system) automatically.

Step2. Researcher1 uses an XND client (on a laptop or a desktop system) to mark up subject data and to upload it (via drag and drop) to the central XND repository xnd.bwh.harvard.edu.

Step3. Researcher2 opens slicer and queries XND webservices on svr = http://xnd.bwh.harvard.edu:8081 for a list of subjects.

Query for all subjects on system...

send: curl $srv/search??subject
response: xml for all subjects in xnd.bwh.harvard.edu

Choose a subject, query for available data...

send: curl $srv/search?subject=$subj
response: xml containing URIs of all resources for the individual subject $subj

Slicer parses XML and presents list of all resources; researcher2 queries for for only DICOM data for a particular subject...

send: curl $srv/search?subject=$subj&file_type=DICOM
response: xml containing URIs of all DICOM resources for subject $subj

Slicer parses XML and presents list of URIs, researcher2 requests to download uris of interest...

send: curl $uri
response: file contents

Step4. Completed neurosurgical planning analysis and upload results.

Create metadatadocument (XML) for individual data file, or for scene + selected data. First, post each dataset, and assemble MRML file using returned uris. Then, post or put mrml file.

send: curl -X POST -H "Content-Type: application/x-xnat-metadata+xml" -H "Content-Disposition: x-xnat-metadata; filename=\"$filename\"" -d @$metadata.xml $srv/data
response: URI of posted file (as message body, also in Location: HTTP header)
send: curl -T $filepath $url
response: none

Step5. In IGT, download scene for patient (subject) into slicer.

Query for a subject and query for available scene files...

send: curl $srv/search?subject=$subj&fileType=MRML
response: xml containing URIs of all MRML files

Slicer parses XML and presents list of MRML files, and clinican selects one with $uri.

send: curl -T $local_file $uri
response: none

Clinician cuts network link to remote repository (all files are locally cached so OR system is self sufficient).

XNAT RTPlanningUseCase.png

XNAT QCUseCase.png

XNAT LongitudinalUseCase.png

XNAT PopulationuseCase.png