de.unihalle.informatik.MiToBo.segmentation.levelset.core
Class MTBSet_LevelEnergyDerivable

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.segmentation.levelset.core.MTBSet_LevelEnergyDerivable
All Implemented Interfaces:
MTBSet_ActiveContourEnergyDerivable

@ALDParametrizedClass
public class MTBSet_LevelEnergyDerivable
extends java.lang.Object
implements MTBSet_ActiveContourEnergyDerivable

Container data type for snake energies in PDE approaches.

Objects of this class contain a set of snake energies to be used in snake optimization. With each energy an individual weight is associated which allows application-dependent snake energy combinations. Per default the weights of all energies in the set are set to 1.0.

Important notice: in MiToBo there exists a specialized data I/O provider MTBSet_SnakeEnergyDerivableDataIOSwing for this class; however, the provider only supports graphical data I/O. Accordingly the class is also annotated as parametrized class to allow for using the generic parametrized class data I/O provider ALDParametrizedClassDataIOCmdline when using this class in the context of commandline user interfaces.

Author:
moeller

Field Summary
protected  MTBSetWeightedEnergy<MTBLevelsetEnergyDerivable> energySet
           
 
Constructor Summary
MTBSet_LevelEnergyDerivable()
          Default contructor for empty set.
MTBSet_LevelEnergyDerivable(java.util.Vector<MTBLevelsetEnergyDerivable> es)
          Constructor for a given vector of energies.
MTBSet_LevelEnergyDerivable(java.util.Vector<MTBLevelsetEnergyDerivable> es, java.util.Vector<java.lang.Double> ws)
          Constructor with energies and weights.
 
Method Summary
 void addEnergy(MTBLevelsetEnergyDerivable e)
          Append another energy to the list with default weight 1.0.
 void addEnergy(MTBLevelsetEnergyDerivable e, double w)
          Append another energy to the list.
 MTBLevelsetEnergyDerivable getEnergy(int i)
          Returns element i of the energy list.
 java.util.Vector<MTBLevelsetEnergyDerivable> getEnergyList()
           
 java.util.Vector<MTBActiveContourEnergyDerivable> getGenericEnergyList()
          Returns the list of energies.
 java.lang.Double getWeight(int i)
          Returns element i of the weight list.
 java.util.Vector<java.lang.Double> getWeights()
          Returns the list of weights.
 void setEnergyList(java.util.Vector<MTBActiveContourEnergyDerivable> es)
          Specify a new set of energies, all weights are reset to 1.0.
 void setWeights(java.util.Vector<java.lang.Double> ws)
          Specify new weights.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

energySet

protected MTBSetWeightedEnergy<MTBLevelsetEnergyDerivable> energySet
Constructor Detail

MTBSet_LevelEnergyDerivable

public MTBSet_LevelEnergyDerivable()
Default contructor for empty set.


MTBSet_LevelEnergyDerivable

public MTBSet_LevelEnergyDerivable(java.util.Vector<MTBLevelsetEnergyDerivable> es)
Constructor for a given vector of energies.

Parameters:
es - Vector with energies.

MTBSet_LevelEnergyDerivable

public MTBSet_LevelEnergyDerivable(java.util.Vector<MTBLevelsetEnergyDerivable> es,
                                   java.util.Vector<java.lang.Double> ws)
                            throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor with energies and weights.

Both vectors must have the same size, otherwise an exception is thrown.

Parameters:
es - Vector of energies.
ws - Vector of weights.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

addEnergy

public void addEnergy(MTBLevelsetEnergyDerivable e)
Append another energy to the list with default weight 1.0.

Parameters:
e - New energy to be appended.

addEnergy

public void addEnergy(MTBLevelsetEnergyDerivable e,
                      double w)
Append another energy to the list.

Parameters:
e - New energy.
w - Weight for the energy.

getEnergy

public MTBLevelsetEnergyDerivable getEnergy(int i)
Returns element i of the energy list.

Specified by:
getEnergy in interface MTBSet_ActiveContourEnergyDerivable
Parameters:
i - Index of energy to be returned.
Returns:
Requested energy object.

getEnergyList

public java.util.Vector<MTBLevelsetEnergyDerivable> getEnergyList()

getGenericEnergyList

public java.util.Vector<MTBActiveContourEnergyDerivable> getGenericEnergyList()
Returns the list of energies.

Specified by:
getGenericEnergyList in interface MTBSet_ActiveContourEnergyDerivable
Returns:
List of energies.

getWeight

public java.lang.Double getWeight(int i)
Returns element i of the weight list.

Specified by:
getWeight in interface MTBSet_ActiveContourEnergyDerivable
Parameters:
i - Index of requested weight.
Returns:
Requested element of weight list.

getWeights

public java.util.Vector<java.lang.Double> getWeights()
Returns the list of weights.

Specified by:
getWeights in interface MTBSet_ActiveContourEnergyDerivable
Returns:
List of current weights.

setEnergyList

public void setEnergyList(java.util.Vector<MTBActiveContourEnergyDerivable> es)
Specify a new set of energies, all weights are reset to 1.0.

Specified by:
setEnergyList in interface MTBSet_ActiveContourEnergyDerivable
Parameters:
es - New vector of energies.

setWeights

public void setWeights(java.util.Vector<java.lang.Double> ws)
Specify new weights.

Note that it is assumed that the size of the weight vector matches the size of the current energy set.

Specified by:
setWeights in interface MTBSet_ActiveContourEnergyDerivable
Parameters:
ws - List of energy weights.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object