|
||||||||
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_KassCurvature
@ALDDerivedClass @ALDParametrizedClass public class MTBSnakeEnergyCD_KassCurvature
Curvature energy of the pioneering paper of Kass et al.
This energy includes a curvature term based on second order derivatives of the snake. In contrast to the original work it allows for more flexible weighting parameters beta, 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_KassCurvature_ParamAdapt
.
Field Summary | |
---|---|
private double |
betaInitial
Weighting factor for the curvature term, should always be > 0. |
private double[] |
betas
Vector of point-specific beta values. |
private java.lang.Double |
maxBeta
Maximal possible value of beta. |
private double |
normalizationFactor
Normalization factor for scaling matrix entries. |
private SnakeOptimizerSingle.EnergyNormalizationMode |
normMode
Mode of normalization. |
private MTBSnakeEnergyCD_KassCurvature_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_KassCurvature()
Default constructor. |
|
MTBSnakeEnergyCD_KassCurvature(double _beta,
MTBSnakeEnergyCD_KassCurvature_ParamAdapt _pUpd)
Constructor with dynamic parameter updater. |
Method Summary | |
---|---|
double |
calcEnergy(SnakeOptimizerSingle opt)
Calculates normalized snake energy. |
double |
calcEnergy(SnakeOptimizerSingle opt,
int pos)
Calculates length term of snake 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 |
getInitBeta()
Get the initial beta 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 Beta") private double betaInitial
private double[] betas
private java.lang.Double maxBeta
private double normalizationFactor
private SnakeOptimizerSingle.EnergyNormalizationMode normMode
@ALDClassParameter(label="Parameter Updater") private MTBSnakeEnergyCD_KassCurvature_ParamAdapt pUpdater
protected double scaleFactor
The factor is used to rescale image coordinates to the range [0,1]. Default scaling factor is 1.
Constructor Detail |
---|
public MTBSnakeEnergyCD_KassCurvature()
public MTBSnakeEnergyCD_KassCurvature(double _beta, MTBSnakeEnergyCD_KassCurvature_ParamAdapt _pUpd)
_beta
- Weighting factor for curvature 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 getInitBeta()
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 |