text: # -*- coding: utf-8 -*-
  # -*- coding: utf8 -*-
  """Autogenerated file - DO NOT EDIT
  If you spot a bug, please report it on the mailing list and/or change the generator."""
  
  import os
  
  from ...base import (CommandLine, CommandLineInputSpec, SEMLikeCommandLine,
                       TraitedSpec, File, Directory, traits, isdefined,
                       InputMultiPath, OutputMultiPath)
  
  
  class HistogramMatchingFilterInputSpec(CommandLineInputSpec):
      inputVolume = File(desc="The Input image to be computed for statistics", exists=True, argstr="--inputVolume %s")
      referenceVolume = File(desc="The Input image to be computed for statistics", exists=True, argstr="--referenceVolume %s")
      outputVolume = traits.Either(traits.Bool, File(), hash_files=False, desc="Output Image File Name", argstr="--outputVolume %s")
      referenceBinaryVolume = File(desc="referenceBinaryVolume", exists=True, argstr="--referenceBinaryVolume %s")
      inputBinaryVolume = File(desc="inputBinaryVolume", exists=True, argstr="--inputBinaryVolume %s")
      numberOfMatchPoints = traits.Int(desc=" number of histogram matching points", argstr="--numberOfMatchPoints %d")
      numberOfHistogramBins = traits.Int(desc=" number of histogram bin", argstr="--numberOfHistogramBins %d")
      writeHistogram = traits.Str(desc=" decide if histogram data would be written with prefixe of the file name", argstr="--writeHistogram %s")
      histogramAlgorithm = traits.Enum("OtsuHistogramMatching", desc=" histogram algrithm selection", argstr="--histogramAlgorithm %s")
      verbose = traits.Bool(desc=" verbose mode running for debbuging", argstr="--verbose ")
  
  
  class HistogramMatchingFilterOutputSpec(TraitedSpec):
      outputVolume = File(desc="Output Image File Name", exists=True)
  
  
  class HistogramMatchingFilter(SEMLikeCommandLine):
  
      """title: Write Out Image Intensities
  
  category: BRAINS.Utilities
  
  description: For Analysis
  
  version: 0.1
  
  contributor: University of Iowa Department of Psychiatry, http:://www.psychiatry.uiowa.edu
  
  """
  
      input_spec = HistogramMatchingFilterInputSpec
      output_spec = HistogramMatchingFilterOutputSpec
      _cmd = " HistogramMatchingFilter "
      _outputs_filenames = {'outputVolume': 'outputVolume.nii'}
      _redirect_x = False
  
  class GenerateEdgeMapImageInputSpec(CommandLineInputSpec):
      inputMRVolumes = InputMultiPath(File(exists=True), desc="List of input structural MR volumes to create the maximum edgemap", argstr="--inputMRVolumes %s...")
      inputMask = File(desc="Input mask file name. If set, image histogram percentiles will be calculated within the mask", exists=True, argstr="--inputMask %s")
      minimumOutputRange = traits.Int(desc="Map lower quantile and below to minimum output range. It should be a small number greater than zero. Default is 1", argstr="--minimumOutputRange %d")
      maximumOutputRange = traits.Int(desc="Map upper quantile and above to maximum output range. Default is 255 that is the maximum range of unsigned char", argstr="--maximumOutputRange %d")
      lowerPercentileMatching = traits.Float(desc="Map lower quantile and below to minOutputRange. It should be a value between zero and one", argstr="--lowerPercentileMatching %f")
      upperPercentileMatching = traits.Float(desc="Map upper quantile and above to maxOutputRange. It should be a value between zero and one", argstr="--upperPercentileMatching %f")
      outputEdgeMap = traits.Either(traits.Bool, File(), hash_files=False, desc="output edgemap file name", argstr="--outputEdgeMap %s")
      outputMaximumGradientImage = traits.Either(traits.Bool, File(), hash_files=False, desc="output gradient image file name", argstr="--outputMaximumGradientImage %s")
      numberOfThreads = traits.Int(desc="Explicitly specify the maximum number of threads to use.", argstr="--numberOfThreads %d")
  
  
  class GenerateEdgeMapImageOutputSpec(TraitedSpec):
      outputEdgeMap = File(desc="(required) output file name", exists=True)
      outputMaximumGradientImage = File(desc="output gradient image file name", exists=True)
  
  class GenerateEdgeMapImage(SEMLikeCommandLine):
  
      """title: GenerateEdgeMapImage
  
  category: BRAINS.Utilities
  
  description: Automatic edgemap generation for edge-guided super-resolution reconstruction
  
  version: 1.0
  
  contributor: Ali Ghayoor
  
  """
  
      input_spec = GenerateEdgeMapImageInputSpec
      output_spec = GenerateEdgeMapImageOutputSpec
      _cmd = " GenerateEdgeMapImage "
      _outputs_filenames = {'outputEdgeMap': 'outputEdgeMap', 'outputMaximumGradientImage': 'outputMaximumGradientImage'}
      _redirect_x = False
  
  class GeneratePurePlugMaskInputSpec(CommandLineInputSpec):
      inputImageModalities = InputMultiPath(File(exists=True), desc="List of input image file names to create pure plugs mask", argstr="--inputImageModalities %s...")
      threshold = traits.Float(desc="threshold value to define class membership", argstr="--threshold %f")
      numberOfSubSamples = InputMultiPath(traits.Int, desc="Number of continous index samples taken at each direction of lattice space for each plug volume", sep=",", argstr="--numberOfSubSamples %s")
      outputMaskFile = traits.Either(traits.Bool, File(), hash_files=False, desc="Output binary mask file name", argstr="--outputMaskFile %s")
  
  
  class GeneratePurePlugMaskOutputSpec(TraitedSpec):
      outputMaskFile = File(desc="(required) Output binary mask file name", exists=True)
  
  class GeneratePurePlugMask(SEMLikeCommandLine):
  
      """title: GeneratePurePlugMask
  
  category: BRAINS.Utilities
  
  description: This program gets several modality image files and returns a binary mask that defines the pure plugs
  
  version: 1.0
  
  contributor: Ali Ghayoor
  
  """
  
      input_spec = GeneratePurePlugMaskInputSpec
      output_spec = GeneratePurePlugMaskOutputSpec
      _cmd = " GeneratePurePlugMask "
      _outputs_filenames = {'outputMaskFile': 'outputMaskFile'}
      _redirect_x = False
  