Difference between revisions of "2011 Winter Project Week:SEMXMLSchema"
From NAMIC Wiki
Line 68: | Line 68: | ||
| || hidden||reference||fileExtension||type||coordinateSystem||multiple||aggregate | | || hidden||reference||fileExtension||type||coordinateSystem||multiple||aggregate | ||
|- | |- | ||
− | |boolean||.||.||.||.||.|| | + | |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 | ||
<!--<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:SEMXMLSchemaKey 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,
- Attribute hidden
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