de.unihalle.informatik.MiToBo.filters.linear
Class LinearFilter

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.linear.LinearFilter
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator, loci.common.StatusReporter

@ALDAOperator(genericExecutionMode=ALL)
public class LinearFilter
extends MTBOperator
implements loci.common.StatusReporter

Generic linear filter operation class

Author:
gress

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
private  MTBImageWindow.BoundaryPadding boundaryPadding
           
private  MTBImage inputImg
           
private  MTBImage kernelImg
           
private  boolean kernelNormalization
           
private  int[] kernelOrigin
           
private  java.util.Vector<loci.common.StatusListener> m_statusListeners
          vector of installed StatusListeners
private  MTBImage resultImg
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, portHashAccess, verbose, versionProvider
 
Constructor Summary
LinearFilter()
          Empty constructor
LinearFilter(MTBImage inImg, MTBImage kernelImg)
          Constructor
LinearFilter(MTBImage inImg, MTBImage kernelImg, int[] kernelOrigin, boolean kernelNormalization, MTBImageWindow.BoundaryPadding boundaryPadding)
          Constructor
 
Method Summary
 void addStatusListener(loci.common.StatusListener statuslistener)
           
protected  MTBImage convolve(MTBImage img, MTBImage kernel, int[] kernelAnchor, boolean normalize, MTBImageWindow.BoundaryPadding boundaryPadding)
          Convolve an image with a specified kernel.
 MTBImageWindow.BoundaryPadding getBoundaryPadding()
          Get value of Parameter argument boundaryPadding.
 MTBImage getInputImg()
          Get input image.
 MTBImage getKernelImg()
          Get convolution kernel (image).
 boolean getKernelNormalization()
          Get value of Parameter argument kernelNormalization.
 int[] getKernelOrigin()
          Get value of Parameter argument kernelOrigin.
 MTBImage getResultImg()
          Get resulting image.
 void notifyListeners(loci.common.StatusEvent e)
           
protected  void operate()
           
 void removeStatusListener(loci.common.StatusListener statuslistener)
           
 void setBoundaryPadding(MTBImageWindow.BoundaryPadding boundaryPadding)
          Set value of Parameter argument boundaryPadding.
 void setInputImg(MTBImage img)
          Set input image.
 void setKernelImg(MTBImage kernelImg)
          Set convolution kernel (image).
 void setKernelNormalization(boolean kernelNormalization)
          Set value of Parameter argument kernelNormalization.
 void setKernelOrigin(int[] kernelOrigin)
          Set value of Parameter argument kernelOrigin.
protected  void setResultImg(MTBImage resultImg)
          Set resulting image.
 void validateCustom()
           
 
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, 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

boundaryPadding

@Parameter(label="Boundary padding",
           required=true,
           direction=IN,
           mode=ADVANCED,
           dataIOOrder=5,
           description="Image is padded by the specified method (Default: 0s are assumed outside the image)")
private MTBImageWindow.BoundaryPadding boundaryPadding

inputImg

@Parameter(label="Input image",
           required=true,
           direction=IN,
           mode=STANDARD,
           dataIOOrder=1,
           description="Input image")
private MTBImage inputImg

kernelImg

@Parameter(label="Kernel image",
           required=true,
           direction=IN,
           mode=STANDARD,
           dataIOOrder=2,
           description="Convolution kernel (image)")
private MTBImage kernelImg

kernelNormalization

@Parameter(label="Kernel normalization",
           required=true,
           direction=IN,
           mode=ADVANCED,
           dataIOOrder=4,
           description="If true, kernel values are normalized to sum to 1 (Default)")
private boolean kernelNormalization

kernelOrigin

@Parameter(label="Kernel origin",
           required=false,
           direction=IN,
           mode=ADVANCED,
           dataIOOrder=3,
           description="Coordinate of the kernel\'s origin in the kernel image. If not specified (null) it defaults to the center of the kernel image rounded down.")
private int[] kernelOrigin

m_statusListeners

private java.util.Vector<loci.common.StatusListener> m_statusListeners
vector of installed StatusListeners


resultImg

@Parameter(label="Result image",
           required=true,
           direction=OUT,
           mode=STANDARD,
           dataIOOrder=1,
           description="Result image")
private MTBImage resultImg
Constructor Detail

LinearFilter

public LinearFilter()
             throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Empty constructor

Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

LinearFilter

public LinearFilter(MTBImage inImg,
                    MTBImage kernelImg)
             throws java.lang.IllegalArgumentException,
                    de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor

Throws:
java.lang.IllegalArgumentException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

LinearFilter

public LinearFilter(MTBImage inImg,
                    MTBImage kernelImg,
                    int[] kernelOrigin,
                    boolean kernelNormalization,
                    MTBImageWindow.BoundaryPadding boundaryPadding)
             throws java.lang.IllegalArgumentException,
                    de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor

Throws:
java.lang.IllegalArgumentException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

addStatusListener

public void addStatusListener(loci.common.StatusListener statuslistener)
Specified by:
addStatusListener in interface loci.common.StatusReporter

convolve

protected MTBImage convolve(MTBImage img,
                            MTBImage kernel,
                            int[] kernelAnchor,
                            boolean normalize,
                            MTBImageWindow.BoundaryPadding boundaryPadding)
Convolve an image with a specified kernel.

Parameters:
img - input image
kernel - kernel image
kernelAnchor - array of length 5 to specify the kernel element, under which the result value is stored ([0]=x-position, [1]=y-pos, [2]=z-pos, [3]=t-pos, [4]=c-pos)
normalize - flag for kernel normalization (kernel weights sum to 1)
boundaryPadding - set the padding method outside the boundaries of the underlying image (see static final fields)

getBoundaryPadding

public MTBImageWindow.BoundaryPadding getBoundaryPadding()
Get value of Parameter argument boundaryPadding.

Returns:
value of boundaryPadding

getInputImg

public MTBImage getInputImg()
Get input image.


getKernelImg

public MTBImage getKernelImg()
Get convolution kernel (image).

Returns:
value of kernelImg

getKernelNormalization

public boolean getKernelNormalization()
Get value of Parameter argument kernelNormalization.

Returns:
value of kernelNormalization

getKernelOrigin

public int[] getKernelOrigin()
Get value of Parameter argument kernelOrigin.

Returns:
int array with five elements specifying the image coordinate [x,y,z,t,c] considered as the origin (0,0,0,0,0) of the kernel

getResultImg

public MTBImage getResultImg()
Get resulting image.


notifyListeners

public void notifyListeners(loci.common.StatusEvent e)
Specified by:
notifyListeners in interface loci.common.StatusReporter

operate

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

removeStatusListener

public void removeStatusListener(loci.common.StatusListener statuslistener)
Specified by:
removeStatusListener in interface loci.common.StatusReporter

setBoundaryPadding

public void setBoundaryPadding(MTBImageWindow.BoundaryPadding boundaryPadding)
Set value of Parameter argument boundaryPadding.

Parameters:
value - of boundaryPadding

setInputImg

public void setInputImg(MTBImage img)
Set input image.


setKernelImg

public void setKernelImg(MTBImage kernelImg)
Set convolution kernel (image).


setKernelNormalization

public void setKernelNormalization(boolean kernelNormalization)
Set value of Parameter argument kernelNormalization.

Parameters:
value - of kernelNormalization

setKernelOrigin

public void setKernelOrigin(int[] kernelOrigin)
Set value of Parameter argument kernelOrigin.

Parameters:
int - array with five elements specifying the image coordinate [x,y,z,t,c] considered as the origin (0,0,0,0,0) of the kernel

setResultImg

protected void setResultImg(MTBImage resultImg)
Set resulting image.


validateCustom

public void validateCustom()
                    throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Overrides:
validateCustom in class de.unihalle.informatik.Alida.operator.ALDOperator
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException