<?xml version="1.0" encoding="utf-8"?>
<executable>
  <category>
  Segmentation
  </category>
  <title>
  EMSegment Command-line
  </title>
  <description>
  EMSegment command-line module description and help.
  </description>
  <version>0.1.0.$Revision: 2085 $(alpha)</version>
  <documentation-url>http://wiki.na-mic.org/Wiki/index.php/Slicer3:EM</documentation-url>
  <license></license>
  <contributor>Brad Davis</contributor>

  <acknowledgements>Many people and organizations have contributed to the funding, design, and development of the EMSegment algorithm and its various implementations.</acknowledgements>

  <parameters>
    <label>Inputs and Outputs</label>
    <description>Altorithm input and output.</description>

    <file fileExtensions=".mrml">
      <name>mrmlSceneFileName</name>
      <longflag>mrmlSceneFileName</longflag>

      <description>Active MRML scene that contains EMSegment algorithm parameters.</description>

      <label>MRML Scene</label>
    </file>    

    <file fileExtensions=".mhd">
      <name>resultVolumeFileName</name>
      <longflag>resultVolumeFileName</longflag>

      <description>The file name that the segmentation result volume will be written to.</description>
      <label>Result Labelmap</label>
      <channel>output</channel>
    </file>    

    <file multiple="true" fileExtensions=".mhd">
      <name>targetVolumeFileNames</name>
      <longflag>targetVolumeFileNames</longflag>

      <description>File names of target volumes (to be segmented).  The number of target images must be equal to the number of target images specified in the parameter set, and these images must be spatially aligned.</description>

      <label>Target Volumes</label>      
      <channel>input</channel>
    </file>

    <file multiple="true" fileExtensions=".mhd">
      <name>atlasVolumeFileNames</name>
      <longflag>atlasVolumeFileNames</longflag>

      <description>File names of atlas (spatial) probability maps.  The number of atlas volumes must match the number specified in the parameter set.  The ordering must match the ordering defined in the mrml parameters file.</description>
      <label>Atlas Volumes</label>      
      <channel>input</channel>
    </file>

    <directory multiple="false">
      <name>intermediateResultsDirectory</name>
      <longflag>intermediateResultsDirectory</longflag>

      <description>Directory where EMSegmenter will write intermediate data (e.g., aligned atlas data).</description>
      <label>Intermediate Results Directory</label>      
      <channel>input</channel>
    </directory>

  </parameters>

  <parameters advanced="true">
    <label>Parameters</label>
    <description>Algorithm Parameters</description>

    <string>
      <name>parametersMRMLNodeName</name>
      <longflag>parametersMRMLNodeName</longflag>

      <description>The name of the EMSegment parameters node within the active MRML scene.  Leave blank for default.</description>

      <label>Parameters Node Name</label>
    </string>    

    <boolean>
      <name>disableMultithreading</name>
      <longflag>disableMultithreading</longflag>
      <description>Disable multithreading.</description>
      <label>Disable Multithreading</label>
      <default>false</default>
    </boolean>

    <boolean>
      <name>dontUpdateIntermediateData</name>
      <longflag>dontUpdateIntermediateData</longflag>
      <description>Disable update of intermediate results.</description>
      <label>Skip Intermediate Data Update</label>
      <default>false</default>
    </boolean>

    <boolean>
      <name>verbose</name>
      <longflag>verbose</longflag>
      <description>Enable verbose output.</description>
      <label>Verbose Output</label>
      <default>false</default>
    </boolean>

  </parameters>

  <parameters advanced="true">
    <label>Experimental</label>
    <description>Subject to change and removal</description>

    <file>
      <name>resultStandardVolumeFileName</name>
      <longflag>resultStandardVolumeFileName</longflag>

      <description>Used for testing.  Compare segmentation results to this image and return EXIT_FAILURE if they do not match.</description>

      <label>Result Standard Image</label>
      <channel>input</channel>
    </file>    

    <boolean>
      <name>dontWriteResults</name>
      <longflag>dontWriteResults</longflag>
      <description>Used for testing.  Don't actually write the resulting labelmap to disk.</description>
      <label>Don't write results.</label>
      <default>false</default>
    </boolean>

    <file>
      <name>generateEmptyMRMLSceneAndQuit</name>
      <longflag>generateEmptyMRMLSceneAndQuit</longflag>
      <description>Used for testing.  Only write a scene with default mrml parameters.</description>
      <label>Write default scene.</label>
      <channel>output</channel>
    </file>

    <file>
      <name>resultMRMLSceneFileName</name>
      <longflag>resultMRMLSceneFileName</longflag>
      <description>Write out the MRML scene after command line substitutions have been made.</description>
      <label>Output MRML scene filename.</label>
      <channel>output</channel>
    </file>

    <boolean>
      <name>disableCompression</name>
      <longflag>disableCompression</longflag>
      <description>Don't use compression when writing result image to disk.</description>
      <label>Disable compression.</label>
      <default>false</default>
    </boolean>

  </parameters>
</executable>

