@ALDDerivedClass @ALDParametrizedClass public class MTBSnakeEnergyCDIB_Distance extends MTBSnakeEnergyCDImageBased
Class for external energy from a distance transform (distance map / field). The distance field is stored in a two-dimensional double array, where the first dimension includes the y-coordinates of the field and the second dimension hold the x-coordinates. For the distance field the user can specify the distance metric (Euclidean, Chessboard, Cityblock) and can set the foreground of the given binary image. So the external energy is defined as: extEnergy(x,y) = distField[y][x]. !!!ATTENTION!!! If the distance map should be used as external energy, the map should be calculated on the foreground. Normal distance map is calculated in the object, so we want to set the foreground as object. That means, on a black image with white objects, the foreground for the distance map must be set to white and vice versa!
DistanceTransform| Modifier and Type | Field and Description |
|---|---|
private DistanceTransform.ForegroundColor |
colorFG |
private double[][] |
distField
The calculated 2D vector field from the distance map.
|
private DistanceTransform.DistanceMetric |
distMetric
The used distance metric for the distance map calculation.
|
private MTBImageByte |
inImage |
height, normalizationFactor, normMode, scaleFactor, widthtargetEnergyRange| Constructor and Description |
|---|
MTBSnakeEnergyCDIB_Distance() |
MTBSnakeEnergyCDIB_Distance(MTBImageByte image,
DistanceTransform.DistanceMetric d,
DistanceTransform.ForegroundColor f)
Constructor to create a new SnakeExternalEnergyDistance object.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getDerivativeX(double x,
double y)
Get x-derivative of the distance map at given position using central
differences.
|
double |
getDerivativeY(double x,
double y)
Get y-derivative of the distance map at given position using central
differences.
|
double |
getValue(double x,
double y)
Returns the distance value from the distance map at the given position.
|
boolean |
initEnergy(SnakeOptimizerSingle o)
Init routine which is called once before the energy is actually used.
|
void |
normalizeEnergy()
Normalize the external energy in a range [0.0, 1.0].
|
String |
toString()
Get an identifier string for the energy object.
|
calcEnergy, calcEnergy, getDerivative_MatrixPart, getDerivative_VectorPart, getDerivativeX_norm, getDerivativeY_norm, getScaleFactor, getValue_norm, requiresCounterClockwiseContourSorting, requiresOverlapMask, setScaleFactor, updateStatus@ALDClassParameter(label="Distance Metric") private DistanceTransform.DistanceMetric distMetric
@ALDClassParameter(label="Foreground Color") private DistanceTransform.ForegroundColor colorFG
@ALDClassParameter(label="Input Image") private MTBImageByte inImage
private double[][] distField
public MTBSnakeEnergyCDIB_Distance()
public MTBSnakeEnergyCDIB_Distance(MTBImageByte image, DistanceTransform.DistanceMetric d, DistanceTransform.ForegroundColor f)
image - the given input image to calculate the external energyd - distance metric (euclidean, cityblock, ...)f - foreground f the image (white or black)public boolean initEnergy(SnakeOptimizerSingle o)
MTBSnakeEnergyDerivableIn this routine global parameter settings can be handled or other initialization stuff be done. The SnakeOptimizer will call this routine once before the actual use of the energy. If no stuff needs to be done in advance the routine should at least return true.
initEnergy in interface MTBSnakeEnergyComputableinitEnergy in interface MTBSnakeEnergyDerivableinitEnergy in class MTBSnakeEnergyCDImageBasedo - Calling snake optimizer.public double getValue(double x,
double y)
getValue in class MTBSnakeEnergyCDImageBasedx - x-coordinate of positiony - y-coordinate of positionpublic double getDerivativeX(double x,
double y)
getDerivativeX in class MTBSnakeEnergyCDImageBasedx - x-coordinate of pixel positiony - y-coordinate of pixel positionpublic double getDerivativeY(double x,
double y)
getDerivativeY in class MTBSnakeEnergyCDImageBasedx - x-coordinate of pixel positiony - y-coordinate of pixel positionpublic void normalizeEnergy()
normalizeEnergy in class MTBSnakeEnergyCDImageBasedpublic String toString()
MTBSnakeEnergyDerivableWhen meta parameters are saved to a file, configuration objects need to be converted to strings. Consequently, each snake energy should be associated with a unique and descriptive string for later reference.
toString in interface MTBSnakeEnergyComputabletoString in interface MTBSnakeEnergyDerivabletoString in class ObjectCopyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.