|
||||||||||
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.xylem.XylemGrower
@ALDAOperator(genericExecutionMode=ALL, level=APPLICATION) public class XylemGrower
This operators implements region growing for xylem segmentation.
Prerequisite is HS[X]-image (hue, saturation, intensity/value/brightness) as the input and some thresholds to control the growing process and an initial segmentation of xylem regions supplied as a binary image.
All three channels of the hs[x] image are assume to be a byte image and values
in the range 0 - 255
.
The initial regions are eroded to get seed regions, where we
determine the mean-value of the hue and/or saturation and/or I/V/B-channel.
Subsequently the region are grown via region growing. We compare each pixel of the
contour of those seed regions with the pixel of the background beside them,
either in a 4-neighbourhood or an 8-neighbourhood.
This is repeated until the list of uninspected pixel is not empty.
Afterwards we may do some post processing. E.G. calculate gradient
informations on the found regions to split regions who contain more then one
xylem.
Nested Class Summary | |
---|---|
static class |
XylemGrower.GrowingMode
The region growing modus. |
static class |
XylemGrower.Neighbourhood
The kind of neighbourhood to inspect a pixel. |
static class |
XylemGrower.SortMode
Sort Mode for different MTBRegion2D's. |
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Field Summary | |
---|---|
static int |
DEFAULT_erodeSize
Default size of the structuring element to erode the image |
static double |
DEFAULT_hueThresh
Default hue threshold |
static XylemGrower.GrowingMode |
DEFAULT_linkageMode
Default linkage mode for growing |
static int |
DEFAULT_minAreaPostProcessing
Minimum area of a region in post processing. |
static int |
DEFAULT_minAreaSeedRegions
Default minimum area for a region to be further eroded |
static XylemGrower.Neighbourhood |
DEFAULT_neighbourhood
Default neighborhood for growing |
static int |
DEFAULT_openingSESize
Default size of structuring element for opening (post processing) |
static double |
DEFAULT_satThresh
Default saturation threshold |
static double |
DEFAULT_xThresh
Default intensity threshold |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
XylemGrower()
Default Constructor. |
|
XylemGrower(MTBImageByte binaryImage,
MTBImageByte hsxImage,
XylemGrower.GrowingMode linkageMode)
|
Method Summary | |
---|---|
int |
getErodeSize()
The size of the eroding element. |
MTBImageByte |
getGrownRegions()
Returns a MTBImageByte image after growing. |
double |
getHueThresh()
Return the treshold for the hue channel. |
MTBImage |
getInitialSegmentation()
|
XylemGrower.GrowingMode |
getLinkageMode()
|
int |
getminAreaSeedRegions()
|
int |
getMinRegionArea()
|
XylemGrower.Neighbourhood |
getNeighbourhood()
|
int |
getOpeningSESize()
|
MTBTableModel |
getResultsTable()
|
MTBImageByte |
getResultXylemRegions()
Return the binary image after the post processing of the grown region image. |
double |
getSatTresh()
|
MTBImageByte |
getSeedRegions()
|
double |
getXThresh()
The Intensity/Brighntness/Value-Parameter (depending on the used input image type). |
MTBImage |
getXylemImage()
Return the Hue/Saturation/{Intensity|Brightness|Value}- MTBImage . |
protected void |
operate()
|
static String |
printReadabeTimeInfo(long cTime)
|
void |
setErodSize(int size)
Set the size of the eroding element in pixel. |
void |
setGrownRegions(MTBImageByte imageByte)
|
void |
setHueThresh(double hueThresh)
|
void |
setInitalSegmentation(MTBImageByte image)
|
void |
setLinkageMode(XylemGrower.GrowingMode linkageMode)
|
void |
setminAreaSeedRegions(int minAreaSeedRegions)
|
void |
setMinRegionArea(int minAreaPostProcessing)
|
void |
setNeighbourhood(XylemGrower.Neighbourhood nb)
|
void |
setOpeningSESize(int size)
|
void |
setResultsTable(MTBTableModel resultsTable)
|
void |
setSatTresh(double satTresh)
|
void |
setSeedImage(MTBImageByte seedRegions)
|
void |
setXThresh(double xThresh)
Set the Intensity/Brighntness/Value-Parameter (depending on the used input image type). |
void |
setXylemImage(MTBImageByte hsxMTBImage)
Set the Hue/Saturation/{Intensity|Brightness|Value}- MTBImage . |
void |
setXylemResultRegions(MTBImageByte regions)
Set the binary image after the morphological processing on the grown region image. |
void |
validateCustom()
|
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, validateGeneric, writeHistory, writeHistory, writeHistory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_erodeSize
public static final int DEFAULT_minAreaSeedRegions
public static final XylemGrower.GrowingMode DEFAULT_linkageMode
public static final double DEFAULT_hueThresh
public static final double DEFAULT_satThresh
public static final double DEFAULT_xThresh
public static final XylemGrower.Neighbourhood DEFAULT_neighbourhood
public static final int DEFAULT_openingSESize
public static final int DEFAULT_minAreaPostProcessing
Constructor Detail |
---|
public XylemGrower() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public XylemGrower(MTBImageByte binaryImage, MTBImageByte hsxImage, XylemGrower.GrowingMode linkageMode) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
binaryImage
- hsxImage
- linkageMode
-
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
public void validateCustom() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
validateCustom
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
protected 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
public static String printReadabeTimeInfo(long cTime)
public MTBImage getInitialSegmentation()
public void setInitalSegmentation(MTBImageByte image)
image
- public void setErodSize(int size)
size
- The site of the structuring element used for erosion in
pixel.public int getErodeSize()
public MTBImage getXylemImage()
MTBImage
.
public void setXylemImage(MTBImageByte hsxMTBImage)
MTBImage
.
hsxMTBImage
- public MTBImageByte getResultXylemRegions()
public void setXylemResultRegions(MTBImageByte regions)
regions
- public MTBTableModel getResultsTable()
public void setResultsTable(MTBTableModel resultsTable)
resultsTable
- the resultsTable to setpublic double getHueThresh()
public void setHueThresh(double hueThresh)
hueThresh
- public XylemGrower.GrowingMode getLinkageMode()
public void setLinkageMode(XylemGrower.GrowingMode linkageMode)
linkageMode
- public int getminAreaSeedRegions()
public void setminAreaSeedRegions(int minAreaSeedRegions)
minAreaSeedRegions
- public XylemGrower.Neighbourhood getNeighbourhood()
public void setNeighbourhood(XylemGrower.Neighbourhood nb)
nb
- public MTBImageByte getGrownRegions()
MTBImageByte
image after growing.
public void setGrownRegions(MTBImageByte imageByte)
imageByte
- public double getSatTresh()
public void setSatTresh(double satTresh)
satTresh
- public MTBImageByte getSeedRegions()
public void setSeedImage(MTBImageByte seedRegions)
seedRegions
- public double getXThresh()
public void setXThresh(double xThresh)
xThresh
- The threshold for the intensity/brightness/value.public int getOpeningSESize()
public void setOpeningSESize(int size)
size
- public int getMinRegionArea()
public void setMinRegionArea(int minAreaPostProcessing)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |