|
||||||||||
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.segmentation.levelset.nonPDE.LevelsetSegmentationNonPDE
@ALDAOperator(level=APPLICATION, genericExecutionMode=ALL) public class LevelsetSegmentationNonPDE
Operator intended as user interface for level set segmentation
using nonPDE optimization and optionally topology preserving.
An image containing the initial segmentation may be supplied.
Also a mask image indicating invalid pixels/voxels may be given.
Details
The input image is segmented using a level set technique.
Segmentation by be done using two or multiple phases, if multiphase is true.
Optionally a topology preserving mode is available (only 2D currently)
which assumes initially object phases with exactly one connected component each
and no holes. This condition is preserved during optimization.
The maximal number of iterations is given as maxiter.
If invalidImg all pixels/voxels in this image with non-zero intensities are
interpreted as invalid. This is in principle as if this pixels/voxels would not exist
(similar to pixels/voxels outside the image domain):
They are neither assigned a phase to, nor are image intensities used, e.g. to compute
gradients.
Initialization
If no initialization is given, a default initialization,
usually a circle/sphere is used.
If both initLabelImg and initBinImg are supplied, initLabelImg is used.
If a two phase approach is used (i.e. multiphase is false) then both
types of initialization are identical: all pixels/voxels with intensity zero are
assumed as background (phase), all other as foreground phase.
In the multi phase case the labels in initLabelImg are assumed to be the
phases to be used for initialization. Again, pixels/voxels with intensity zero are
assumed as background (phase).
If in the multi phase case initBinImg is given, the image is interpreted
as a binary image (zero is again background), a compontent labeling is
done and each resulting connected component assign to one phase
(in addition to the background phase).
Result
The final segmentation is output as a label image.
Additional Output
If verbose is set output is written to stdout. The debug argument is a bit mask to control debuggung output. This is intended for developers and not (well) documented, also behaviour may change over time without notice. If spacing is non-zero, intermediate levelset functions after each spacing-th iteration are output to files with prefix ibase (default intermediateLS) and incrementally numbered. As a zero-th levelset function the initialization is prepended and the final result added as a last levelset image (which might happen to show up twice). Additionally the input image is overlayed with the final contours of the object phases as well as with the contours of the intialization. This image is output to the file contourResult (default: contourImg.tif).
Limitations Currently not all options are implemented for the plugin version.
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.Alida.operator.ALDOperator |
---|
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
LevelsetSegmentationNonPDE()
Default constructor. |
Method Summary | |
---|---|
Integer |
getDebug()
Get value of debug. |
MTBGenericEnergyNonPDE |
getEnergy()
Get value of energy. |
MTBImage |
getInImg()
Get value of inImg. |
MTBImage |
getInitBinImg()
Get value of initBinImg. |
MTBImage |
getInitLabelImg()
Get value of initLabelImg. |
MTBImage |
getIntermediateLS()
|
MTBImage |
getInvalidImg()
Get value of invalidImg. |
Integer |
getMaxIter()
Get value of maxIter. |
Boolean |
getMultiphase()
Get value of multiphase. |
Integer |
getNumIterations()
Get value of numIterations Explanation: Number of iterations performed |
Boolean |
getPreserveTopology()
Get value of preserveTopology. |
MTBImage |
getResultContourImage()
Get value of ResultContourImage. |
MTBImage |
getResultImage()
Get value of ResultImage. |
Integer |
getSpacing()
Get value of spacing. |
Double |
getThreshold()
Get value of threshold. |
protected void |
operate()
|
void |
setDebug(Integer value)
Set value of debug. |
void |
setEnergy(MTBGenericEnergyNonPDE energy)
Set value of energy. |
void |
setInImg(MTBImage value)
Set value of inImg. |
void |
setInitBinImg(MTBImage value)
Set value of initBinImg. |
void |
setInitLabelImg(MTBImage value)
Set value of initLabelImg. |
void |
setIntermediateLS(MTBImage intermediateLS)
|
void |
setInvalidImg(MTBImage value)
Set value of invalidImg. |
void |
setMaxIter(Integer value)
Set value of maxIter. |
void |
setMultiphase(Boolean value)
Set value of multiphase. |
void |
setNumIterations(Integer value)
Set value of numIterations Explanation: Number of iterations performed |
void |
setPreserveTopology(Boolean value)
Set value of preserveTopology. |
void |
setResultContourImage(MTBImage value)
Set value of ResultContourImage. |
void |
setResultImage(MTBImage value)
Set value of ResultImage. |
void |
setSpacing(Integer value)
Set value of spacing. |
void |
setThreshold(Double value)
Set value of threshold. |
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 LevelsetSegmentationNonPDE() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
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 Integer getDebug()
public void setDebug(Integer value)
value
- New value of debugpublic MTBGenericEnergyNonPDE getEnergy()
public void setEnergy(MTBGenericEnergyNonPDE energy)
energy
- New value of energypublic Double getThreshold()
public void setThreshold(Double value)
value
- New value of thresholdpublic Integer getMaxIter()
public void setMaxIter(Integer value)
value
- New value of maxIterpublic Boolean getPreserveTopology()
public void setPreserveTopology(Boolean value)
value
- New value of preserveTopologypublic Integer getSpacing()
public void setSpacing(Integer value)
value
- New value of spacingpublic Boolean getMultiphase()
public void setMultiphase(Boolean value)
value
- New value of multiphasepublic MTBImage getInvalidImg()
public void setInvalidImg(MTBImage value)
value
- New value of invalidImgpublic MTBImage getInitLabelImg()
public void setInitLabelImg(MTBImage value)
value
- New value of initLabelImgpublic MTBImage getInImg()
public void setInImg(MTBImage value)
value
- New value of inImgpublic MTBImage getInitBinImg()
public void setInitBinImg(MTBImage value)
value
- New value of initBinImgpublic MTBImage getResultContourImage()
public void setResultContourImage(MTBImage value)
value
- New value of ResultContourImagepublic MTBImage getResultImage()
public void setResultImage(MTBImage value)
value
- New value of ResultImagepublic Integer getNumIterations()
public void setNumIterations(Integer value)
New
- value of numIterationspublic MTBImage getIntermediateLS()
public void setIntermediateLS(MTBImage intermediateLS)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |