|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.MiToBo.core.operator.MTBOperator
de.unihalle.informatik.MiToBo.apps.nuclei2D.NucleusSeparator2DAlgos
de.unihalle.informatik.MiToBo.apps.nuclei2D.NucleusSeparator2DBeamCut
@ALDAOperator(genericExecutionMode=ALL) @ALDDerivedClass public class NucleusSeparator2DBeamCut
Class provides routines for separating conglomerates of cell nuclei in 2D.
This operator is not supposed to be directly executed in a generic fashion.
Use the operator NucleusSeparator2D
instead.
Nested Class Summary | |
---|---|
static class |
NucleusSeparator2DBeamCut.NuclSeparateMode
Available modes for nuclei separation in 2D images. |
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Field Summary | |
---|---|
private int |
debug
|
private boolean |
doErosion
|
private int |
erodeSize
|
private int |
minSize
|
private double |
minSizeFraction
|
private NucleusSeparator2DBeamCut.NuclSeparateMode |
opMode
Operation mode of this separator. |
private int |
sizeDilation
|
private int |
sizeOpening
|
private int |
sizeTH
|
private double |
thresTH
|
(package private) MTBImage |
tmpImg
temp. binary image |
Fields inherited from class de.unihalle.informatik.MiToBo.apps.nuclei2D.NucleusSeparator2DAlgos |
---|
inputImg, labelImg, resultImg |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
completeDAG, name, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
NucleusSeparator2DBeamCut()
Default constructor |
|
NucleusSeparator2DBeamCut(MTBImage labelImg)
Constructor. |
|
NucleusSeparator2DBeamCut(MTBImage labelImg,
NucleusSeparator2DBeamCut.NuclSeparateMode opMode)
Constructor. |
Method Summary | |
---|---|
private double[] |
dilate1D(double[] x,
int size)
|
private double[] |
erode1D(double[] x,
int size)
|
private void |
erodeComponent(int label,
int size)
erode one component with given label |
private int[] |
estimateMean(int label)
Suche nach bestem Mittelpunkt des Embryos: ueberpruefe kreisfoermige Raster (8 Punkte +Mittelpunkt des Bildes) um Bildmittelpunkt aus Kriterium: max. min. |
private double |
euklidDist(double x1,
double y1,
double x2,
double y2)
Hilfsmethode zur Bestimmung der euklidischen Distanz zw. 2 Punkten |
private double[] |
getCentroid(MTBImage img,
int label)
auxiliary method to determine the centroid (x,y) and width/heigth of compoment with label in a double array of length 4 (should go in class/record) |
int |
getDebug()
Get value of debug. |
boolean |
getDoErosion()
Get value of doErosion. |
int |
getErodeSize()
Get value of erodeSize. |
MTBImage |
getLabelImg()
Get value of labelImg. |
int |
getMinSize()
Get value of minSize. |
double |
getMinSizeFraction()
Get value of minSizeFraction. |
NucleusSeparator2DBeamCut.NuclSeparateMode |
getOpMode()
Get value of opMode. |
private int |
getSize(int label)
|
int |
getSizeDilation()
Get value of sizeDilation. |
int |
getSizeOpening()
Get value of sizeOpening. |
int |
getSizeTH()
Get value of sizeTH. |
double |
getThresTH()
Get value of thresTH. |
private void |
keepLargestCC(MTBImage img,
int label)
remove all but the largest connected component with label |
private double[] |
open1D(double[] x,
int size)
|
protected void |
operate()
|
private int |
resetLabel(int fromLabel,
int toLabel)
|
private int |
separate(int label,
int nextLabel)
try to separate component with label 2. |
void |
setDebug(int value)
Set value of debug. |
void |
setDoErosion(boolean value)
Set value of doErosion. |
void |
setErodeSize(int value)
Set value of erodeSize. |
void |
setLabelImg(MTBImage value)
Set value of labelImg. |
void |
setMinSize(int value)
Set value of minSize. |
void |
setMinSizeFraction(double value)
Set value of minSizeFraction. |
void |
setOpMode(NucleusSeparator2DBeamCut.NuclSeparateMode value)
Set value of opMode. |
void |
setSizeDilation(int value)
Set value of sizeDilation. |
void |
setSizeOpening(int value)
Set value of sizeOpening. |
void |
setSizeTH(int value)
Set value of sizeTH. |
void |
setThresTH(double value)
Set value of thresTH. |
private double[] |
topHat1D(double[] x,
int size)
|
Methods inherited from class de.unihalle.informatik.MiToBo.apps.nuclei2D.NucleusSeparator2DAlgos |
---|
getResultImg, setInputGrayScaleImage, setInputLabelImage, setResultImg |
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 |
---|
@Parameter(label="Debug mode.", required=false, direction=IN, supplemental=true, description="Flag for debugging output.") private int debug
@Parameter(label="Do erosion", required=false, direction=IN, description="Erode each nucleus resulting from a separation.") private boolean doErosion
@Parameter(label="Erode mask size", required=false, direction=IN, description="Size of structuring element for eroding a nucleus from a separation.") private int erodeSize
@Parameter(label="Minimum nuclei size", required=false, direction=IN, description="Minimum size of each nucleus after separation, otherwise undo separation") private int minSize
@Parameter(label="Minimum fraction size", required=false, direction=IN, description="Minimum size fraction of each nucleus after separation, otherwise undo separation.") private double minSizeFraction
@Parameter(label="Operator mode", required=true, direction=IN, description="Operator separation mode.") private NucleusSeparator2DBeamCut.NuclSeparateMode opMode
@Parameter(label="Dilation mask size", required=false, direction=IN, description="Size of structuring element for dilation on cutpoint hypotheses.") private int sizeDilation
@Parameter(label="Opening mask size", required=false, direction=IN, description="Size of structuring element for opening on cutpoint hypotheses.") private int sizeOpening
@Parameter(label="Tophat size", required=false, direction=IN, description="Size of structuring element for top hat on distances.") private int sizeTH
@Parameter(label="Tophat threshold", required=false, direction=IN, description="Threshold for result from top hat.") private double thresTH
transient MTBImage tmpImg
Constructor Detail |
---|
public NucleusSeparator2DBeamCut() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public NucleusSeparator2DBeamCut(MTBImage labelImg) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public NucleusSeparator2DBeamCut(MTBImage labelImg, NucleusSeparator2DBeamCut.NuclSeparateMode opMode) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
private double[] dilate1D(double[] x, int size)
private double[] erode1D(double[] x, int size)
private void erodeComponent(int label, int size) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
private int[] estimateMean(int label)
private double euklidDist(double x1, double y1, double x2, double y2)
x1
- doubley1
- doublex2
- doubley2
- double
private double[] getCentroid(MTBImage img, int label)
img
- label
-
public int getDebug()
public boolean getDoErosion()
public int getErodeSize()
public MTBImage getLabelImg()
public int getMinSize()
public double getMinSizeFraction()
public NucleusSeparator2DBeamCut.NuclSeparateMode getOpMode()
private int getSize(int label)
public int getSizeDilation()
public int getSizeOpening()
public int getSizeTH()
public double getThresTH()
private void keepLargestCC(MTBImage img, int label) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
private double[] open1D(double[] x, int size)
protected void operate() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate
in class NucleusSeparator2DAlgos
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
private int resetLabel(int fromLabel, int toLabel)
private int separate(int label, int nextLabel) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
public void setDebug(int value)
value
- New value of debugpublic void setDoErosion(boolean value)
value
- New value of doErosionpublic void setErodeSize(int value)
value
- New value of erodeSizepublic void setLabelImg(MTBImage value)
value
- New value of labelImgpublic void setMinSize(int value)
value
- New value of minSizepublic void setMinSizeFraction(double value)
value
- New value of minSizeFractionpublic void setOpMode(NucleusSeparator2DBeamCut.NuclSeparateMode value)
value
- New value of opModepublic void setSizeDilation(int value)
value
- New value of sizeDilationpublic void setSizeOpening(int value)
value
- New value of sizeOpeningpublic void setSizeTH(int value)
value
- New value of sizeTHpublic void setThresTH(double value)
value
- New value of thresTHprivate double[] topHat1D(double[] x, int size)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |