de.unihalle.informatik.MiToBo.apps.xylem
Class XylemInitialSegmentation

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.xylem.XylemInitialSegmentation
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator, de.unihalle.informatik.Alida.operator.events.ALDOperatorExecutionProgressEventListener, EventListener

@ALDAOperator(genericExecutionMode=ALL,
              level=APPLICATION)
public class XylemInitialSegmentation
extends MTBOperator

Purpose of this operator is to make an initial segmentation of Xylem Cell Images.

The input image is a grey level image of the Xylem cells. The output image is a binary image of the initial segmentation.

  1. Calculate otsu threshold
  2. Binarize the greyscaled image based on the otsu threshold
  3. Open the bin-image
  4. Remove small components
  5. Erode the image
  6. Remove small components
  7. Remove uncompact regions

Author:
Tim Langhammer, Halle/Saale, Europe, posch

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
static int DEFAULT_minAreaAfterOpening
           
static double DEFAULT_minCompactness
           
static int DEFAULT_seOpeningSize
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider
 
Constructor Summary
XylemInitialSegmentation()
          Default constructor.
XylemInitialSegmentation(MTBImageByte grayScaleXylemImage)
           
 
Method Summary
 MTBImageByte getInitSegImageByte()
          Return the resulting initial segmentation image.
 int getMinAreaAfterErosion()
           
 int getMinAreaAfterOpening()
           
 double getMinCompactness()
           
 int getSeErosionSize()
           
 int getSeOpeningSize()
           
 BasicMorphology.maskShape getShapeForErosion()
           
 BasicMorphology.maskShape getShapeForOpening()
           
 MTBImage getXylemImage()
          Return the input xylem image.
protected  void operate()
           
 void setInitSegImageByte(MTBImageByte initSegImageByte)
           
 void setMinAreaAfterErosion(int minAreaAfterErosion)
           
 void setMinAreaAfterOpening(int minAreaAfterOpening)
           
 void setMinCompactness(double minCompactness)
           
 void setSeErosionSize(int seErosionSize)
           
 void setSeOpeningSize(int seOpeningSize)
           
 void setShapeForErosion(BasicMorphology.maskShape shapeForErosion)
           
 void setShapeForOpening(BasicMorphology.maskShape shapeForOpening)
           
 void setXylemImage(MTBImage xylemImage)
          Set the input xylem image - this must be an 8bit image.
 
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
 

Field Detail

DEFAULT_seOpeningSize

public static final int DEFAULT_seOpeningSize
See Also:
Constant Field Values

DEFAULT_minAreaAfterOpening

public static final int DEFAULT_minAreaAfterOpening
See Also:
Constant Field Values

DEFAULT_minCompactness

public static final double DEFAULT_minCompactness
See Also:
Constant Field Values
Constructor Detail

XylemInitialSegmentation

public XylemInitialSegmentation()
                         throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Default constructor.

Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

XylemInitialSegmentation

public XylemInitialSegmentation(MTBImageByte grayScaleXylemImage)
                         throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Parameters:
grayScaleXylemImage -
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

getXylemImage

public MTBImage getXylemImage()
Return the input xylem image.

Returns:

setXylemImage

public void setXylemImage(MTBImage xylemImage)
Set the input xylem image - this must be an 8bit image.

Parameters:
xylemImage -

getInitSegImageByte

public MTBImageByte getInitSegImageByte()
Return the resulting initial segmentation image.

Returns:

setInitSegImageByte

public void setInitSegImageByte(MTBImageByte initSegImageByte)
Parameters:
initSegImageByte -

getSeOpeningSize

public int getSeOpeningSize()

setSeOpeningSize

public void setSeOpeningSize(int seOpeningSize)

getSeErosionSize

public int getSeErosionSize()

setSeErosionSize

public void setSeErosionSize(int seErosionSize)

getMinAreaAfterOpening

public int getMinAreaAfterOpening()

setMinAreaAfterOpening

public void setMinAreaAfterOpening(int minAreaAfterOpening)

getMinAreaAfterErosion

public int getMinAreaAfterErosion()

setMinAreaAfterErosion

public void setMinAreaAfterErosion(int minAreaAfterErosion)

getMinCompactness

public double getMinCompactness()

setMinCompactness

public void setMinCompactness(double minCompactness)

getShapeForOpening

public BasicMorphology.maskShape getShapeForOpening()

setShapeForOpening

public void setShapeForOpening(BasicMorphology.maskShape shapeForOpening)

getShapeForErosion

public BasicMorphology.maskShape getShapeForErosion()

setShapeForErosion

public void setShapeForErosion(BasicMorphology.maskShape shapeForErosion)


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