|
||||||||||
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.NucleusSeparator2DPeakSearch
@ALDAOperator(genericExecutionMode=ALL, level=STANDARD) @ALDDerivedClass public class NucleusSeparator2DPeakSearch
Operator for separating merged nuclei regions in images.
This operator analyzes nuclei images and detects nuclei regions. The main
focus is thereby on seperating nuclei regions which are merged by common
segmentation techniques. Consequently, binary pre-segmentations of nuclei
regions can be provided as input to the operator.
Anyway, if no binary image is coming along, the gray-scale input image will
first be binarized by applying Otsu thresholding and some morphological
post-processing steps. Indeed this a standard procedure which probably
won't suit your needs - better use your own nucleus detector instead.
After binarization the resulting regions are further analyzed, i.e. the centers of present nuclei regions are determined (for details refer to Jochen's project thesis).
Given estimates for the nuclei regions snakes are initialized and run to detect the complete nuclei regions. As result extracted nuclei contours are provided as a set of polygons and overlayed to the greyscale image.
This operator has been written as part of Jochen's project in WS 2011/12.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Field Summary |
---|
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, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
NucleusSeparator2DPeakSearch()
Default constructor. |
|
NucleusSeparator2DPeakSearch(MTBImageShort grey)
Constructor with input image. |
|
NucleusSeparator2DPeakSearch(MTBImageShort grey,
MTBImage label)
Constructor with gray-scale and binary image. |
Method Summary | |
---|---|
void |
configureSnakes(double g,
int its,
double avglength)
Configures basic snake parameters. |
MTBImageShort |
getLabelImage()
Returns gray-scale label image with nuclei regions. |
MTBRegion2DSet |
getNRSCandidates()
Returns possible peak locations from NucleusRegionSeperator. |
MTBImage |
getNRSDistImg()
Returns distance image calculated intermediately. |
MTBPolygon2DSet |
getNRSEllipsoidSnakePrimer()
Creates and returns a set of polygons as starting regions for snake analysis based on hypothesized ellipses from nucleus information |
MTBRegion2DSet[] |
getNRSResultAreas()
Returns set of result regions from region separator. |
MTBRegion2DSet |
getNRSResultCenters()
Returns set of detected region centers from region separator. |
MTBPolygon2DSet |
getNRSVoronoidSnakePrimer()
Creates and returns a set of polygons as starting regions for the snakes. |
MTBRegion2DSet |
getOtsuRegs()
Returns set of regions resulting from Otsu thresholding. |
MTBImageRGB |
getResultImage()
Returns RGB color image overlayed with nuclei contours. |
MTBPolygon2DSet |
getSnakes()
Returns the result snakes. |
protected void |
operate()
|
void |
setInImg(MTBImage inImg)
Specify gray-scale input image. |
void |
setLabelImg(MTBImage label)
Specify label input image. |
void |
setMad(double _mad)
Sets maximal allowed discrepancy of direct connection to actual profile between two peaks. |
void |
setMax_d2c(float max_d2c)
Sets factor to adjust maximal allowed distance from lower to upper peak. |
void |
setSavePath(String path)
Sets the path to where intermediate snake results are to be written. |
void |
setSaveSnakes(boolean save)
(De)activates saving of iteration step results. |
void |
setShowSnakes(boolean show)
(De)activates displaying of intermediate results during snake-iterations. |
void |
setSnakeIterations(int its)
Sets number of iterations for snake optimization. |
void |
setSuppressor(int sup)
Sets threshold to suppress peak analysis close to scraggy contours. |
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 |
---|
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 |
Constructor Detail |
---|
public NucleusSeparator2DPeakSearch() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public NucleusSeparator2DPeakSearch(MTBImageShort grey) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
grey
- Original greyscale nucleus image.
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public NucleusSeparator2DPeakSearch(MTBImageShort grey, MTBImage label) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
grey
- Original greyscale nucleus image.label
- Label image of pre-segmented nuclei regions.
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
public void setInImg(MTBImage inImg)
inImg
- Gray-scale input image to be processed.public void setLabelImg(MTBImage label)
bw
- Label input image.public void setShowSnakes(boolean show)
If
- true, displaying results is enabled.public MTBPolygon2DSet getSnakes()
public MTBImageRGB getResultImage()
public MTBImageShort getLabelImage()
public void setSaveSnakes(boolean save)
If
- true, saving of results is enabled.public void setSavePath(String path)
Path
- in filesystem, folder must exist.public void setSnakeIterations(int its)
its
- Number of iterations.public void configureSnakes(double g, int its, double avglength)
g
- Array of snake step-sizes.its
- Number of iterations.avglength
- Desired length of snake segments.public MTBRegion2DSet getOtsuRegs()
public MTBImage getNRSDistImg()
public MTBPolygon2DSet getNRSVoronoidSnakePrimer() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
The method is based on voronoi tesselation of Otsu-regions.
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public MTBPolygon2DSet getNRSEllipsoidSnakePrimer()
public MTBRegion2DSet[] getNRSResultAreas()
public MTBRegion2DSet getNRSResultCenters()
public MTBRegion2DSet getNRSCandidates()
public void setMax_d2c(float max_d2c)
max_d2c
- Maximal distance, default 1.5.public void setMad(double _mad)
mad
- Maximal discrepancy, default 0.11.public void setSuppressor(int sup)
sup
- Threshold, should be > 4.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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |