de.unihalle.informatik.MiToBo.segmentation.levelset.core.energies.derivable
Interface MTBLevelsetEnergyDerivable

All Superinterfaces:
MTBActiveContourEnergy, MTBActiveContourEnergyDerivable
All Known Implementing Classes:
MTBLevelEnergyDerivable_Area, MTBLevelEnergyDerivable_CVRegionFit, MTBLevelEnergyDerivable_Length

@ALDParametrizedClass
public interface MTBLevelsetEnergyDerivable
extends MTBActiveContourEnergyDerivable

Interface specifying level set energies to be used with techniques of the calculus of variations.

In general energies implementing this interface are required to allow for calculation of partial derivatives at given positions.

Author:
Martin Scharm, Birgit Moeller

Method Summary
 double getDerivative(MTBLevelsetFunctionDerivable phi, int x, int y, int z)
          Get the energy derivative value, i.e. velocity, for position (x,y,z).
 double getDerivativeWithoutDelta(MTBLevelsetFunctionDerivable phi, int x, int y, int z)
          Get the energy derivative value, i.e. velocity, for position (x,y,z).
 boolean initEnergy(LevelsetSolverDerivatives solver)
          Initializes the energy object according to given solver settings.
 void updateStatus(MTBLevelsetFunctionDerivable phi)
          Function which updates the internal status of the energy.
 void useHeavideApproximation(boolean flag)
          Enable or disable approximation of Heaviside function.
 String validate()
          Function to validate configuration of energy object.
 

Method Detail

initEnergy

boolean initEnergy(LevelsetSolverDerivatives solver)
                   throws MTBLevelsetException
Initializes the energy object according to given solver settings.

Parameters:
solver - Reference to solver which uses this energy.
Returns:
True, if initialization was successful.
Throws:
MTBLevelsetException

validate

String validate()
Function to validate configuration of energy object.

Returns:
If null, everything is ok, otherwise an error message.

updateStatus

void updateStatus(MTBLevelsetFunctionDerivable phi)
                  throws MTBLevelsetException
Function which updates the internal status of the energy.

Parameters:
phi - Current level set function.
Throws:
MTBLevelsetException

getDerivative

double getDerivative(MTBLevelsetFunctionDerivable phi,
                     int x,
                     int y,
                     int z)
Get the energy derivative value, i.e. velocity, for position (x,y,z).

Parameters:
phi - Level set function.
x - x coordinate of requested position.
y - y coordinate of requested position.
z - z coordinate of requested position.
Returns:
Derivative value at given location.

getDerivativeWithoutDelta

double getDerivativeWithoutDelta(MTBLevelsetFunctionDerivable phi,
                                 int x,
                                 int y,
                                 int z)
Get the energy derivative value, i.e. velocity, for position (x,y,z).

Here the value of the Dirac impulse function is ignored (if present).

Parameters:
phi - Level set function.
x - x coordinate of requested position.
y - y coordinate of requested position.
z - z coordinate of requested position.
Returns:
Derivative value without Dirac factor at given location.

useHeavideApproximation

void useHeavideApproximation(boolean flag)
Enable or disable approximation of Heaviside function.

Parameters:
flag - If true, approximation is enabled, otherwise disabled.


Copyright © 2010–2015 Martin Luther University Halle-Wittenberg. All rights reserved.