de.unihalle.informatik.MiToBo.apps.scratchAssay
Class ScratchAssaySegmenter

java.lang.Object
  extended by de.unihalle.informatik.Alida.operator.ALDOperator
      extended by de.unihalle.informatik.MiToBo.core.operator.MTBOperator
          extended by de.unihalle.informatik.MiToBo.apps.scratchAssay.ScratchAssaySegmenter
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator, de.unihalle.informatik.Alida.operator.events.ALDOperatorExecutionProgressEventListener, EventListener

@ALDAOperator(genericExecutionMode=SWING,
              level=STANDARD)
public class ScratchAssaySegmenter
extends MTBOperator

class for segmenting the wound area of a scratch assay image

First the image is smoothed.
Subsequently, the shannon entropy for every pixel is calculated.
Then a 2-phase topology preserving levelset segmentation is performed on the
entropy image to separate the cells from the scratch area.
Finally, the resulting scratch area is measured.

Author:
glass

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider
 
Constructor Summary
ScratchAssaySegmenter()
           
ScratchAssaySegmenter(MTBImage inImg, int sigma, int entropyFilterSize, boolean isHorizontal, boolean noCheck, int maxIter)
           
 
Method Summary
 MTBImage getEntropyImage()
           
 Integer getNumIterations()
           
 MTBImage getResultImage()
           
 Long getRuntime()
           
 Double getScratchArea()
           
 double[] getScratchFeatures()
           
protected  void operate()
           
 void setInitMask(MTBImage initMask)
           
 void setSVMFile(String path)
           
 void useExternalSVM(boolean useExternalSVM)
           
 
Methods inherited from class de.unihalle.informatik.MiToBo.core.operator.MTBOperator
readResolve
 
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
addOperatorExecutionProgressEventListener, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getHidingMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, runOp, runOp, runOp, setConstructionMode, setHidingMode, setName, setParameter, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScratchAssaySegmenter

public ScratchAssaySegmenter()
                      throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

ScratchAssaySegmenter

public ScratchAssaySegmenter(MTBImage inImg,
                             int sigma,
                             int entropyFilterSize,
                             boolean isHorizontal,
                             boolean noCheck,
                             int maxIter)
                      throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Parameters:
inImg - input image
sigma - variance of gauss filter
entropyFilterSize - size of mask for entropy filtering
isHorizontal - is scratch horizontally oriented (assumed to be vertically oriented else)
noCheck - don't check for scratch presence prior to segmentation
maxIter - maximum number of iterations
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

operate

protected void operate()
                throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
                       de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
Specified by:
operate in class de.unihalle.informatik.Alida.operator.ALDOperator
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException

getResultImage

public MTBImage getResultImage()
                        throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Returns:
the resulting image
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

getScratchArea

public Double getScratchArea()
                      throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Returns:
the measured scratch area
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

getNumIterations

public Integer getNumIterations()
Returns:
the number of iterations required for the level set segmentation

getRuntime

public Long getRuntime()
Returns:
time in sec required for the segmentation

getEntropyImage

public MTBImage getEntropyImage()
Returns:
entropy filter image

useExternalSVM

public void useExternalSVM(boolean useExternalSVM)

setSVMFile

public void setSVMFile(String path)

setInitMask

public void setInitMask(MTBImage initMask)

getScratchFeatures

public double[] getScratchFeatures()
                            throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
                                   de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
Returns:
array containing features extracted from the histogram of the segmented scratch area from the entropy image
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException


Copyright © 2010–2015 Martin Luther University Halle-Wittenberg. All rights reserved.