de.unihalle.informatik.MiToBo.filters.nonlinear
Class StatisticsFilter

java.lang.Object
  extended by de.unihalle.informatik.Alida.operator.ALDOperator
      extended by de.unihalle.informatik.MiToBo.core.operator.MTBOperator
          extended by de.unihalle.informatik.MiToBo.filters.nonlinear.StatisticsFilter
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator

@ALDAOperator(genericExecutionMode=ALL)
public class StatisticsFilter
extends MTBOperator

class for calculating several statistical values for the neighborhood of the pixels
in an image

Author:
glass

Nested Class Summary
static class StatisticsFilter.FilterMethod
          available filtermodes
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
private  StatisticsFilter.FilterMethod filterMethod
           
private  MTBImage inImg
           
private  java.lang.Integer maskSize
           
private  MTBImage resultImg
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, portHashAccess, verbose, versionProvider
 
Constructor Summary
StatisticsFilter()
           
StatisticsFilter(MTBImage inImg, StatisticsFilter.FilterMethod method, int maskSize)
           
 
Method Summary
private  MTBImage entropyFiltering(MTBImage img, int maskSize)
           
 MTBImage getInputImage()
           
 MTBImage getResultImage()
           
private  double kurtosis(java.util.Vector<java.lang.Double> data, double mean, double var)
           
private  MTBImage kurtosisFiltering(MTBImage img, int maskSize)
           
protected  void operate()
           
private  MTBImage stdDeviationFiltering(MTBImage img, int maskSize)
           
private  double variance(java.util.Vector<java.lang.Double> data, double mean)
           
private  MTBImage varianceFiltering(MTBImage img, int maskSize)
           
 
Methods inherited from class de.unihalle.informatik.MiToBo.core.operator.MTBOperator
readResolve
 
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
deserializeFromXmlFile, fieldContained, getALDPortHashAccessKey, getConstructionMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, isConfigured, parametersToXmlObject, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, runOp, runOp, runOp, serializeToXmlFile, setConstructionMode, setName, setParameter, setParametersFromXml, setParametersFromXml, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory, writeParametersToXml
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filterMethod

@Parameter(label="filter method",
           required=true,
           direction=IN,
           supplemental=false,
           description="filtering method",
           mode=STANDARD,
           dataIOOrder=1)
private StatisticsFilter.FilterMethod filterMethod

inImg

@Parameter(label="input image",
           required=true,
           direction=IN,
           supplemental=false,
           description="input image",
           mode=STANDARD,
           dataIOOrder=0)
private transient MTBImage inImg

maskSize

@Parameter(label="mask size",
           required=true,
           direction=IN,
           supplemental=false,
           description="size of filter mask",
           mode=STANDARD,
           dataIOOrder=2)
private java.lang.Integer maskSize

resultImg

@Parameter(label="result image",
           required=true,
           direction=OUT,
           supplemental=false,
           description="result image",
           mode=STANDARD,
           dataIOOrder=3)
private transient MTBImage resultImg
Constructor Detail

StatisticsFilter

public StatisticsFilter()
                 throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

StatisticsFilter

public StatisticsFilter(MTBImage inImg,
                        StatisticsFilter.FilterMethod method,
                        int maskSize)
                 throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

entropyFiltering

private MTBImage entropyFiltering(MTBImage img,
                                  int maskSize)
Parameters:
img - input image
maskSize - size of filter mask
Returns:
entropy filtered image

getInputImage

public MTBImage getInputImage()

getResultImage

public MTBImage getResultImage()

kurtosis

private double kurtosis(java.util.Vector<java.lang.Double> data,
                        double mean,
                        double var)
Parameters:
data - vector of data
mean - mean of data
var - variance of data
Returns:
kurtosis of data

kurtosisFiltering

private MTBImage kurtosisFiltering(MTBImage img,
                                   int maskSize)
Parameters:
img - input image
maskSize - size of filter mask
Returns:
kurtosis filtered image

operate

protected void operate()
                throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
                       de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
Specified by:
operate in class de.unihalle.informatik.Alida.operator.ALDOperator
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException

stdDeviationFiltering

private MTBImage stdDeviationFiltering(MTBImage img,
                                       int maskSize)

variance

private double variance(java.util.Vector<java.lang.Double> data,
                        double mean)
Parameters:
data - vector of data
mean - mean of data
Returns:
variance of data

varianceFiltering

private MTBImage varianceFiltering(MTBImage img,
                                   int maskSize)
Parameters:
img - input image
maskSize - size of filter mask
Returns:
variance filtered image