|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.unihalle.informatik.MiToBo.segmentation.snakes.energies.MTBSnakeEnergyCD_KassLength
@ALDDerivedClass @ALDParametrizedClass public class MTBSnakeEnergyCD_KassLength
Internal length penalty energy of the pioneering paper of Kass et al.
This energy is based on first order derivatives of the snake. In contrast to the original work it allows for more flexible weighting parameters alpha, i.e. the weighting factors may be set for each snake point individually.
In addition, the weighting parameters can dynamically be adjusted by
providing the energy with an update object, see
MTBSnakeEnergyCD_KassLength_ParamAdapt
.
Field Summary | |
---|---|
private double |
alphaInitial
Initial weighting factor for the length term, should be > 0. |
private double[] |
alphas
Vector of point-specific alpha values. |
private java.lang.Double |
maxAlpha
Maximal possible value of alpha as can be provided by parameter updated. |
private double |
normalizationFactor
Normalization factor for scaling matrix entries. |
private SnakeOptimizerSingle.EnergyNormalizationMode |
normMode
Mode of normalization. |
private MTBSnakeEnergyCD_KassLength_ParamAdapt |
pUpdater
Parameter update strategy. |
protected double |
scaleFactor
Scaling factor for image coordinates. |
Fields inherited from interface de.unihalle.informatik.MiToBo.segmentation.snakes.energies.MTBSnakeEnergyDerivable |
---|
targetEnergyRange |
Constructor Summary | |
---|---|
MTBSnakeEnergyCD_KassLength()
Default constructor. |
|
MTBSnakeEnergyCD_KassLength(double _alpha,
MTBSnakeEnergyCD_KassLength_ParamAdapt _pUpd)
Constructor with dynamic parameter updater. |
Method Summary | |
---|---|
double |
calcEnergy(SnakeOptimizerSingle opt)
Calculates snake energy (non-normalized!). |
double |
calcEnergy(SnakeOptimizerSingle opt,
int pos)
Calculates energy at a certain position for the current snake. |
Jama.Matrix |
getDerivative_MatrixPart(SnakeOptimizerSingleVarCalc opt)
Updates matrix A given weights for the internal energy term. |
Jama.Matrix |
getDerivative_VectorPart(SnakeOptimizerSingleVarCalc opt)
Returns the vector part of this energy for snake optimization. |
double |
getInitAlpha()
Get the initial alpha value. |
private double |
getNormalizationFactor(SnakeOptimizerSingle opt)
|
double |
getScaleFactor()
Get scaling factor. |
boolean |
initEnergy(SnakeOptimizerSingleGreedy o)
Init routine which is called once before the energy is actually used. |
boolean |
initEnergy(SnakeOptimizerSingleVarCalc o)
Init routine which is called once before the energy is actually used. |
void |
setScaleFactor(double s)
Set the scaling factor. |
java.lang.String |
toString()
Get an identifier string for the energy object. |
void |
updateStatus(SnakeOptimizerSingleGreedy o)
Update internal state of energy object prior to querying derivatives and so on. |
void |
updateStatus(SnakeOptimizerSingleVarCalc o)
Update internal state of energy object prior to usaging it. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
@ALDClassParameter(label="Initial Alpha") private double alphaInitial
private double[] alphas
private java.lang.Double maxAlpha
private double normalizationFactor
private SnakeOptimizerSingle.EnergyNormalizationMode normMode
@ALDClassParameter(label="Parameter Updater") private MTBSnakeEnergyCD_KassLength_ParamAdapt pUpdater
protected double scaleFactor
The factor is used to scale image coordinates between the range [0,1] and the real-world image size in pixels. Default scaling factor is 1.
Constructor Detail |
---|
public MTBSnakeEnergyCD_KassLength()
public MTBSnakeEnergyCD_KassLength(double _alpha, MTBSnakeEnergyCD_KassLength_ParamAdapt _pUpd)
_alpha
- Weighting factor for length term._pUpd
- Parameter update object.Method Detail |
---|
public double calcEnergy(SnakeOptimizerSingle opt)
calcEnergy
in interface MTBSnakeEnergyComputable
opt
- Calling snake optimizer.
public double calcEnergy(SnakeOptimizerSingle opt, int pos)
public Jama.Matrix getDerivative_MatrixPart(SnakeOptimizerSingleVarCalc opt)
The upper left block and the lower right block of matrix A just dependent on the weight parameters alpha and beta for the internal snake energy terms.
getDerivative_MatrixPart
in interface MTBSnakeEnergyDerivable
opt
- Calling snake optimizer.
public Jama.Matrix getDerivative_VectorPart(SnakeOptimizerSingleVarCalc opt)
MTBSnakeEnergyDerivable
getDerivative_VectorPart
in interface MTBSnakeEnergyDerivable
opt
- Calling snake optimizer.
public double getInitAlpha()
private double getNormalizationFactor(SnakeOptimizerSingle opt)
public double getScaleFactor()
getScaleFactor
in interface MTBSnakeEnergyComputable
getScaleFactor
in interface MTBSnakeEnergyDerivable
public boolean initEnergy(SnakeOptimizerSingleGreedy o)
MTBSnakeEnergyComputable
In 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 MTBSnakeEnergyComputable
o
- Calling snake optimizer.
public boolean initEnergy(SnakeOptimizerSingleVarCalc o)
MTBSnakeEnergyDerivable
In 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 MTBSnakeEnergyDerivable
o
- Calling snake optimizer.
public void setScaleFactor(double s)
setScaleFactor
in interface MTBSnakeEnergyComputable
setScaleFactor
in interface MTBSnakeEnergyDerivable
s
- New scaling factor.public java.lang.String toString()
MTBSnakeEnergyDerivable
When 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 MTBSnakeEnergyComputable
toString
in interface MTBSnakeEnergyDerivable
toString
in class java.lang.Object
public void updateStatus(SnakeOptimizerSingleGreedy o)
MTBSnakeEnergyComputable
updateStatus
in interface MTBSnakeEnergyComputable
public void updateStatus(SnakeOptimizerSingleVarCalc o)
MTBSnakeEnergyDerivable
updateStatus
in interface MTBSnakeEnergyDerivable
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |