@ALDAOperator(genericExecutionMode=SWING,
level=STANDARD,
shortDescription="Segments the wound area of a scratch assay image.")
public class ScratchAssaySegmenter
extends MTBOperator
| Modifier and Type | Field and Description |
|---|---|
private Integer |
closingMaskSize |
private Integer |
entropyFilterSize |
private MTBImage |
entropyImg |
private MTBImage |
inImg |
private MTBImage |
initMask |
private Boolean |
isHorizontal |
private Integer |
maxIter |
private String |
modelFile |
private Boolean |
noCheck |
private Integer |
numIterations |
private MTBImage |
resultImg |
private Long |
runtime |
private Double |
scratchArea |
private double[] |
scratchFeatures |
private Integer |
sigma |
private int |
sizeX |
private int |
sizeY |
private de.unihalle.informatik.Alida.datatypes.ALDFileString |
svmFile |
private Boolean |
useExternalSVM |
| Constructor and Description |
|---|
ScratchAssaySegmenter() |
ScratchAssaySegmenter(MTBImage inImg,
int sigma,
int entropyFilterSize,
boolean isHorizontal,
boolean noCheck,
int maxIter) |
| Modifier and Type | Method and Description |
|---|---|
private double |
classify(MTBImage entropyImg,
MTBImage scratchMask,
String modelFile)
decide, whether the given entropy image contains an open scratch or not
|
private MTBImage |
createInitBar(boolean horizontal)
create rectangular shaped bar as initialization for the scratch
|
private double |
getBhattacharyyaCoefficient(MTBImage entropyImg,
MTBImage scratchMask) |
String |
getDocumentation() |
MTBImage |
getEntropyImage() |
private double |
getEntropyMeanDifference(MTBImage entropyImg,
MTBImage scratchMask) |
private double |
getKolmogorovSmirnovStatistic(MTBImage entropyImg,
MTBImage scratchMask) |
Integer |
getNumIterations() |
MTBImage |
getResultImage() |
Long |
getRuntime() |
Double |
getScratchArea() |
double[] |
getScratchFeatures() |
private double |
measure()
measures the scratch area, i.e. number of pixels that don't have value 0
|
protected void |
operate() |
void |
setInitMask(MTBImage initMask) |
void |
setSVMFile(String path) |
void |
useExternalSVM(boolean useExternalSVM) |
readResolveaddOperatorExecutionProgressEventListener, 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, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory@Parameter(label="input image",
required=true,
direction=IN,
supplemental=false,
description="input image",
mode=STANDARD,
dataIOOrder=0)
private transient MTBImage inImg
@Parameter(label="initialization mask",
required=false,
direction=IN,
supplemental=false,
description="initialization mask",
mode=ADVANCED,
dataIOOrder=1)
private transient MTBImage initMask
@Parameter(label="horizontal scratch",
required=true,
direction=IN,
supplemental=false,
description="horizontally or vertically oriented scratch",
mode=STANDARD,
dataIOOrder=2)
private Boolean isHorizontal
@Parameter(label="\u03c3",
required=true,
direction=IN,
supplemental=false,
description="standard deviation of gauss filter",
mode=STANDARD,
dataIOOrder=3)
private Integer sigma
@Parameter(label="entropy filter size",
required=true,
direction=IN,
supplemental=false,
description="size of entropy filter mask",
mode=STANDARD,
dataIOOrder=4)
private Integer entropyFilterSize
@Parameter(label="maximum iterations",
required=false,
direction=IN,
supplemental=false,
description="maximum number of iterations of level set segmentation",
mode=ADVANCED,
dataIOOrder=5)
private Integer maxIter
@Parameter(label="don\'t check for scratch presence",
required=false,
direction=IN,
supplemental=false,
description="don\'t check for scratch presence prior to segmentation",
mode=STANDARD,
dataIOOrder=6)
private Boolean noCheck
@Parameter(label="use external svm file",
required=false,
direction=IN,
supplemental=false,
description="should an external svm file be used for classification",
mode=ADVANCED,
dataIOOrder=7)
private Boolean useExternalSVM
@Parameter(label="external svm file",
required=false,
direction=IN,
supplemental=false,
description="absolute path to external svm model file",
mode=ADVANCED,
dataIOOrder=8)
private de.unihalle.informatik.Alida.datatypes.ALDFileString svmFile
@Parameter(label="scratch area",
required=true,
direction=OUT,
supplemental=false,
description="detected scratch area")
private Double scratchArea
@Parameter(label="result image",
required=true,
direction=OUT,
supplemental=false,
description="resulting segmented image")
private transient MTBImage resultImg
@Parameter(label="number of iterations",
required=false,
direction=OUT,
supplemental=true,
description="number of iterations required for the segmentation")
private Integer numIterations
@Parameter(label="runtime",
required=false,
direction=OUT,
supplemental=true,
description="time required to perform the segmentation")
private Long runtime
@Parameter(label="entropy image",
required=false,
direction=OUT,
supplemental=true,
description="entropy image")
private transient MTBImage entropyImg
private int sizeX
private int sizeY
private double[] scratchFeatures
private String modelFile
private Integer closingMaskSize
public ScratchAssaySegmenter()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic ScratchAssaySegmenter(MTBImage inImg, int sigma, int entropyFilterSize, boolean isHorizontal, boolean noCheck, int maxIter) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
inImg - input imagesigma - variance of gauss filterentropyFilterSize - size of mask for entropy filteringisHorizontal - is scratch horizontally oriented (assumed to be vertically oriented else)noCheck - don't check for scratch presence prior to segmentationmaxIter - maximum number of iterationsde.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 MTBImage getResultImage() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic Double getScratchArea() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic Integer getNumIterations()
public Long getRuntime()
public MTBImage getEntropyImage()
public void useExternalSVM(boolean useExternalSVM)
public void setSVMFile(String path)
public void setInitMask(MTBImage initMask)
public double[] getScratchFeatures()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionprivate double measure()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionprivate MTBImage createInitBar(boolean horizontal)
horizontal - should the craeted bar be horizontally orientedprivate double classify(MTBImage entropyImg, MTBImage scratchMask, String modelFile) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
entropyImg - scratchMask - modelFile - de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionprivate double getEntropyMeanDifference(MTBImage entropyImg, MTBImage scratchMask) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
entropyImg - scratchMask - de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionprivate double getBhattacharyyaCoefficient(MTBImage entropyImg, MTBImage scratchMask) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
entropyImg - scratchMask - de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionprivate double getKolmogorovSmirnovStatistic(MTBImage entropyImg, MTBImage scratchMask) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
entropyImg - scratchMask - de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionpublic String getDocumentation()
getDocumentation in class de.unihalle.informatik.Alida.operator.ALDOperatorCopyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.