<?xml version="1.0" encoding="utf-8"?>
<executable>
  <category>registration</category>
  <title>Test CLP</title>
  <description>Registers two images together using a rigid transform and MI</description>
  <version>0.1.0.$Revision$(alpha)</version>
  <documentation-url></documentation-url>
  <license></license>
  <contributor>Daniel Blezek</contributor>

  <parameters>
    <label>Registration Parameters</label>
    <description>Parameters used for registration</description>
  <string-enumeration>
      <name>interpolationType</name>
      <longflag>--interpolation</longflag>
      <description>Sampling algorithm (linear or sinc)</description>
      <label>Interpolation</label>
      <element>linear</element>
      <element>sinc</element>
      <default>linear</default>
  </string-enumeration>
  <integer-enumeration>
      <name>selection</name>
      <longflag>--selection</longflag>
      <description>Select a number (0 2 4)</description>
      <label>Selection</label>
      <element>0</element>
      <element>2</element>
      <element>4</element>
      <default>2</default>
  </integer-enumeration>
    <integer>
      <name>HistogramBins</name>
      <flag>-b</flag>
      <longflag>--histogrambins</longflag>
      <description>Number of histogram bins to use for Mattes Mutual Information</description>
      <label>Histogram Bins</label>
      <default>30</default>
      <constraints>
        <minimum>1</minimum>
        <maximum>500</maximum>
        <step>5</step>
      </constraints>
    </integer>

    <integer>
      <name>SpatialSamples</name>
      <flag>-s</flag>
      <longflag>--spatialsamples</longflag>
      <description>Number of spatial samples to use in estimating Mattes Mutual Information</description>
      <label>Spatial Samples</label>
      <default>10000</default>
      <constraints>
        <minimum>1000</minimum>
        <maximum>50000</maximum>
        <step>1000</step>
      </constraints>
    </integer>

    <boolean>
      <name>InitializeTransform</name>
      <flag>-u</flag>
      <longflag>--noinitializetransform</longflag>
      <description>Calculate initial transform</description>
      <label>Initialize TransformSpatial Samples</label>
      <default>false</default>
    </boolean>

    <integer-vector>
      <name>Iterations</name>
      <flag>-i</flag>
      <longflag>--iterations</longflag>
      <description>Comma separated list of iterations. Must have the same number of elements as learning rate</description>
      <label>Iterations</label>
      <default>100,100,100,200</default>
    </integer-vector>

    <float-vector>
      <name>LearningRate</name>
      <flag>-l</flag>
      <longflag>--learningrate</longflag>
      <description>Comma separated list of learning rates must have the same number of elements as iterations</description>
      <label>Learning Rates</label>
      <default>0.005,0.001,0.0005,0.0002</default>
    </float-vector>
    
    <double>
      <name>TranslationScale</name>
      <longflag>--translationscale</longflag>
      <flag>-t</flag>
      <description>Relative scale of translations to rotations, i.e. a value of 100 means 10mm = 1 degree</description>
      <label>Translation scaling</label>
      <default>100.0</default>
      <constraints>
        <minimum>10.0</minimum>
        <maximum>500.0</maximum>
        <step>50.0</step>
      </constraints>
    </double>
  </parameters>

  <parameters>
    <label>IO</label>
    <description>Input/output parameters</description>
    <file>
      <name>FixedImage</name>
      <label>Fixed Image</label>
      <channel>input</channel>
      <index>0</index>
      <description>Fixed image to register to</description>
    </file>
    <file>
      <name>MovingImage</name>
      <label>Moving Image</label>
      <channel>input</channel>
      <index>1</index>
      <description>Moving image</description>
    </file>
    <file>
      <name>OutputImage</name>
      <label>Output Volume</label>
      <channel>output</channel>
      <index>2</index>
      <description>Resampled Moving Image</description>
    </file>
  </parameters>

</executable>
