de.unihalle.informatik.MiToBo.apps.singleCellTracking2D
Class CellSegmentationPostprocessing

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

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

operator for doing common postprocessing tasks on already segmented cell images

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
private  java.lang.Double fg_value
           
private  MTBImage inImg
           
private  java.lang.Integer minArea
           
private  java.lang.Boolean objects8Connected
           
private  java.lang.Boolean removeBorderObjects
           
private  MTBImage resultImg
           
private  int sizeC
           
private  int sizeT
           
private  int sizeX
           
private  int sizeY
           
private  int sizeZ
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, portHashAccess, verbose, versionProvider
 
Constructor Summary
CellSegmentationPostprocessing()
           
CellSegmentationPostprocessing(MTBImage inImg)
           
 
Method Summary
private  void drawRegions(MTBRegion2DSet keepRegions, int z, int t, int c)
          draw regions to the output image
private  MTBRegion2DSet excludeBorderRegions(MTBRegion2DSet regions)
          exclude regions that are adjacent to the image borders
private  MTBRegion2DSet excludeSmallRegions(MTBRegion2DSet regions)
          exclude regions that are smaller than the predefined (Parameter minArea) minimum
 MTBImage getResultImage()
           
 void operate()
           
 void setBorderExclusion(boolean excludeBorderObjects)
          should border touching objects be excluded
 void setFG_Value(double val)
          set the intensity value of the remaining foreground regions
 void setMinimumObjectArea(int minArea)
          set the minimum area (number of pixels) a region must have in order to be kept
 void setObjectsEightConnected(boolean eightconnected)
          are regions to be considered 8-connected (4-connected otherwise)
 
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

fg_value

@Parameter(label="foreground value",
           required=false,
           direction=IN,
           supplemental=false,
           description="intensity value for remaining foreground object pixel")
private java.lang.Double fg_value

inImg

@Parameter(label="input image",
           required=true,
           direction=IN,
           supplemental=false,
           description="binary input image")
private transient MTBImage inImg

minArea

@Parameter(label="minimum area (pixels)",
           required=false,
           direction=IN,
           supplemental=false,
           description="minimum area (number of pixels) an object should have")
private java.lang.Integer minArea

objects8Connected

@Parameter(label="are objects 8-connected",
           required=false,
           direction=IN,
           supplemental=false,
           description="are objects 8-connected (4-connected otherwise)")
private java.lang.Boolean objects8Connected

removeBorderObjects

@Parameter(label="remove border touching objects",
           required=false,
           direction=IN,
           supplemental=false,
           description="should border touching objects be removed")
private java.lang.Boolean removeBorderObjects

resultImg

@Parameter(label="result image",
           required=true,
           direction=OUT,
           supplemental=false,
           description="result image")
private transient MTBImage resultImg

sizeC

private int sizeC

sizeT

private int sizeT

sizeX

private int sizeX

sizeY

private int sizeY

sizeZ

private int sizeZ
Constructor Detail

CellSegmentationPostprocessing

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

CellSegmentationPostprocessing

public CellSegmentationPostprocessing(MTBImage inImg)
                               throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Parameters:
inImg - input image
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

drawRegions

private void drawRegions(MTBRegion2DSet keepRegions,
                         int z,
                         int t,
                         int c)
draw regions to the output image

Parameters:
keepRegions - 2D regions to draw
z - slice number
t - frame number
c - channel number

excludeBorderRegions

private MTBRegion2DSet excludeBorderRegions(MTBRegion2DSet regions)
exclude regions that are adjacent to the image borders

Parameters:
regions - image regions
Returns:
regions that are not touching the image borders

excludeSmallRegions

private MTBRegion2DSet excludeSmallRegions(MTBRegion2DSet regions)
exclude regions that are smaller than the predefined (Parameter minArea) minimum

Parameters:
regions - image regions
Returns:
regions that are not too small

getResultImage

public MTBImage getResultImage()
Returns:
result image

operate

public 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

setBorderExclusion

public void setBorderExclusion(boolean excludeBorderObjects)
should border touching objects be excluded

Parameters:
excludeBorderObjects -

setFG_Value

public void setFG_Value(double val)
set the intensity value of the remaining foreground regions

Parameters:
val -

setMinimumObjectArea

public void setMinimumObjectArea(int minArea)
set the minimum area (number of pixels) a region must have in order to be kept

Parameters:
minArea -

setObjectsEightConnected

public void setObjectsEightConnected(boolean eightconnected)
are regions to be considered 8-connected (4-connected otherwise)

Parameters:
eightconnected -