Class AlgorithmActiveContoursWithoutEdges

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.WindowListener, java.lang.Runnable, java.util.EventListener

    public class AlgorithmActiveContoursWithoutEdges
    extends AlgorithmBase
    • Field Detail

      • user

        private static final int user
        Copyright (c) 2009, Yue Wu All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % Active contour with Chen-Vese Method % for image segementation % % Implemented by Yue Wu (yue.wu@tufts.edu) % Tufts University % Feb 2009 % http://sites.google.com/site/rexstribeofimageprocessing/ % % all rights reserved % Last update 02/26/2009 % Description: This code implements the paper: "Active Contours Without % Edges" by Chan and Vese for method 'chen', the paper:"Active Contours Without % Edges for vector image" by Chan and Vese for method 'vector', and the paper % "A Multiphase Level Set Framework for Image Segmentation Using the % Mumford and Shah Model" by Chan and Vese. This is a port to Java of the MATLAB code in chenvese.m and supporting MATLAB files written by Yue Wu. References: 1.) Active Contours Without Edges by Tony F. Chan and Luminita A. Vese, IEEE Transactions on Image Processing, Vol. 10, No. 2, February, 2001, pp. 266- 277. 2.) Active Contours Without Edges for Vector-Valued Images by Tony F. Chan, B. Yezrielev, and Luminita A. Vese, Journal of Visual Communication and Image Representation, 11, 2000, pp. 130-141. 3.) A Multiphase Level Set Framework for Image Segmentation Using the Mumford and Shah Model by Tony F. Chan and Luminita A. Vese, International Journal of Computer Vision, 50(3), 2002, pp. 271-293.
        See Also:
        Constant Field Values
      • maskType

        private int maskType
      • numIter

        private int numIter
      • mu

        private double mu
      • method

        private int method
      • epsilon

        private double epsilon
    • Constructor Detail

      • AlgorithmActiveContoursWithoutEdges

        public AlgorithmActiveContoursWithoutEdges​(ModelImage destImg,
                                                   ModelImage srcImg,
                                                   int maskType,
                                                   int numIter,
                                                   double mu,
                                                   int method)
    • Method Detail

      • runAlgorithm

        public void runAlgorithm()
        Description copied from class: AlgorithmBase
        Actually runs the algorithm. Implemented by inheriting algorithms.
        Specified by:
        runAlgorithm in class AlgorithmBase
      • reinitialization

        private void reinitialization​(double[] D,
                                      double dt,
                                      int xDim)
      • checkstop

        private boolean checkstop​(double[][] old,
                                  double[][] neww,
                                  double dt)
      • checkstop

        private boolean checkstop​(double[] old,
                                  double[] neww,
                                  double dt)
      • Heaviside

        private double[] Heaviside​(double[] z)
      • kappa

        private double[] kappa​(double[] I,
                               int xDim)