@ALDAOperator(genericExecutionMode=SWING, level=STANDARD, shortDescription="Performs post-processing tasks on already segmented cell images.") public class CellSegmentationPostprocessing extends MTBOperator
Modifier and Type | Field and Description |
---|---|
private Double |
fg_value |
private MTBImage |
inImg |
private Integer |
maxArea |
private Integer |
minArea |
private Boolean |
objects8Connected |
private Boolean |
removeBorderObjects |
private MTBImage |
resultImg |
private int |
sizeC |
private int |
sizeT |
private int |
sizeX |
private int |
sizeY |
private int |
sizeZ |
Constructor and Description |
---|
CellSegmentationPostprocessing() |
CellSegmentationPostprocessing(MTBImage inImg) |
Modifier and Type | Method and Description |
---|---|
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 |
excludeLargeRegions(MTBRegion2DSet regions)
exclude regions that are larger than the predefined (Parameter maxArea) maximum
|
private MTBRegion2DSet |
excludeSmallRegions(MTBRegion2DSet regions)
exclude regions that are smaller than the predefined (Parameter minArea) minimum
|
String |
getDocumentation() |
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 |
setMaximumObjectArea(int maxArea)
set the maximum area (number of pixels) a region must have in order to be kept
|
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)
|
readResolve
addOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getHidingMode, getInactiveParameterNames, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterDescriptorUnconditioned, getParameterNames, getParameterUnconditioned, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, hasInOutParameters, hasParameter, isAnnotatedParameter, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, removeParameter, runOp, runOp, runOp, setConstructionMode, setConstructionMode, setConstructionMode, setHidingMode, setName, setParameter, setParameterUnconditioned, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory
@Parameter(label="input image", required=true, direction=IN, supplemental=false, description="binary input image") private transient MTBImage inImg
@Parameter(label="result image", required=true, direction=OUT, supplemental=false, description="result image") private transient MTBImage resultImg
@Parameter(label="remove border touching objects", required=false, direction=IN, supplemental=false, description="should border touching objects be removed") private Boolean removeBorderObjects
@Parameter(label="minimum area (pixels)", required=false, direction=IN, supplemental=false, description="minimum area (number of pixels) an object should have") private Integer minArea
@Parameter(label="maximum area (pixels)", required=false, direction=IN, supplemental=false, description="maximum area (number of pixels) an object should have") private Integer maxArea
@Parameter(label="are objects 8-connected", required=false, direction=IN, supplemental=false, description="are objects 8-connected (4-connected otherwise)") private Boolean objects8Connected
@Parameter(label="foreground value", required=false, direction=IN, supplemental=false, description="intensity value for remaining foreground object pixel") private Double fg_value
private int sizeX
private int sizeY
private int sizeZ
private int sizeT
private int sizeC
public CellSegmentationPostprocessing() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public CellSegmentationPostprocessing(MTBImage inImg) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
inImg
- input imagede.unihalle.informatik.Alida.exceptions.ALDOperatorException
public void operate() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
private MTBRegion2DSet excludeBorderRegions(MTBRegion2DSet regions)
regions
- image regionsprivate MTBRegion2DSet excludeSmallRegions(MTBRegion2DSet regions)
regions
- image regionsprivate MTBRegion2DSet excludeLargeRegions(MTBRegion2DSet regions)
regions
- image regionsprivate void drawRegions(MTBRegion2DSet keepRegions, int z, int t, int c)
keepRegions
- 2D regions to drawz
- slice numbert
- frame numberc
- channel numberpublic void setBorderExclusion(boolean excludeBorderObjects)
excludeBorderObjects
- public void setMinimumObjectArea(int minArea)
minArea
- public void setMaximumObjectArea(int maxArea)
maxArea
- public void setObjectsEightConnected(boolean eightconnected)
eightconnected
- public void setFG_Value(double val)
val
- public MTBImage getResultImage()
public String getDocumentation()
getDocumentation
in class de.unihalle.informatik.Alida.operator.ALDOperator
Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.