2009 Winter Project Week GWE Catalogs

From NAMIC Wiki
Revision as of 17:20, 9 January 2009 by Mruiz (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < 2009 Winter Project Week GWE Catalogs



Key Investigators

  • UCSD: Marco Ruiz
  • WUSTL: Dan Marcus
  • WUSTL: Kevin Archie

Addendum Project (GWE Introduction/Setup):

  • MIND: H Jeremy Bockholt, Mark Scully
  • IOWA: Hans Johnson
  • BWH: Madeleine Seeland
  • Mario Negri: Luca Antiga
  • Ohio State: Shantanu Singh

Objective

To integrate GWE (Grid Wizard Enterprise) with XML based catalogs containing description of "experiments". An "experiment" is a set of inter independent process runs of a particular algorithm over a collection of parameters which can include algorithmic parameter exploration set and/or image set.

Approach, Plan

GWE is being enhanced with a XPath parser which allows it to introspect any XML file. This will allow GWE to read structured data from standard catalogs by creating the appropriate XPath expressions to query for this data. In that sense, for this project, we will need to:

  • Identify standard (industry/community) XML types of catalogs that can describe an "experiment".
  • Gather their XML schema and the knowledge on how to interpret its data to map to an "experiment".
  • Generate the XPath expressions necessary to query the desired data from XML files conforming to those schemas.
  • Create GWE function(s)/macro(s) to translate these catalogs into "experiment" descriptors (P2EL) for GWE to run.

Progress

Right now we are testing a rudimentary study case to run Slicer's bspline deformable registration of a hardcoded fixed image against images from the OASIS database which identifiers are read from this file:

http://www.gridwizardenterprise.org/test/oasis-id.xcat

With a P2EL command that looks like this:

${ITER}=$const(5,10,20) ${HIST}=$range(20,100,010) ${SAM}=$range(500,5000,200)
${FIX}=$oasis(0101,1)
${MOV}=$oasis_xcat(http://www.gridwizardenterprise.org/test/oasis-id.xcat)
${BSPLINE}=$bspline(${SLICER_HOME},${ITER},${HIST},${SAM})
${OUT}=$uploadHDR(${SYSTEM.USER_HOME}/res-${FIX_ID}/${BSPLINE_EXPLORATION_ID}/out-${MOV_OASIS_ID})
${BSPLINE_CMD} ${OUT_HDR} ${FIX_HDR} ${MOV_OASIS_HDR}

A new topic has been created with the XNAT discussion group to gather any standards they may have to offer:

http://groups.google.com/group/xnat_discussion/browse_thread/thread/93d6e2643a46a0b6#



Meet with Dan Marcus and Kevin Archie to gather details on XNAT and its REST API functionality. Used information to create P2EL macros to query XNAT using the REST API (including transparent support for its required HTTP basic authentication). The following P2EL macros were tested successfully against the "http://central.xnat.org/" XNAT system to:

1. Query all sessions and their respective scans for a specific subject:

$xnat-sessions-scans($${XNAT_SYS},$${SUBJECT}) {
	$${EXPERIMENTS}=$${XNAT_SYS}projects/CENTRAL_OASIS_CS/subjects/$${SUBJECT}/experiments?format=xml
	$${TEXT}=/text()
	$${SESSIONS}=$xpath(${EXPERIMENTS},//row/cell[1]${TEXT})
	$${SCANS}=$xpath($${EXPERIMENTS}/$${SESSIONS}/scans?format=xml,//row/cell[2]${TEXT})
}

2. Stage (download) all the images of all the scans performed in all the sessions of all the experiments run over a particular subject (it is dependent on previous macro):

$xnat-images($${XNAT_SYS},$${SUBJECT}) {
        $${SS}=$xnat-sessions-scans($${XNAT_SYS},$${SUBJECT})
	${IMAGE}=$xpath($${SS_EXPERIMENTS}/${SS_SESSIONS}/scans/${SS_SCANS}/files?format=xml,//row)
	$${LOC}=$xpath($${IMAGE},/row/cell[4]${TEXT})
	$${FILE}=$in($${XNAT_SYS}/$${LOC})
}

Also, meet with Jeremy Bockholt and Mark Scully to come up with a simple custom catalog composed of a list of parameters for each of the study cases in a parameter exploration experiment. A generic XML schema will be created for this purpose with its respective P2EL parsing macro in the next release of GWE.



As an addendum project GWE was setup and introduced to the following researchers:

  • Jeremy Bockholt and Mark Scully (MIND). Introduced and setup GWE. Successfully run a pipeline consisting of intensity standardization followed by predict lesions on data of 18 subjects.
  • Hans Johnson (IOWA). Fully setup and discovered environmental constraints and needed future enhancements for GWE.
  • Madeleine Seeland (BWH) and Luca Antiga (Mario Negri). Introduced and setup GWE and run test demos with it. Work with Madeleine towards getting her slicer module working with GWE. Work with Luca on specifications towards getting python modules to run as command lines executables (non-dependent on slicer) so they can be launched by GWE.
  • Shantanu Singh (Ohio State). Introduced and setup GWE and run test demos with it. Resolved GWE's windows and cygwin related issues.


References