@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, writeHistory
protected 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.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
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 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 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
Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.