XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer...
-
Upload
louisa-golden -
Category
Documents
-
view
219 -
download
4
Transcript of XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer...
XCEDE Use Cases:
QueryAtlas & other scenarios to drive Web Services development
2008 NA-MIC summer project week
(developing)
Overview: drivers for XCEDE Web Services
Example Users of Slicer with informatics infrastructure:
1. Neuroscience research (per-subject image analysis
workflow )
2. Statistical analysis visualization (using QueryAtlas to view
group statistics in an atlas-based anatomical context)
3. Clinical research groups: Retrospective data sharing
(mark-up and upload)
4. Image-guided therapy clinicians (real-time image access)
Draft workflows and requirements for each…
1. Neuroscience research: per-subject workflow
• Example: Schizophrenia Research
• Structural Imaging, DTI, fMRI
• Demographics, Protocols, Clinical
Assessments
• Label Maps, Activation Maps
• Labs often use Ad Hoc methods for data transfer,
description & tracking provenance
• Shared Network Drive, Access Database,
Spreadsheets…
• Reluctant to Change if Database Administrator is
Required
• Would Greatly Benefit from Informatics
Infrastructure if Reliable & Easy To Use
1. Neuroscience research: per-subject workflow
An R.A. in a neuroscience lab has some datasets assigned to her for processing.
1. She makes a query to see which subjects she needs to work on. Something like (?):
uri = http://xcede.org/Q?uid=me&project=schiz/&state=assigned
2. She gets an XML doc back containing a list of subject Ids. (how will this information be
exposed to user? GUI list+checkbox)
3. She makes a request for all datasets in the list –
• Should we loop over the list on the client side and query for each dataset?
• Can we make a request with a list of subjectIDs?
• Do we receive the data for each assigned subject?
• Do we download a catalog that references each dataset?
4. Finally, she wants to post a processed dataset and change the state of that dataset from
assigned to completed, or maybe associate provenance or custom tags to the derived
dataset. (how does she specify where she wants this to be stored, and tag it?)
Useful?: Slicer MRML representation for holding q-results in scene state:
vtkMRMLSlicerTableNode &
vtkMRMLSlicerTableStorageNode
Parse and store data in table form…
Subject ID Age CDR Dx
1234 87 0 Normal
3456 84 0.5 AD
5678 65 0 Normal
• Also allows useful CSV input format for collections of URIs
• Any URI table data handed off to appropriate
vtkMRMLURIHandler
2. Statistical analysis visualization: QueryAtlas view group statistics in an atlas-based anatomical context
• Using a webGUI or a Slicer query mechanism:
Search for all SZ subjects that have FreeSurfer
+ FIPS analyses for a particular experiment.
• Or find SZ population statistical analyses and
FreeSurfer average morphology data
• View downloaded results in QueryAtlas’s
ontology- and atlas-based context; choose
search terms and query for relevant multi-scale
information.
• View integrated search results & save all data of
interest for continued study.
• Export descriptions/data compatible with other
atlases
• Query must be simple & powerful. Tools must
manage & display returned results for clarity.
2: Statistical analysis visualization in atlas-based context
Target Visualization Scenario:
1. Within some data repository, for some project, show me experiments that have
combined morphology analyses and group functional analyses for subjects with a given
diagnosis… uri = something like:
http://xcede.org/Q?uid=me&project=fBIRN/&morphology=complete&functional=Level2&dia
gnosis=normal
2. Might want to know if any have MRMLScenes containing the information I want?
3. If not, receive list of SubjectIDs for whom both analyses are complete.
4. Select among returned results for studies of interest. (how – GUI checkbox?)
5. Receive .xcat File of Result URIs
6. Parse & load into Slicer / QueryAtlas (tags distinguish data types/formats for loading)
7. Query for explanatory information
8. Add notes, save query record and relevant information as part of MRML scene
9. Upload MRML scene to database (how to specify where to store scene?)
3. Sharing Retrospective Data
• Over 1000 Slicer-Guided Open MR Craniotomies
• Large Subset (~200) Cases Collated with Pre-
and Intra-Operative Images
• Various acq., 1.5T and 0.5T
• GE or NRRD format (not DICOM)
• National Center for Image Guided Therapy
(Jolesz, BWH) Goal to Share the Data
• Talos, Archip, and Haker Working with Marcus et
al. for Upload to XNAT Central
• Mark-up of image data and derived data
• Prostate Brachytherapy Data Also Available for
Upload
3: Sharing of retrospective data
Target scenario:
1. Create,validate/test the markup of data
2. Apply the markup to large datasets
3. Upload the data into some custom directory structure
4. Set and confirm access permissions
5. Need a way to query upload progress
6. Need a way to recover/resume if network access is blocked during upload of large
datasets.
4. Image Guided Therapy
• Collect Pre-Therapy Imaging
• Run Diverse Analysis Routines
• Evolving Research Code
• Multiple Investigators
• Bring Patient Maps into Real Time
Navigation / Robotic System
• Feed Procedure Images and Data Back to
Database
4: Image guided therapy
Target Scenario:
1. (develop this at project week).
Requirements
• Easy To Install XCEDE Compliant Server
• XNAT Desktop?
• Web Services API and Web services client tools
• The Simpler the Better
• Several Examples are Available
• DigitalBucket, GeneNetwork
• Capability to represent data provenance, and mark up data with
custom tags (Assigned To, Completed By)…
• Good user feedback (is transfer running? Was it successful?)
• Server-to-Server Data Migration
• Automatic Synchronization?
• cvs/svn-like checkouts and commits?