@ALDAOperator(genericExecutionMode=ALL, shortDescription="Convolves an image with a multi-dimensional Gaussian filter.") public class GaussFilter extends MTBOperator implements loci.common.StatusReporter
Modifier and Type | Class and Description |
---|---|
static class |
GaussFilter.SigmaInterpretation
Indicator how to interpret the specified standard deviations:
- PIXEL: Sigma is given in pixels
- PHYSICALSIZE: Sigma is given in terms of the physical pixel size (see MTBImage.getStepsizeX/Y/Z/T, in c-dimension always pixel interpretation is used)
|
Modifier and Type | Field and Description |
---|---|
private MTBImageWindow.BoundaryPadding |
boundaryPadding |
private MTBImage |
inputImg |
private double |
kernelTrunctation |
private MTBImage.MTBImageType |
resultImageType |
private MTBImage |
resultImg |
private double |
sigmaC |
private GaussFilter.SigmaInterpretation |
sigmaInterpretation |
private double |
sigmaT |
private double |
sigmaX |
private double |
sigmaY |
private double |
sigmaZ |
private Vector<loci.common.StatusListener> |
statusListeners
vector of installed StatusListeners
|
Constructor and Description |
---|
GaussFilter()
Constructor with default parameters sigmaX=1, sigmaY=1, sigmaZ=0, sigmaT=0, sigmaC=0, kernelTruncation=3, sigmaInterpretation=PHYSICALSIZE.
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY)
Constructor for Gaussian filtering in x- and y-dimension.
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY,
double sigmaZ)
Constructor for Gaussian filtering in x-, y- and z-dimension.
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY,
double sigmaZ,
double sigmaT,
double sigmaC,
MTBImageWindow.BoundaryPadding boundaryPadding,
double kernelTruncation,
GaussFilter.SigmaInterpretation sigmaInterpretation)
Constructor for Gaussian filtering.
|
Modifier and Type | Method and Description |
---|---|
void |
addStatusListener(loci.common.StatusListener statuslistener) |
protected MTBImage |
gaussFilter()
compute the Gaussian filter
|
MTBImageWindow.BoundaryPadding |
getBoundaryPadding()
Get value of Parameter argument boundaryPadding.
|
String |
getDocumentation() |
MTBImage |
getGaussKernelC()
Get Gaussian kernel image (non-normalized) in c-dimension for given parameters, null if sigma is zero in c-dimension
|
MTBImage |
getGaussKernelT()
Get Gaussian kernel image (non-normalized) in t-dimension for given parameters, null if sigma is zero in t-dimension
|
MTBImage |
getGaussKernelX()
Get Gaussian kernel image (non-normalized) in x-dimension for given parameters, null if sigma is zero in x-dimension
|
MTBImage |
getGaussKernelY()
Get Gaussian kernel image (non-normalized) in y-dimension for given parameters, null if sigma is zero in y-dimension
|
MTBImage |
getGaussKernelZ()
Get Gaussian kernel image (non-normalized) in z-dimension for given parameters, null if sigma is zero in z-dimension
|
MTBImage |
getInputImg()
Get input image.
|
double |
getKernelTruncation()
Get kernel truncation factor.
|
MTBImage.MTBImageType |
getResultImageType() |
MTBImage |
getResultImg()
Get resulting image.
|
double |
getSigmaC()
Get standard deviation (sigma) in c-dimension.
|
GaussFilter.SigmaInterpretation |
getSigmaInterpretation()
Get the mode of how sigmas are interpreted.
|
double |
getSigmaT()
Get standard deviation (sigma) in t-dimension.
|
double |
getSigmaX()
Get standard deviation (sigma) in x-dimension.
|
double |
getSigmaY()
Get standard deviation (sigma) in y-dimension.
|
double |
getSigmaZ()
Get standard deviation (sigma) in z-dimension.
|
void |
notifyListeners(loci.common.StatusEvent e) |
protected void |
operate()
This function calls the actual Gauss filtering method.
|
protected Object |
readResolve()
Init function for deserialized objects.
|
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 |
setKernelTruncation(double kernelTruncation)
Set kernel truncation factor.
|
void |
setResultImageType(MTBImage.MTBImageType resultImageType) |
void |
setSigmaC(double sigmaC)
Set standard deviation (sigma) in c-dimension.
|
void |
setSigmaInterpretation(GaussFilter.SigmaInterpretation sigmaInterpretation)
Set the mode of how sigmas are interpreted.
|
void |
setSigmaT(double sigmaT)
Set standard deviation (sigma) in t-dimension.
|
void |
setSigmaX(double sigmaX)
Set standard deviation (sigma) in x-dimension.
|
void |
setSigmaY(double sigmaY)
Set standard deviation (sigma) in y-dimension.
|
void |
setSigmaZ(double sigmaZ)
Set standard deviation (sigma) in z-dimension.
|
void |
validateCustom()
The validation of parameters and inputs.
|
addOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getHidingMode, getInactiveParameterNames, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterDescriptorUnconditioned, getParameterNames, getParameterUnconditioned, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, hasInOutParameters, hasParameter, isAnnotatedParameter, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, removeParameter, runOp, runOp, runOp, setConstructionMode, setConstructionMode, setConstructionMode, setHidingMode, setName, setParameter, setParameterUnconditioned, setVerbose, toStringVerbose, unconfiguredItems, validate, validateGeneric, writeHistory, writeHistory, writeHistory
private transient Vector<loci.common.StatusListener> statusListeners
@Parameter(label="Input Image", required=true, direction=IN, mode=STANDARD, description="Input image", dataIOOrder=1) private transient MTBImage inputImg
@Parameter(label="Result Image", required=true, direction=OUT, description="Result image", dataIOOrder=1) private transient MTBImage resultImg
@Parameter(label="sigmaX", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in x-dimension (Default: 1 micron)", dataIOOrder=3) private double sigmaX
@Parameter(label="sigmaY", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in y-dimension (Default: 1 micron)", dataIOOrder=4) private double sigmaY
@Parameter(label="sigmaZ", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in z-dimension (Default: 0)", dataIOOrder=5) private double sigmaZ
@Parameter(label="sigmaT", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in t-dimension (Default: 0)", dataIOOrder=6) private double sigmaT
@Parameter(label="sigmaC", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in c-dimension (Default: 0)", dataIOOrder=7) private double sigmaC
@Parameter(label="Kernel truncation", required=true, direction=IN, mode=ADVANCED, description="Factor to determine where the kernel is truncated: sigma*kernelTruncation", dataIOOrder=8) private double kernelTrunctation
@Parameter(label="sigma interpretation", required=true, direction=IN, mode=ADVANCED, description="Interpretation of sigmas, whether in pixels or physical pixel size (stepsize)", dataIOOrder=2) private GaussFilter.SigmaInterpretation sigmaInterpretation
@Parameter(label="Boundary padding", required=true, direction=IN, mode=ADVANCED, description="Image is padded by the specified method", dataIOOrder=9) private MTBImageWindow.BoundaryPadding boundaryPadding
@Parameter(label="Type of result image", required=true, direction=IN, mode=ADVANCED, dataIOOrder=10, description="Type of result image (Default: MTB_DOUBLE)") private MTBImage.MTBImageType resultImageType
public GaussFilter() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimensionde.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY, double sigmaZ) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimensionsigmaZ
- standard deviation in z-dimensionde.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY, double sigmaZ, double sigmaT, double sigmaC, MTBImageWindow.BoundaryPadding boundaryPadding, double kernelTruncation, GaussFilter.SigmaInterpretation sigmaInterpretation) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimensionsigmaZ
- standard deviation in z-dimensionsigmaT
- standard deviation in t-dimensionsigmaC
- standard deviation in c-dimensionboundaryPadding
- determines how pixel values outside the image domain are treated (see LinearFilter
)kernelTruncation
- the Gaussian kernel is truncated at sigma*kernelTruncationsigmaInterpretation
- how the specified standard deviations are interpretedde.unihalle.informatik.Alida.exceptions.ALDOperatorException
protected Object readResolve()
MTBOperator
This function is called on an instance of this class being deserialized from file, prior to handing the instance over to the user. It takes care of a proper initialization of transient member variables as they are not initialized to the default values during deserialization.
readResolve
in class MTBOperator
protected void operate() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
public void validateCustom() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
validateCustom
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
protected MTBImage gaussFilter() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
public MTBImage getInputImg()
public void setInputImg(MTBImage img)
public MTBImage getResultImg()
public MTBImageWindow.BoundaryPadding getBoundaryPadding()
public void setBoundaryPadding(MTBImageWindow.BoundaryPadding boundaryPadding)
value
- of boundaryPaddingpublic double getKernelTruncation()
public void setKernelTruncation(double kernelTruncation)
public double getSigmaC()
public void setSigmaC(double sigmaC)
public double getSigmaZ()
public void setSigmaZ(double sigmaZ)
public double getSigmaY()
public void setSigmaY(double sigmaY)
public double getSigmaX()
public void setSigmaX(double sigmaX)
public double getSigmaT()
public void setSigmaT(double sigmaT)
public GaussFilter.SigmaInterpretation getSigmaInterpretation()
public void setSigmaInterpretation(GaussFilter.SigmaInterpretation sigmaInterpretation)
public MTBImage getGaussKernelX()
public MTBImage getGaussKernelY()
public MTBImage getGaussKernelC()
public MTBImage getGaussKernelT()
public MTBImage getGaussKernelZ()
public MTBImage.MTBImageType getResultImageType()
public void setResultImageType(MTBImage.MTBImageType resultImageType)
resultImageType
- the resultImageType to setpublic void addStatusListener(loci.common.StatusListener statuslistener)
addStatusListener
in interface loci.common.StatusReporter
public void notifyListeners(loci.common.StatusEvent e)
notifyListeners
in interface loci.common.StatusReporter
public void removeStatusListener(loci.common.StatusListener statuslistener)
removeStatusListener
in interface loci.common.StatusReporter
public String getDocumentation()
getDocumentation
in class de.unihalle.informatik.Alida.operator.ALDOperator
Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.