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

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

@ALDAOperator(genericExecutionMode=NONE)
public class NucleusSeparator2DPeakSearch_RegionSeparator
extends MTBOperator

Operator to analyze a given binary image or a set of nuclei regions.

The data will be transformed into a distance map in which the peaks are analyzed and compared to identify overlapping nuclei.

The result will be center-coordinates of all nuclei in the data. Furthermore the regions may be divided or initial regions for further analysis may be delivered.

This operator has been written as part of Jochen's project in WS 2011/12.

Author:
Jochen Luechtrath, Birgit Moeller

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
 boolean report
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider
 
Constructor Summary
NucleusSeparator2DPeakSearch_RegionSeparator()
          Default constructor.
NucleusSeparator2DPeakSearch_RegionSeparator(MTBImageByte image)
          Constructor with input image.
NucleusSeparator2DPeakSearch_RegionSeparator(MTBRegion2DSet oset)
          Constructor with region set.
 
Method Summary
 MTBRegion2DSet getCandidates()
          Returns set of detected candidate peaks.
 MTBImage getDistImg()
          Returns calculated distance map.
 MTBPolygon2DSet getEllipsoidSnakePrimer()
          Returns set of initial snake ellipses.
 MTBRegion2DSet getInputRegs()
          Get set of input regions.
 MTBRegion2DSet[] getRegCenters()
          Returns the centers of the nuclei sorted to their original regions.
 MTBRegion2DSet[] getResultAreas()
          Returns separated regions sorted according to original regions.
 MTBRegion2DSet getResultCenters()
          Returns centers of result regions.
 MTBPolygon2DSet getVoronoidSnakePrimer()
          Returns set of snake polygons resulting from Voronoi tesselation.
protected  void operate()
           
 void setDistmet(DistanceTransform.DistanceMetric _distmet)
          Specify the metric for the distance transformation.
 void setInImg(MTBImageByte _inImg)
          Specify binary input image.
 void setInputRegs(MTBRegion2DSet _inputRegions)
          Specify set of input regions.
 void setMad(double _mad)
          Sets maximal allowed discrepancy of direct connection to actual profile between two peaks.
 void setMax_d2c(double _max_d2c)
          Sets factor to adjust maximal allowed distance from lower to upper peak.
 void setSuppressor(int sup)
          Sets threshold to suppress peak analysis close to scraggy contours.
 
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

report

public transient boolean report
Constructor Detail

NucleusSeparator2DPeakSearch_RegionSeparator

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

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

NucleusSeparator2DPeakSearch_RegionSeparator

public NucleusSeparator2DPeakSearch_RegionSeparator(MTBImageByte image)
                                             throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor with input image.

Parameters:
image - Binary input image.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

NucleusSeparator2DPeakSearch_RegionSeparator

public NucleusSeparator2DPeakSearch_RegionSeparator(MTBRegion2DSet oset)
                                             throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor with region set.

Note: the set needs correct referenced dimensions!

Parameters:
oset - Set of input regions.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

setInImg

public void setInImg(MTBImageByte _inImg)
Specify binary input image.

Parameters:
inImg - Binary input image.

getInputRegs

public MTBRegion2DSet getInputRegs()
Get set of input regions.

Returns:
Set of input regions.

setInputRegs

public void setInputRegs(MTBRegion2DSet _inputRegions)
Specify set of input regions.

Parameters:
inputRegions - Set of input regions.

getDistImg

public MTBImage getDistImg()
Returns calculated distance map.

Returns:
Image distance map.

getResultCenters

public MTBRegion2DSet getResultCenters()
Returns centers of result regions.

Returns:
Centers of all detected nuclei.

getCandidates

public MTBRegion2DSet getCandidates()
Returns set of detected candidate peaks.

Returns:
Set of all possible peaks.

setMax_d2c

public void setMax_d2c(double _max_d2c)
Sets factor to adjust maximal allowed distance from lower to upper peak.

Parameters:
max_d2c - Adjustment factor, default is 1.5.

setMad

public void setMad(double _mad)
Sets maximal allowed discrepancy of direct connection to actual profile between two peaks.

Parameters:
mad - Max. discrepancy, default is 0.11.

setDistmet

public void setDistmet(DistanceTransform.DistanceMetric _distmet)
Specify the metric for the distance transformation.

Parameters:
distmet - Distance metric, default is Chessboard-Distance.

setSuppressor

public void setSuppressor(int sup)
Sets threshold to suppress peak analysis close to scraggy contours.

Parameters:
sup - Threshold, should be >4.

getRegCenters

public MTBRegion2DSet[] getRegCenters()
Returns the centers of the nuclei sorted to their original regions.

Returns:
Set of nuclei centers sorted according to their original regions.

getResultAreas

public MTBRegion2DSet[] getResultAreas()
Returns separated regions sorted according to original regions.

Returns:
Splitted regions of their actual centers.

getVoronoidSnakePrimer

public MTBPolygon2DSet getVoronoidSnakePrimer()
                                       throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
                                              de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
Returns set of snake polygons resulting from Voronoi tesselation.

Returns:
Initial snake polygons of voronoi divided regions.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException

getEllipsoidSnakePrimer

public MTBPolygon2DSet getEllipsoidSnakePrimer()
Returns set of initial snake ellipses.

Returns:
Elliptical snake polygons.

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


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