@ALDAOperator(genericExecutionMode=ALL,
level=APPLICATION)
public class MFFDOGMultiScaleFilter2D
extends MTBOperator
implements loci.common.StatusReporter
This operator applies the MFFDOGFilter2D on multiple scales.
The results are then combined using a logical OR operation.
Related publication:
B. Zhang, L. Zhang, L. Zhang and F. Karray,
"Retinal vessel extraction by matched filter with first-order derivative
of Gaussian",
Comp. in Biology and Medicine, vol. 40 (2010), pp. 438-445
| Modifier and Type | Field and Description |
|---|---|
protected int |
angleSampling
Sampling step size for orientations.
|
protected MTBImage |
inputImg
Input image to be processed.
|
protected MFFDOGFilter2D.VesselMode |
mode
Scenario for detecting vessels.
|
private MTBImageByte |
responseStack
Result stack with binary vessel maps for different scales and lengths.
|
protected MTBImageByte |
resultVesselMap
Resulting binary vessel map.
|
protected Vector<loci.common.StatusListener> |
statusListeners
Vector of installed StatusListeners.
|
protected Double[][] |
widthLengthTab
Table with vessel widths and lengths to apply.
|
| Constructor and Description |
|---|
MFFDOGMultiScaleFilter2D()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addStatusListener(loci.common.StatusListener statuslistener) |
void |
notifyListeners(loci.common.StatusEvent e) |
protected void |
operate() |
protected Object |
readResolve()
Init function for deserialized objects.
|
void |
removeStatusListener(loci.common.StatusListener statuslistener) |
void |
validateCustom() |
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, writeHistoryprotected transient Vector<loci.common.StatusListener> statusListeners
@Parameter(label="Input Image",
required=true,
dataIOOrder=-10,
direction=IN,
mode=STANDARD,
description="Input image.")
protected transient MTBImage inputImg
@Parameter(label="Scenario",
required=false,
dataIOOrder=1,
direction=IN,
mode=STANDARD,
description="Relation of vessels to background.")
protected MFFDOGFilter2D.VesselMode mode
@Parameter(label="Widths and Lengths",
required=true,
dataIOOrder=2,
direction=IN,
mode=STANDARD,
description="Widths and lengths to apply.")
protected Double[][] widthLengthTab
The operator expects an array with two columns. The first column refers to the widths to be applied, the second column refers to related vessel length. Note that both columns need to have the same length.
The widths determine the standard deviation of the Gaussian kernel, i.e. sigma = w / 2.0.
@Parameter(label="Angular Sampling Steps",
required=true,
direction=IN,
mode=ADVANCED,
description="Angular sampling step size (in degrees).",
dataIOOrder=3)
protected int angleSampling
@Parameter(label="Result Map",
dataIOOrder=0,
direction=OUT,
description="Resulting vessel map.")
protected transient MTBImageByte resultVesselMap
@Parameter(label="Filter Response Stack",
dataIOOrder=1,
direction=OUT,
description="Filter response stack.")
private transient MTBImageByte responseStack
public MFFDOGMultiScaleFilter2D()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionprotected Object readResolve()
MTBOperatorThis 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 MTBOperatorpublic void validateCustom()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
validateCustom in class de.unihalle.informatik.Alida.operator.ALDOperatorde.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionprotected void operate()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate in class de.unihalle.informatik.Alida.operator.ALDOperatorde.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionpublic void addStatusListener(loci.common.StatusListener statuslistener)
addStatusListener in interface loci.common.StatusReporterpublic void notifyListeners(loci.common.StatusEvent e)
notifyListeners in interface loci.common.StatusReporterpublic void removeStatusListener(loci.common.StatusListener statuslistener)
removeStatusListener in interface loci.common.StatusReporterCopyright © 2010–2025 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.