de.unihalle.informatik.MiToBo.apps.nuclei2D
Class NucleusSeparator2D

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.nuclei2D.NucleusSeparator2D
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator

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

Class provides routines for separating conglomerates of cell nuclei in 2D.

Author:
moeller, posch

Nested Class Summary
static class NucleusSeparator2D.ResultImageMode
          Display mode of the result image.
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
private  MTBImage inputImg
          Input image to be processed.
private  MTBImage labelImg
          Binary nuclei image to be processed.
private  NucleusSeparator2DAlgos nucSepOp
          Operation mode of the operator.
private  NucleusSeparator2D.ResultImageMode resultDisplayMode
          Mode of how to display result image.
private  MTBImageShort resultImg
          Result label image of separated nuclei.
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, portHashAccess, verbose, versionProvider
 
Constructor Summary
NucleusSeparator2D()
          Empty constructor.
NucleusSeparator2D(MTBImage label, NucleusSeparator2DAlgos op)
          Default constructor.
 
Method Summary
 MTBImageShort getResultImage()
          Returns result image, i.e. the segmentation mask.
protected  void operate()
           
private  void prepareResultImage(MTBImageShort labelImage)
          Prepare visualization of result.
 void setInputGrayScaleImage(MTBImage img)
          Specify input gray-scale image.
 void setInputLabelImage(MTBImage img)
          Specify label input image.
 
Methods inherited from class de.unihalle.informatik.MiToBo.core.operator.MTBOperator
readResolve
 
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
deserializeFromXmlFile, fieldContained, getALDPortHashAccessKey, getConstructionMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, isConfigured, parametersToXmlObject, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, runOp, runOp, runOp, serializeToXmlFile, setConstructionMode, setName, setParameter, setParametersFromXml, setParametersFromXml, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory, writeParametersToXml
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inputImg

@Parameter(label="Greyscale Input Image",
           required=true,
           direction=IN,
           dataIOOrder=-21,
           mode=STANDARD,
           description="Greyscale input image to be analyzed.")
private transient MTBImage inputImg
Input image to be processed.


labelImg

@Parameter(label="Label Input image",
           required=true,
           mode=STANDARD,
           dataIOOrder=-20,
           direction=IN,
           description="Label input image.")
private transient MTBImage labelImg
Binary nuclei image to be processed.


nucSepOp

@Parameter(label="Operator Mode",
           required=true,
           mode=STANDARD,
           direction=IN,
           description="Operator separation mode.")
private NucleusSeparator2DAlgos nucSepOp
Operation mode of the operator.


resultDisplayMode

@Parameter(label="Result image display mode",
           required=false,
           mode=STANDARD,
           direction=IN,
           supplemental=true,
           description="Mode how result image is displayed.")
private NucleusSeparator2D.ResultImageMode resultDisplayMode
Mode of how to display result image.


resultImg

@Parameter(label="Result image",
           direction=OUT,
           description="Label image of separated nuclei.")
private transient MTBImageShort resultImg
Result label image of separated nuclei.

Constructor Detail

NucleusSeparator2D

public NucleusSeparator2D()
                   throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Empty constructor.

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

NucleusSeparator2D

public NucleusSeparator2D(MTBImage label,
                          NucleusSeparator2DAlgos op)
                   throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Default constructor.

Parameters:
label - Label image to be processed.
mode - Operator mode to be applied.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

getResultImage

public MTBImageShort getResultImage()
Returns result image, i.e. the segmentation mask.

Returns:
Returns the result label image.

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

prepareResultImage

private void prepareResultImage(MTBImageShort labelImage)
Prepare visualization of result.


setInputGrayScaleImage

public void setInputGrayScaleImage(MTBImage img)
Specify input gray-scale image.


setInputLabelImage

public void setInputLabelImage(MTBImage img)
Specify label input image.