de.unihalle.informatik.MiToBo.segmentation.activecontours.energies
Class MTBActiveContourEnergy_MeanSep

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.segmentation.activecontours.energies.MTBActiveContourEnergy_MeanSep

@ALDParametrizedClass
public class MTBActiveContourEnergy_MeanSep
extends java.lang.Object

Active contour energy based on region mean separation.

This energy model tries to best separate the average intensity values of the inner and outer regions of a contour:

%resolution{200}
The Gataeux derivative is given by
%resolution{200}
For details refer to:

Yezzi, Tsai, Willsky, "A Fully Global Approach to Image Segmentation via Coupled Curve Evolution Equations", JVCIR, 13, 195-216 (2002)

Author:
moeller

Field Summary
protected  int[] areas
          Region sizes.
protected  int iDepth
          Depth of working image.
protected  int iHeight
          Height of working image.
protected  CalcSegmentationStatistics imgStatsOp
          Operator to calculate energy parameters.
protected  MTBImage inImg
          Image to work on.
protected  double inRange
          Dynamic range of image intensities.
protected  int iSize
          Total area/volume of working image.
protected  int iWidth
          Width of working image.
protected  double[] means
          Average intensities.
 
Constructor Summary
MTBActiveContourEnergy_MeanSep()
          Default constructor.
MTBActiveContourEnergy_MeanSep(MTBImage im)
          Default constructor with parameter.
 
Method Summary
protected  double getDerivative(MTBSegmentationInterface seg, int x, int y, int z)
          Returns the energy derivative value at position (x,y,z).
protected  double getEnergyDerivativeMaxVal()
          Returns the maximum possible derivative value this energy may yield.
 double getEnergyDerivativeMinVal()
          Returns the minimum possible derivative value this energy may yield.
protected  void init()
          Method to properly initialize instances of this class.
 java.lang.String toString()
           
protected  void updateParameters(MTBSegmentationInterface seg)
          Updates internal parameters according to given segmentation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

areas

protected transient int[] areas
Region sizes.


iDepth

protected transient int iDepth
Depth of working image.


iHeight

protected transient int iHeight
Height of working image.


imgStatsOp

protected transient CalcSegmentationStatistics imgStatsOp
Operator to calculate energy parameters.

Parameter are basically the region sizes and intensity averages.


inImg

@ALDClassParameter(label="Input Image",
                   mode=ADVANCED,
                   dataIOOrder=-10)
protected transient MTBImage inImg
Image to work on.


inRange

protected transient double inRange
Dynamic range of image intensities.


iSize

protected transient int iSize
Total area/volume of working image.


iWidth

protected transient int iWidth
Width of working image.


means

protected transient double[] means
Average intensities.

Constructor Detail

MTBActiveContourEnergy_MeanSep

public MTBActiveContourEnergy_MeanSep()
Default constructor.


MTBActiveContourEnergy_MeanSep

public MTBActiveContourEnergy_MeanSep(MTBImage im)
Default constructor with parameter.

Parameters:
im - Image to work on.
Method Detail

getDerivative

protected double getDerivative(MTBSegmentationInterface seg,
                               int x,
                               int y,
                               int z)
Returns the energy derivative value at position (x,y,z).


getEnergyDerivativeMaxVal

protected double getEnergyDerivativeMaxVal()
Returns the maximum possible derivative value this energy may yield.

Returns:
Maximal derivative value.

getEnergyDerivativeMinVal

public double getEnergyDerivativeMinVal()
Returns the minimum possible derivative value this energy may yield.

Returns:
Minimal derivative value.

init

protected void init()
             throws MTBActiveContourException
Method to properly initialize instances of this class.

Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
MTBActiveContourException

toString

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

updateParameters

protected void updateParameters(MTBSegmentationInterface seg)
                         throws MTBActiveContourException
Updates internal parameters according to given segmentation.

Parameters:
seg - Current segmentation.
Throws:
MTBActiveContourException