|
||||||||
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.Alida.operator.ALDOperatorControllable
de.unihalle.informatik.MiToBo.core.operator.MTBOperatorControllable
de.unihalle.informatik.MiToBo.segmentation.snakes.optimize.SnakeOptimizer
de.unihalle.informatik.MiToBo.segmentation.snakes.optimize.SnakeOptimizerSingle
public abstract class SnakeOptimizerSingle
Image contour segmentation using parametric snakes.
Nested Class Summary | |
---|---|
static class |
SnakeOptimizerSingle.EnergyNormalizationMode
Snake normalization mode. |
static class |
SnakeOptimizerSingle.IntensityNormalizationMode
Image intensity normalization mode. |
Nested classes/interfaces inherited from class de.unihalle.informatik.MiToBo.segmentation.snakes.optimize.SnakeOptimizer |
---|
SnakeOptimizer.Snake_status |
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperatorControllable |
---|
de.unihalle.informatik.Alida.operator.ALDOperatorControllable.OperatorControlStatus |
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Field Summary | |
---|---|
protected MTBImageRGB |
dispImg
Image for showing/saving intermediate results. |
protected java.lang.Boolean |
doResampling
Flag to enable/disable snake resampling. |
protected double |
energy
Current energy of the snake. |
protected boolean |
energyCalculationRequested
Flag for invoking energy calculations. |
protected MTBImage |
inImgOriginal
Copy of input image The input image is normalized to intensities in range [0,1], this image is a backup of the original one. |
protected SnakeOptimizerSingle.IntensityNormalizationMode |
intNormMode
Mode for normalizing image intensities. |
protected SnakeOptimizerSingle.EnergyNormalizationMode |
normMode
Mode for normalizing energies. |
protected int[][] |
overlapMask
Mask to indicate overlap regions between snakes. |
protected boolean |
overlapMaskRequested
Flag to indicate whether an energy requested overlap mask. |
protected double |
previousEnergy
Snake energy in previous iteration (for change assessment). |
protected MTBSnake |
previousSnake
Old snake of previous iteration (for evolution assessment). |
protected java.lang.Double |
resampleSegLength
Target length of snake segments in resampling. |
protected double |
scaleFactor
Scale factor for snake normalization. |
protected MTBSnake |
snake
The snake on which the algorithm works. |
protected UserTime |
timer
Timer object for time measurements. |
Fields inherited from class de.unihalle.informatik.MiToBo.segmentation.snakes.optimize.SnakeOptimizer |
---|
counterClockwiseSnakePointOrderRequested, energyData, excludeMask, iHeight, inImg, initialSnakes, intermediateResults, itCounter, iWidth, outIntermediateResultsStack, outIntermediateResultsStackInterval, outIntermediateResultsStackWanted, outSnakes, outSnakesImg, sampleEnergyData, saveIntermediateResults, saveIntermediateResultsPath, showIntermediateResults, snakeNum |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperatorControllable |
---|
configurationEventlistenerList, controlEventlistenerList, notifyListenersRecursively, operatorStatus, stepSize, stepWiseExecution |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
completeDAG, name, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
SnakeOptimizerSingle()
Default constructor. |
Method Summary | |
---|---|
protected void |
closeWindows()
Close all windows openened by this operator (for clean-up). |
void |
disableEnergyCalculation()
Disable energy calculations completely. |
boolean |
doesRequireOverlapMask()
Returns true, if optimizer requires overlap mask. |
java.lang.Boolean |
doResampleSnake()
Returns true if snake should be resampled during optimization. |
void |
enableEnergyCalculation()
Enable energy calculation in each iteration. |
MTBSnake |
getCurrentSnake()
Returns a copy of the current snake. |
MTBPolygon2DSet |
getCurrentSnakes()
Returns a set with current snake(!). |
double |
getEnergyValue()
Get current energy value for the snake. |
SnakeOptimizerSingle.IntensityNormalizationMode |
getIntensityNormalizationMode()
Request mode for normalizing image intensities. |
SnakeOptimizerSingle.EnergyNormalizationMode |
getNormalizationMode()
Returns energy normalization mode. |
int[][] |
getOverlapMask()
Returns current overlap mask. |
double |
getPreviousEnergyValue()
Get old energy value for the snake at last iteration. |
MTBSnake |
getPreviousSnake()
Returns the previous snake. |
java.lang.Double |
getSegmentLength()
Returns desired segment length for resampling. |
protected void |
initOptimizer()
Initializes the optimizer. |
MTBImage |
normalizeInputImage(MTBImage inimg)
Normalizes image intensities according to normalization mode of operator. |
void |
printParams()
Print current parameter settings to standard output device. |
protected java.lang.Object |
readResolve()
Function for proper initialization of deserialized objects. |
void |
requireOverlapMask()
Intended for energies to request overlap mask. |
protected void |
resampleSnake()
Resamples the snake using the specified segment length. |
protected abstract void |
saveSnake()
Save intermediate results. |
void |
setOverlapMask(int[][] m)
Specify new overlap mask. |
protected void |
showSnake()
Display intermediate results by overlaying the input image with the current snake result. |
java.lang.String |
toString()
|
Methods inherited from class de.unihalle.informatik.MiToBo.segmentation.snakes.optimize.SnakeOptimizer |
---|
clone, disableSaveIntermediateResults, disableShowIntermediateResults, doIteration, enableSaveIntermediateResults, enableShowIntermediateResults, getExcludeMask, getInitialSnakes, getInputImage, getIterationCount, getResultSnakeImage, getResultSnakes, getSnakeNumber, getStackWithIntermediateResults, operate, requireCounterClockwiseSnakePointOrder, setExcludeMask, setInitialSnakes, setInputImage, setIntermediateResultPath, validateCustom, wantStackWithIntermediateResults |
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperatorControllable |
---|
addALDConfigurationEventListener, addALDControlEventListener, fireALDConfigurationEvent, fireALDControlEvent, handleALDConfigurationEvent, handleALDControlEvent, removeALDConfigurationEventListener, removeALDControlEventListener, setNotifyRecursiveFlag |
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, validateGeneric, writeHistory, writeHistory, writeHistory, writeParametersToXml |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected transient MTBImageRGB dispImg
@Parameter(label="Do Resampling", mode=ADVANCED, direction=IN, required=false, dataIOOrder=11, description="Flag for snake resampling.") protected java.lang.Boolean doResampling
protected transient double energy
protected transient boolean energyCalculationRequested
protected transient MTBImage inImgOriginal
The input image is normalized to intensities in range [0,1], this image is a backup of the original one.
@Parameter(label="Image intensity normalization mode", direction=IN, required=false, dataIOOrder=9, description="Normalization mode for image intensities.") protected SnakeOptimizerSingle.IntensityNormalizationMode intNormMode
@Parameter(label="Energy normalization mode", direction=IN, required=false, dataIOOrder=10, description="Normalization mode for snake/energies.") protected SnakeOptimizerSingle.EnergyNormalizationMode normMode
protected transient int[][] overlapMask
protected transient boolean overlapMaskRequested
protected transient double previousEnergy
protected transient MTBSnake previousSnake
@Parameter(label="Resample Segment Length", mode=ADVANCED, direction=IN, required=false, dataIOOrder=12, description="Desired resampling segment length.") protected java.lang.Double resampleSegLength
protected transient double scaleFactor
protected transient MTBSnake snake
protected transient UserTime timer
Constructor Detail |
---|
public SnakeOptimizerSingle() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
protected void closeWindows()
SnakeOptimizer
closeWindows
in class SnakeOptimizer
public void disableEnergyCalculation()
public boolean doesRequireOverlapMask()
public java.lang.Boolean doResampleSnake()
public void enableEnergyCalculation()
public MTBSnake getCurrentSnake()
public MTBPolygon2DSet getCurrentSnakes()
In case of the SnakeOptimizerSingle class this set will always have exactly one element.
getCurrentSnakes
in class SnakeOptimizer
public double getEnergyValue()
public SnakeOptimizerSingle.IntensityNormalizationMode getIntensityNormalizationMode()
public SnakeOptimizerSingle.EnergyNormalizationMode getNormalizationMode()
public int[][] getOverlapMask()
public double getPreviousEnergyValue()
public MTBSnake getPreviousSnake()
public java.lang.Double getSegmentLength()
protected void initOptimizer() throws MTBSnakeException, de.unihalle.informatik.Alida.exceptions.ALDOperatorException
SnakeOptimizer
Needs to be implemented by any derived class. This routine is automatically called on invoking the local operate routine.
initOptimizer
in class SnakeOptimizer
MTBSnakeException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public MTBImage normalizeInputImage(MTBImage inimg)
inimg
- Image to be normalized.
public void printParams()
SnakeOptimizer
printParams
in class SnakeOptimizer
protected java.lang.Object readResolve()
This function is called on an instance of this class being deserialized from file, prior to handing the instance over to the user. It takes care of a proper initialization of transient member variables as they are not initialized to the default values during deserialization.
readResolve
in class SnakeOptimizer
public void requireOverlapMask()
protected void resampleSnake()
Note: if snake is normalized, segment length will also be normalized! Normalization of segment length is done by resampling!
protected abstract void saveSnake()
saveSnake
in class SnakeOptimizer
public void setOverlapMask(int[][] m)
protected void showSnake()
showSnake
in class SnakeOptimizer
public java.lang.String toString()
toString
in class SnakeOptimizer
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |