XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer...

12
XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

Transcript of XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer...

Page 1: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

XCEDE Use Cases:

QueryAtlas & other scenarios to drive Web Services development

2008 NA-MIC summer project week

(developing)

Page 2: 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…

Page 3: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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

Page 4: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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?)

Page 5: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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 

Page 6: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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.

Page 7: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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?)

Page 8: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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

Page 9: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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.

Page 10: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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

Page 11: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

4: Image guided therapy

Target Scenario:

1. (develop this at project week).

Page 12: XCEDE Use Cases: QueryAtlas & other scenarios to drive Web Services development 2008 NA-MIC summer project week (developing)

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?