@ALDDerivedClass
@ALDAOperator(genericExecutionMode=ALL,
level=APPLICATION)
public class GaussPDxxFilter2D
extends OrientedFilter2D
This filter is often used in the context of segmenting vessel-like structures, e.g., refer to
Sofka and Stewart, "Retinal Vessel Centerline Extraction Using Multiscale
Matched Filters, Confidence and Edge Measures",
IEEE TMI, vol. 25, no. 12, pp. 1531-1546, December 2006
for an example of its application.
OrientedFilter2D.ApplicationMode| Modifier and Type | Field and Description |
|---|---|
protected Double |
gaussStdDev
Standard deviation of the Gaussian.
|
protected Integer |
height
Height of the filter mask.
|
protected MTBBooleanData |
invertMask
Flag to invert filter mask.
|
private boolean[][] |
kernelMask
Internal helper mask to mark valid/invalid kernel elements.
|
protected MTBBooleanData |
normalizeMask
Flag to normalize sum of kernel elements to zero.
|
angle, inputImg, mode, paddingVariant, resultImg, statusListeners| Constructor and Description |
|---|
GaussPDxxFilter2D()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
GaussPDxxFilter2D |
clone() |
void |
disableNormalization()
Disable kernel normalization.
|
void |
enableNormalization()
Enable kernel normalization.
|
MTBImageDouble |
getKernel(double _angle)
Calculates Gaussian derivative kernel for given parameters.
|
protected boolean[][] |
getKernelMask()
Get mask of valid kernel elements.
|
void |
setHeight(int h)
Specify height of filter mask.
|
void |
setInvertMask(boolean b)
Enable/disable inversion of mask.
|
void |
setInvertMask(MTBBooleanData m)
Enable or disable mask inversion.
|
void |
setKernelNormalization(MTBBooleanData kn)
Enable or disable kernel normalization.
|
void |
setStandardDeviation(double s)
Specify standard deviation of Gaussian.
|
void |
validateCustom() |
addStatusListener, getApplicationMode, getResultImage, notifyListeners, operate, readResolve, removeStatusListener, setAngle, setApplicationMode, setInputImage, setPaddingVariantaddOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getDocumentation, 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@Parameter(label="\u03c3 of Gaussian",
required=false,
dataIOOrder=2,
direction=IN,
mode=STANDARD,
description="Std. deviation of Gaussian.")
protected Double gaussStdDev
The mask width is derived from the standard deviation of the Gaussian,
i.e. the width is given by

@Parameter(label="Mask Height",
required=false,
dataIOOrder=3,
direction=IN,
mode=STANDARD,
description="Height of the filter mask.")
protected Integer height
Note that the height of the mask must not be smaller than 3.
@Parameter(label="Invert Mask",
required=false,
dataIOOrder=5,
direction=IN,
mode=STANDARD,
description="If true, filter mask is inverted.")
protected MTBBooleanData invertMask
@Parameter(label="Normalize Mask",
required=false,
dataIOOrder=4,
direction=IN,
mode=STANDARD,
description="If true, mask is normalized to a sum of zero.")
protected MTBBooleanData normalizeMask
private boolean[][] kernelMask
This variable is mainly used by the corresponding JUnit test class
TestGaussPDxxFilter2D.
public GaussPDxxFilter2D()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic void validateCustom()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
validateCustom in class de.unihalle.informatik.Alida.operator.ALDOperatorde.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic GaussPDxxFilter2D clone()
clone in class OrientedFilter2Dpublic MTBImageDouble getKernel(double _angle)
getKernel in class OrientedFilter2D_angle - Rotation angle in degrees.public void setInvertMask(boolean b)
b - Flag for inversion.public void setInvertMask(MTBBooleanData m)
Using this method with MiToBo wrapper datatypes instead of passing over directly a boolean preserves consistency in the processing history.
m - Value for the mask inversion flag.public void enableNormalization()
public void disableNormalization()
public void setKernelNormalization(MTBBooleanData kn)
Using this method with MiToBo wrapper datatypes instead of passing over directly a boolean preserves consistency in the processing history.
kn - Value for the kernel normalization flag.public void setStandardDeviation(double s)
s - Standard deviation sigma.public void setHeight(int h)
h - Height of mask.protected boolean[][] getKernelMask()
Intended to be used for unit testing only.
Copyright © 2010–2025 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.