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

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.segmentation.activecontours.energies.MTBActiveContourEnergy_CVRegionFit
Direct Known Subclasses:
MTBLevelEnergyDerivable_CVRegionFit, MTBSnakeEnergyCD_CVRegionFit

public class MTBActiveContourEnergy_CVRegionFit
extends Object

Active contour energy implementing Chan-Vese region fitting.

This energy models the inner and outer regions of a single contour by a Gaussian model, i.e. each of the two regions is characterized by a mean intensity value, and deviations from this value are penalized. The energy is defined as follows:

%preamble{\usepackage{amssymb}}

Note that class 0 is interpreted as background while class 1 is taken as foreground or contour interior. If there are additional labels present in the given segmentation they are ignored.

Paper: Chan and Vese, Active Contours Without Edges, IEEE Transactions on Image Processing, vol. 10, no. 2, pp. 266-277, 2001.

Author:
moeller

Field Summary
protected  int[] areas
          Region sizes.
protected  MTBImage inImg
          Image to work on.
protected  double lambda_in
          Weighting factor for inner region fit.
protected  double lambda_out
          Weighting factor for outer region fit.
protected  double[] means
          Average intensities.
protected  double[] means_compl
          Average intensities of non-regions.
 
Constructor Summary
MTBActiveContourEnergy_CVRegionFit()
          Default constructor.
MTBActiveContourEnergy_CVRegionFit(MTBImage im, double lin, double lout)
          Default constructor with arguments.
 
Method Summary
protected  double calcEnergy(MTBSegmentationInterface seg)
          Calculates the absolute energy value for the given segmentation.
protected  double calcInteriorEnergy(MTBSegmentationInterface seg)
          Calculates the interior part of energy value for the given segmentation.
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.
protected  double getEnergyDerivativeMinVal()
          Returns the minimum possible derivative value this energy may yield.
protected  double[] getMeans()
          Returns the average region intensities last calculated.
protected  void init()
          Method to properly initialize instances of this class.
 String toString()
           
protected  void updateParameters(MTBSegmentationInterface mem)
          Updates parameters according to given membership.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

inImg

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


lambda_in

@ALDClassParameter(label="Interior Lambda",
                   mode=STANDARD,
                   dataIOOrder=-5)
protected double lambda_in
Weighting factor for inner region fit.


lambda_out

@ALDClassParameter(label="Exterior Lambda",
                   mode=STANDARD,
                   dataIOOrder=-4)
protected double lambda_out
Weighting factor for outer region fit.


areas

protected transient int[] areas
Region sizes.


means

protected transient double[] means
Average intensities.


means_compl

protected transient double[] means_compl
Average intensities of non-regions.

A non-region is the complement of a region with regarding the segmentation, i.e., subsumes all pixels belonging to any other region.

Constructor Detail

MTBActiveContourEnergy_CVRegionFit

public MTBActiveContourEnergy_CVRegionFit()
Default constructor.


MTBActiveContourEnergy_CVRegionFit

public MTBActiveContourEnergy_CVRegionFit(MTBImage im,
                                          double lin,
                                          double lout)
Default constructor with arguments.

Parameters:
im - Image to work on.
l_in - Weighting factor for inner region fit.
l_out - Weighting factor for outer region fit.
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

init

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

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

updateParameters

protected void updateParameters(MTBSegmentationInterface mem)
                         throws MTBActiveContourException
Updates parameters according to given membership.

Parameters:
mem - Current segmentation object.
Throws:
MTBActiveContourException

getDerivative

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


calcEnergy

protected double calcEnergy(MTBSegmentationInterface seg)
Calculates the absolute energy value for the given segmentation.

Parameters:
seg - Segmentation to consider.
Returns:
Absolute value of energy.

calcInteriorEnergy

protected double calcInteriorEnergy(MTBSegmentationInterface seg)
Calculates the interior part of energy value for the given segmentation.

Parameters:
seg - Segmentation to consider.
Returns:
Absolute value of interior energy.

getEnergyDerivativeMaxVal

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

Returns:
Maximal derivative value.

getEnergyDerivativeMinVal

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

Returns:
Minimal derivative value.

getMeans

protected double[] getMeans()
Returns the average region intensities last calculated.

Returns:
List of the regions' average intensity values.

toString

public String toString()
Overrides:
toString in class Object


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