<?xml version="1.0" encoding="UTF-8"?>
<executable>
  <category>Testing</category>
  <title>Execution Model Tour</title>
  <description><![CDATA[Shows one of each type of parameter.]]></description>
  <version>0.1.0.$Revision$(alpha)</version>
  <documentation-url></documentation-url>
  <license/>
  <contributor>Daniel Blezek (GE), Bill Lorensen (GE)</contributor>
  <acknowledgements><![CDATA[This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.]]></acknowledgements>
  <parameters>
    <label>Scalar Parameters (árvíztűrő tükörfúrógép)</label>
    <description><![CDATA[Variations on scalar parameters]]></description>
    <integer>
      <name>integerVariable</name>
      <flag>-i</flag>
      <longflag>--integer</longflag>
      <description><![CDATA[An integer without constraints]]></description>
      <label>Integer Parameter</label>
      <default>30</default>
    </integer>
    <double>
      <name>doubleVariable</name>
      <flag>-d</flag>
      <longflag>--double</longflag>
      <description><![CDATA[A double with constraints]]></description>
      <label>Double Parameter</label>
      <default>30</default>
      <constraints>
        <minimum>0</minimum>
        <maximum>1.e3</maximum>
        <step>10</step>
      </constraints>
    </double>
  </parameters>
  <parameters>
    <label>Vector Parameters</label>
    <description><![CDATA[Variations on vector parameters]]></description>
    <float-vector>
      <name>floatVector</name>
      <longflag>float_vector</longflag>
      <flag>f</flag>
      <description><![CDATA[A vector of floats]]></description>
      <label>Float Vector Parameter</label>
      <default>1.3,2,-14</default>
    </float-vector>
    <string-vector>
      <name>stringVector</name>
      <longflag>string_vector</longflag>
      <description><![CDATA[A vector of strings]]></description>
      <label>String Vector Parameter</label>
      <default>foo,bar,foobar</default>
    </string-vector>
  </parameters>
  <parameters>
    <label>Enumeration Parameters</label>
    <description><![CDATA[Variations on enumeration parameters]]></description>
    <string-enumeration>
      <name>stringChoice</name>
      <flag>e</flag>
      <longflag>enumeration</longflag>
      <description><![CDATA[An enumeration of strings]]></description>
      <label>String Enumeration Parameter</label>
      <default>Bill</default>
      <element>Ron</element>
      <element>Eric</element>
      <element>Bill</element>
      <element>Ross</element>
      <element>Steve</element>
      <element>Will</element>
      <element>árvíztűrő tükörfúrógép</element>
    </string-enumeration>
  </parameters>
  <parameters>
    <label>Boolean Parameters</label>
    <description><![CDATA[Variations on boolean parameters]]></description>
    <boolean>
      <name>boolean1</name>
      <longflag>boolean1</longflag>
      <description><![CDATA[A boolean default true]]></description>
      <label>Boolean Default true</label>
      <default>true</default>
    </boolean>
    <boolean>
      <name>boolean2</name>
      <longflag>boolean2</longflag>
      <description><![CDATA[A boolean default false]]></description>
      <label>Boolean Default false</label>
      <default>false</default>
    </boolean>
    <boolean>
      <name>boolean3</name>
      <longflag>boolean3</longflag>
      <description><![CDATA[A boolean with no default, should be defaulting to false]]></description>
      <label>Boolean No Default</label>
    </boolean>
  </parameters>
  <parameters>
    <label>File, Directory and Image Parameters</label>
    <description><![CDATA[Parameters that describe files and directories.]]></description>
    <file fileExtensions=".png,.jpg,.jpeg,.bmp,.tif,.tiff,.gipl,.dcm,.dicom,.nhdr,.nrrd,.mhd,.mha,.mask,.hdr,.nii,.nii.gz,.hdr.gz,.pic,.lsm,.spr,.vtk,.vtkp,.vtki,.stl,.csv,.txt,.xml,.html">
      <longflag>file1</longflag>
      <description><![CDATA[An input file]]></description>
      <label>Input file</label>
      <channel>input</channel>
    </file>
    <file fileExtensions=".png,.jpg,.jpeg,.bmp,.tif,.tiff,.gipl,.dcm,.dicom,.nhdr,.nrrd,.mhd,.mha,.mask,.hdr,.nii,.nii.gz,.hdr.gz,.pic,.lsm,.spr,.vtk,.vtkp,.vtki,.stl,.csv,.txt,.xml,.html" multiple="true">
      <longflag>files</longflag>
      <description><![CDATA[Multiple input files]]></description>
      <label>Input Files</label>
      <channel>input</channel>
    </file>
    <file fileExtensions=".nrrd,.nhdr">
      <longflag>outputFile1</longflag>
      <description><![CDATA[An output file]]></description>
      <label>Output file</label>
      <channel>output</channel>
    </file>
    <directory>
      <longflag>directory1</longflag>
      <description><![CDATA[An input directory. If no default is specified, the current directory is used,]]></description>
      <label>Input directory</label>
      <channel>input</channel>
    </directory>
    <image>
      <longflag>image1</longflag>
      <description><![CDATA[An input image]]></description>
      <label>Input image</label>
      <channel>input</channel>
    </image>
    <image type="dynamic-contrast-enhanced">
      <longflag>image4d</longflag>
      <label>Input 4D Image</label>
      <channel>input</channel>
      <description><![CDATA[Input 4D Image (txyz)]]></description>
    </image>
    <image reference="image1">
      <longflag>image2</longflag>
      <description><![CDATA[An output image]]></description>
      <label>Output image</label>
      <channel>output</channel>
    </image>
  </parameters>
  <parameters>
    <label>Transform Parameters</label>
    <description><![CDATA[Parameters that describe transforms.]]></description>
    <transform fileExtensions=".mrml">
      <longflag>transformInput</longflag>
      <description><![CDATA[A generic input transform]]></description>
      <label>Input transform</label>
      <channel>input</channel>
    </transform>
    <transform type="linear" fileExtensions=".mrml">
      <longflag>transform1</longflag>
      <description><![CDATA[A linear input transform]]></description>
      <label>Input transform linear</label>
      <channel>input</channel>
    </transform>
    <transform type="nonlinear" fileExtensions=".mrml">
      <longflag>transformInputNonlinear</longflag>
      <description><![CDATA[A nonlinear input transform]]></description>
      <label>Input transform nonlinear</label>
      <channel>input</channel>
    </transform>
    <transform type="bspline" fileExtensions=".mrml">
      <longflag>transformInputBspline</longflag>
      <description><![CDATA[A bspline input transform]]></description>
      <label>Input transform bspline</label>
      <channel>input</channel>
    </transform>
    <transform fileExtensions=".mrml">
      <longflag>transformOutput</longflag>
      <description><![CDATA[A generic output transform]]></description>
      <label>Output transform</label>
      <channel>output</channel>
    </transform>
    <transform type="linear" fileExtensions=".mrml">
      <longflag>transform2</longflag>
      <description><![CDATA[A linear output transform]]></description>
      <label>Output transform linear</label>
      <channel>output</channel>
    </transform>
    <transform type="nonlinear" fileExtensions=".mrml">
      <longflag>transformOutputNonlinear</longflag>
      <description><![CDATA[A nonlinear output transform]]></description>
      <label>Output transform nonlinear</label>
      <channel>output</channel>
    </transform>
    <transform type="bspline" fileExtensions=".mrml">
      <longflag>transformOutputBspline</longflag>
      <description><![CDATA[A bspline output transform]]></description>
      <label>Output transform bspline</label>
      <channel>output</channel>
    </transform>
  </parameters>
  <parameters>
    <label>Point Parameters</label>
    <description><![CDATA[Parameters that describe point sets.]]></description>
    <point multiple="true" coordinateSystem="ras">
      <name>seed</name>
      <label>Seeds</label>
      <longflag>--seed</longflag>
      <description><![CDATA[Lists of points in the CLI correspond to slicer fiducial lists]]></description>
      <default>0,0,0</default>
    </point>
    <pointfile fileExtensions=".fcsv" coordinateSystem="lps">
      <name>seedsFile</name>
      <description><![CDATA[Test file of input fiducials, compared to seeds]]></description>
      <label>Seeds file</label>
      <longflag>seedsFile</longflag>
      <channel>input</channel>
    </pointfile>
    <pointfile fileExtensions=".fcsv" coordinateSystem="lps">
      <name>seedsOutFile</name>
      <label>Output seeds file</label>
      <description><![CDATA[Output file to read back in, compare to seeds with flipped settings on first fiducial]]></description>
      <longflag>seedsOutFile</longflag>
      <channel>output</channel>
    </pointfile>
  </parameters>
  <parameters>
    <label>Geometry Parameters</label>
    <description><![CDATA[Parameters that describe models.]]></description>
    <geometry>
      <name>InputModel</name>
      <label>Input Model</label>
      <longflag>inputModel</longflag>
      <channel>input</channel>
      <description><![CDATA[Input model]]></description>
    </geometry>
    <geometry reference="InputModel">
      <name>OutputModel</name>
      <label>Output Model</label>
      <longflag>outputModel</longflag>
      <channel>output</channel>
      <description><![CDATA[Output model]]></description>
    </geometry>
    <geometry aggregate="true" fileExtensions=".mrml" multiple="true">
      <name>ModelSceneFile</name>
      <channel>output</channel>
      <label>Models</label>
      <longflag>modelSceneFile</longflag>
      <description><![CDATA[Generated models, under a model hierarchy node. Models are imported into Slicer under a model hierarchy node. The model hierarchy node must be created before running the model maker, by selecting Create New ModelHierarchy from the Models drop down menu.]]></description>
      <default>models.mrml</default>
    </geometry>
  </parameters>
  <parameters>
    <label>Index Parameters</label>
    <description><![CDATA[Variations on parameters that use index rather than flags.]]></description>
    <image>
      <name>arg0</name>
      <channel>input</channel>
      <index>0</index>
      <description><![CDATA[First index argument is an image]]></description>
      <label>First index argument</label>
    </image>
    <image>
      <name>arg1</name>
      <channel>output</channel>
      <index>1</index>
      <description><![CDATA[Second index argument is an image]]></description>
      <label>Second index argument</label>
    </image>
  </parameters>
  <parameters>
    <label>Regions of interest</label>
    <region multiple="true">
      <name>regions</name>
      <label>Input region list</label>
      <longflag>region</longflag>
      <description><![CDATA[List of regions to process]]></description>
    </region>
  </parameters>
  <parameters>
    <label>Measurements</label>
    <measurement>
      <name>inputFA</name>
      <channel>input</channel>
      <label>Input FA measurements</label>
      <longflag>inputFA</longflag>
      <description><![CDATA[Array of FA values to process]]></description>
    </measurement>
    <measurement>
      <name>outputFA</name>
      <channel>output</channel>
      <label>Output FA measurements</label>
      <longflag>outputFA</longflag>
      <description><![CDATA[Array of processed (output) FA values]]></description>
    </measurement>
  </parameters>
  <parameters>
    <label>Generic Tables</label>
    <table>
      <name>inputDT</name>
      <channel>input</channel>
      <label>Input Table</label>
      <longflag>inputDT</longflag>
      <description><![CDATA[Array of Table values to process]]></description>
    </table>
    <table>
      <name>outputDT</name>
      <channel>output</channel>
      <label>Output Table</label>
      <longflag>outputDT</longflag>
      <description><![CDATA[Array of processed (output) Table values]]></description>
    </table>
  </parameters>
  <parameters>
    <label>Simple return types</label>
    <integer>
      <name>anintegerreturn</name>
      <label>An integer return value</label>
      <channel>output</channel>
      <default>5</default>
      <description><![CDATA[An example of an integer return type]]></description>
    </integer>
    <boolean>
      <name>abooleanreturn</name>
      <label>A boolean return value</label>
      <channel>output</channel>
      <default>false</default>
      <description><![CDATA[An example of a boolean return type]]></description>
    </boolean>
    <float>
      <name>afloatreturn</name>
      <label>A floating point return value</label>
      <channel>output</channel>
      <default>7.0</default>
      <description><![CDATA[An example of a float return type]]></description>
    </float>
    <double>
      <name>adoublereturn</name>
      <label>A double point return value</label>
      <channel>output</channel>
      <default>14.0</default>
      <description><![CDATA[An example of a double return type]]></description>
    </double>
    <string>
      <name>astringreturn</name>
      <label>A string point return value</label>
      <channel>output</channel>
      <default>Hello</default>
      <description><![CDATA[An example of a string return type]]></description>
    </string>
    <integer-vector>
      <name>anintegervectorreturn</name>
      <label>An integer vector return value</label>
      <channel>output</channel>
      <default>1,2,3</default>
      <description><![CDATA[An example of an integer vector return type]]></description>
    </integer-vector>
    <string-enumeration>
      <name>astringchoicereturn</name>
      <channel>output</channel>
      <description><![CDATA[An enumeration of strings as a return type]]></description>
      <label>A string enumeration return value</label>
      <default>Bill</default>
      <element>Ron</element>
      <element>Eric</element>
      <element>Bill</element>
      <element>Ross</element>
      <element>Steve</element>
      <element>Will</element>
      <element>árvíztűrő tükörfúrógép</element>
    </string-enumeration>
  </parameters>
</executable>
