de.unihalle.informatik.MiToBo.segmentation.levelset.nonPDE
Class MTBMeijeringFittingEnergyNonPDE

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.segmentation.levelset.nonPDE.MTBGenericEnergyNonPDE
      extended by de.unihalle.informatik.MiToBo.segmentation.levelset.nonPDE.MTBMeijeringFittingEnergyNonPDE

@ALDDerivedClass
public class MTBMeijeringFittingEnergyNonPDE
extends MTBGenericEnergyNonPDE

class that implements the energy functional from O. Dzyubachyk, W. Niessen and E. Meijering, "A VARIATIONAL MODEL FOR LEVEL-SET BASED CELL TRACKING IN TIME-LAPSE FLUORESCENCE MICROSCOPY IMAGES", ISBI, 2007

Author:
glass

Field Summary
private  MTBImage img
          Image to be segmented
private  double[] mean
           
private  int numPhases
           
private  int sizeX
           
private  int sizeY
           
private  int sizeZ
           
private  double[] var
           
 
Fields inherited from class de.unihalle.informatik.MiToBo.segmentation.levelset.nonPDE.MTBGenericEnergyNonPDE
debug, name
 
Constructor Summary
MTBMeijeringFittingEnergyNonPDE()
          constructor
MTBMeijeringFittingEnergyNonPDE(MTBImage img, MTBLevelsetMembership phi)
          constructor
 
Method Summary
 double deltaE(int x, int y, int z, byte newPhase, MTBLevelsetMembership phi)
          Calculate differences of energy if the pixel/voxel (x,y,z) is changed from its current phase in the level set function phi supplied from current phase to newPhase.
 double E(MTBLevelsetMembership phi)
          Return the complete energy for the level set function phi.
protected  void estimateParams(MTBLevelsetMembership phi)
          Estimate internal parameters (if any) for the level set function phi assumed to be associated with this energy object.
 MTBGenericEnergyNonPDE init(MTBImage img, MTBLevelsetMembership phi)
          Initialize the energy object.
 void print(MTBLevelsetMembership phi, java.io.PrintStream out, java.lang.String indent)
          Print this energy object - including the value of the energy for phi assumed to be associated with this energy object.
 java.lang.String toString()
          Return an ascii representation identifying the energy and internal parameters, but not the state.
 void updateParams(int x, int y, int z, byte newPhase, MTBLevelsetMembership phi)
          Update parameters (if any) of the energy object which depend on the associated level set function.
 
Methods inherited from class de.unihalle.informatik.MiToBo.segmentation.levelset.nonPDE.MTBGenericEnergyNonPDE
deltaE, getNewIndent, setDebug, updateParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

img

@ALDClassParameter(label="Input image")
private MTBImage img
Image to be segmented


mean

private double[] mean

numPhases

private int numPhases

sizeX

private int sizeX

sizeY

private int sizeY

sizeZ

private int sizeZ

var

private double[] var
Constructor Detail

MTBMeijeringFittingEnergyNonPDE

public MTBMeijeringFittingEnergyNonPDE()
constructor


MTBMeijeringFittingEnergyNonPDE

public MTBMeijeringFittingEnergyNonPDE(MTBImage img,
                                       MTBLevelsetMembership phi)
constructor

Parameters:
img -
phi -
Method Detail

deltaE

public double deltaE(int x,
                     int y,
                     int z,
                     byte newPhase,
                     MTBLevelsetMembership phi)
Description copied from class: MTBGenericEnergyNonPDE
Calculate differences of energy if the pixel/voxel (x,y,z) is changed from its current phase in the level set function phi supplied from current phase to newPhase.

Specified by:
deltaE in class MTBGenericEnergyNonPDE
newPhase - new phase to change the pixel/voxel to
phi - level set function assumed to be associated with this energy object
Returns:
difference of energy

E

public double E(MTBLevelsetMembership phi)
Description copied from class: MTBGenericEnergyNonPDE
Return the complete energy for the level set function phi.
Note: this may be an expensive operation.

Specified by:
E in class MTBGenericEnergyNonPDE
Parameters:
phi - level set function assumed to be associated with this energy object
Returns:
energy

estimateParams

protected void estimateParams(MTBLevelsetMembership phi)
Description copied from class: MTBGenericEnergyNonPDE
Estimate internal parameters (if any) for the level set function phi assumed to be associated with this energy object.

Overrides:
estimateParams in class MTBGenericEnergyNonPDE

init

public MTBGenericEnergyNonPDE init(MTBImage img,
                                   MTBLevelsetMembership phi)
Initialize the energy object.

NOTE: The image provided as argument to this method is only associated with the energy object, if not already set!! This rational behind this is to allow the energy to be supplied generically with the input image and while it is still possible to set an image deviating from this default.

Overrides:
init in class MTBGenericEnergyNonPDE
Parameters:
img - Image to be segmented
phi - Level set function to construct the energy object for
Returns:
The modified or a new energy if initialization was successful, otherwise null.

print

public void print(MTBLevelsetMembership phi,
                  java.io.PrintStream out,
                  java.lang.String indent)
Description copied from class: MTBGenericEnergyNonPDE
Print this energy object - including the value of the energy for phi assumed to be associated with this energy object. Each line output is prefixed with the string indent. Note: this may be an expensive operation.

Overrides:
print in class MTBGenericEnergyNonPDE
Parameters:
phi - level set function assumed to be associated with this energy object
out - stream to print to
indent - indentation string

toString

public java.lang.String toString()
Description copied from class: MTBGenericEnergyNonPDE
Return an ascii representation identifying the energy and internal parameters, but not the state.

Specified by:
toString in class MTBGenericEnergyNonPDE

updateParams

public void updateParams(int x,
                         int y,
                         int z,
                         byte newPhase,
                         MTBLevelsetMembership phi)
Description copied from class: MTBGenericEnergyNonPDE
Update parameters (if any) of the energy object which depend on the associated level set function.

This method is called to update the parameters if is is intended to change the phase of a pixel/voxel to newPhase.

Note: The level set function phi is still in the old state and is assumed to be to updated subsequently.

Overrides:
updateParams in class MTBGenericEnergyNonPDE
newPhase - new phase to change pixel/voxel to
phi - assumed to be associated with this energy object