Difference between revisions of "2011 Winter Project Week:SEMXMLSchema"

From NAMIC Wiki
Jump to: navigation, search
Line 68: Line 68:
 
| || hidden||reference||fileExtension||type||coordinateSystem||multiple||aggregate
 
| || hidden||reference||fileExtension||type||coordinateSystem||multiple||aggregate
 
|-
 
|-
|boolean||.||.||.||.||.||.||.||
+
|boolean||.||.||.||.||.||x||.||
 
|-
 
|-
|image||.||.||.||.||.||.||.||
+
|integer||.||.||.||.||.||x||.||
 
|-
 
|-
|geometry||.||.||.||.||.||.||.||
+
|float||.||.||.||.||.||x||.||
 
|-
 
|-
|transform||.||.||.||.||.||.||.||
+
|double||.||.||.||.||.||x||.||
 
|-
 
|-
|table||.||.||.||.||.||.||.||
+
|string||.||.||.||.||.||x||.||
 
|-
 
|-
|measurement||.||.||.||.||.||.||.||
+
|image||x||x||x||x||.||x||.||
 
|-
 
|-
|file||.||.||.||.||.||.||.||
+
|geometry||.||.||x||x||.||x||x||
 
|-
 
|-
|point||.||.||.||.||.||.||.||
+
|transform||.||x||x||x||.||x||.||
 
|-
 
|-
|region||.||.||.||.||.||.||.||
+
|table||x||x||x||x||.||x||.||
 +
|-
 +
|measurement||x||x||x||x||.||x||.||
 +
|-
 +
|file||.||.||x||.||.||x||.||
 +
|-
 +
|directory||.||.||.||.||.||x||.||
 +
|-
 +
|point||.||.||.||.||x||x||.||
 +
|-
 +
|region||.||.||.||.||x||x||.||
 
|-
 
|-
 
|}
 
|}
 +
 +
All other parameters (integer-vector, float-vector, double-vector, string-vector, integer-enumeration, float-enumeration, double-enumeration, string-enumeration) have no attributes currently
  
 
<!--<div style="width: 97%; float: left;">
 
<!--<div style="width: 97%; float: left;">

Revision as of 21:28, 11 January 2011

Home < 2011 Winter Project Week:SEMXMLSchema

Key Investigators

  • UIowa: Hans Johnson
  • GE: Jim Miller
  • Tim Olsen

Objective

Create a formal schema for the SEM xml so that eternal tools (i.e. nipype) can validate the xml

Approach, Plan

Define what should be valid SEM XML. The current SEM parser and Slicer CommandLineModule may currently only support a subset of the ultimate specification.

  • Use XML tools to grok a schema from current SEM XML files.
  • Use this schema as a guide to identify what the SEM schema should be
  • Check schema against Slicer CommandLineModule gui/logic. Attributes like reference, multiple, type should be generalized where it makes sense.
  • Update the SEM XML parser
  • Update the CommandLineModule in Slicer

Progress

An XML schema has already been written part of CTK (unofficial yet): slicerModuleDescription.xsd

  • Issues with initial schema
    • Image, Geometry, Transform do not have to be index parameters
    • ParamType, IndexParamType, TypedIndexParamType probably need clearer names
    • Index parameters do not have to be files and hence do not need always have fileExtensions attribute
  • Perl script to validate XML using LibXML
  • Issues against current CLI's XML
    • ...
  • Current parser
    • Attribute hidden
      • boolean, image, table, measurement
    • Attribute reference
      • transform, image, table, measurement
    • Attribute fileExtensions
      • file, transform, image, geometry, table, measurement
    • Attribute type
      • transform, image, geometry, table, measurement
    • Attribute coordinateSystem
      • point, region
    • Attribute multiple
      • point, region, file, transform, image, geometry, table, measurement
    • Attribute aggregate
      • geometry,

Current Parser

hidden reference fileExtension type coordinateSystem multiple aggregate
boolean . . . . . x .
integer . . . . . x .
float . . . . . x .
double . . . . . x .
string . . . . . x .
image x x x x . x .
geometry . . x x . x x
transform . x x x . x .
table x x x x . x .
measurement x x x x . x .
file . . x . . x .
directory . . . . . x .
point . . . . x x .
region . . . . x x .

All other parameters (integer-vector, float-vector, double-vector, string-vector, integer-enumeration, float-enumeration, double-enumeration, string-enumeration) have no attributes currently