@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 boolean |
invertMask
Flag to invert filter mask.
|
private boolean[][] |
kernelMask
Internal helper mask to mark valid/invalid kernel elements.
|
protected boolean |
normalizeMask
Flag to normalize sum of kernel elements to zero.
|
angle, inputImg, mode, resultImg, statusListeners
Constructor and Description |
---|
GaussPDxxFilter2D()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
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 |
setStandardDeviation(double s)
Specify standard deviation of Gaussian.
|
void |
validateCustom() |
addStatusListener, getApplicationMode, getResultImage, notifyListeners, operate, readResolve, removeStatusListener, setAngle, setInputImage
addOperatorExecutionProgressEventListener, 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 boolean 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 boolean 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.ALDOperatorException
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
public MTBImageDouble getKernel(double _angle)
getKernel
in class OrientedFilter2D
_angle
- Rotation angle in degrees.public void setInvertMask(boolean b)
b
- Flag for inversion.public void enableNormalization()
public void disableNormalization()
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–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.