Class AlgorithmQuinticLagrangian

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

    public class AlgorithmQuinticLagrangian
    extends AlgorithmBase
    This is a polynomial p of degree 5 which interpolates a given function f at the points x(-2), x(-1), x(0), x(1), x(2), and x(3) and is given by p(x) = sum from i = -2 to i = 3 of li(x)*f(xi), where li, i = -2,-1,0,1,2,3 which are called the fundamental polynomials, are given by li(x) = product from k = -2 to k = 3 for k != i of (x - xk)/(xi - xk). li(-2) = (x - -1)/(-2 - -1) * (x - 0)/(-2 - 0) * (x-1)/(-2 - 1) * (x-2)/(-2 - 2) * (x-3)/(-2 - 3) = (x * (x*x - 1) * (2 - x) * (x - 3))/120 li(-1) = (x - -2)/(-1 - -2) * (x - 0)/(-1 - 0)* (x-1)/(-1 - 1) * (x - 2)/(-1 - 2) * (x - 3)/(-1 - 3) = (x * (x*x - 4) * (x - 1) * (x - 3))/24 li(0) = (x - -2)/(0 - -2) * (x - -1)/(0 - -1) * (x - 1)/(0 - 1) (x - 2)/(0 - 2) * (x - 3)/(0 - 3) = ((x*x - 4) * (x*x - 1) * (3 - x))/12 li(1) = (x - -2)/(1 - -2) * (x - -1)/(1 - -1) * (x - 0)/(1 - 0) * (x - 2)/(1 - 2) * (x - 3)/(1 - 3) = (x * (x*x - 4) * (x+1) * (x-3))/12 li(2) = (x - -2)/(2 - -2) * (x - -1)/(2 - -1) * (x - 0)/(2 - 0) * (x - 1)/(2 - 1) * (x - 3)/(2 - 3) = (x * (x*x - 1) * (x+2) * (3 - x))/24 li(3) = (x - -2)/(3 - -2) * (x - -1)/(3 - -1) * (x - 0)/(3 - 0) * (x - 1)/(3 - 1) * (x - 2)/(3 - 2) = (x * (x*x - 1) (x*x - 4))/120
    • Field Detail

      • alphaMax

        private double alphaMax
        DOCUMENT ME!
      • alphaMin

        private double alphaMin
        DOCUMENT ME!
      • blueMax

        private double blueMax
        DOCUMENT ME!
      • blueMin

        private double blueMin
        DOCUMENT ME!
      • clip

        private boolean clip
        DOCUMENT ME!
      • greenMax

        private double greenMax
        DOCUMENT ME!
      • greenMin

        private double greenMin
        DOCUMENT ME!
      • inputMax

        private double inputMax
        DOCUMENT ME!
      • inputMin

        private double inputMin
        DOCUMENT ME!
      • redMax

        private double redMax
        DOCUMENT ME!
      • redMin

        private double redMin
        DOCUMENT ME!
      • sliceSize

        private int sliceSize
        DOCUMENT ME!
      • volume

        private double[] volume
        DOCUMENT ME!
      • wt

        private double[][] wt
        DOCUMENT ME!
      • xD

        private int xD
        DOCUMENT ME!
      • yD

        private int yD
        DOCUMENT ME!
      • zD

        private int zD
        DOCUMENT ME!
      • xdim

        private int xdim
        DOCUMENT ME!
      • ydim

        private int ydim
        DOCUMENT ME!
      • zdim

        private int zdim
        DOCUMENT ME!
    • Constructor Detail

      • AlgorithmQuinticLagrangian

        public AlgorithmQuinticLagrangian()
        AlgorithmQuinticLagrangian - default constructor.
    • Method Detail

      • finalize

        public void finalize()
        Calls garbage collector to release system resources.
        Overrides:
        finalize in class AlgorithmBase
      • quinticLagrangian2D

        public double quinticLagrangian2D​(double x,
                                          double y)
        2D quintic Lagrangian function.
        Parameters:
        x - double point index
        y - double point index
        Returns:
        the quintic Lagrangian interpolated data point
      • quinticLagrangian2DC

        public double[] quinticLagrangian2DC​(double x,
                                             double y)
        2D quintic Lagrangian function for color.
        Parameters:
        x - double point index
        y - double point index
        Returns:
        the quintic Lagrangian interpolated data point
      • quinticLagrangian3D

        public final double quinticLagrangian3D​(double x,
                                                double y,
                                                double z)
        3D quintic Lagrangian function.
        Parameters:
        x - double point index
        y - double point index
        z - double point index
        Returns:
        the quinticLagrangian3D interpolated data point
      • quinticLagrangian3DC

        public double[] quinticLagrangian3DC​(double x,
                                             double y,
                                             double z)
        3D quintic Lagrangian function for color (3 channel images).
        Parameters:
        x - double point index
        y - double point index
        z - double point index
        Returns:
        the quinticLagrangian3D interpolated data point
      • runAlgorithm

        public void runAlgorithm()
        run - default method that is not really appropiate for this class but must be defined because this class extends AlgorithmBase.
        Specified by:
        runAlgorithm in class AlgorithmBase
      • setup2DQuinticLagrangian

        public void setup2DQuinticLagrangian​(double[] vol,
                                             int[] extents,
                                             boolean clip)
        Setup 2D quinticLagrangian.
        Parameters:
        vol - volume comprising control points for the quintic Lagrangian
        extents - vol extents (xdim, ydim)
        clip - if true clip output to range of input image
      • setup2DQuinticLagrangianC

        public void setup2DQuinticLagrangianC​(double[] vol,
                                              int[] extents,
                                              float argbMax,
                                              boolean clip)
        Setup 2D quinticLagrangian for color.
        Parameters:
        vol - volume comprising control points for the quintic Lagrangian
        extents - vol extents (xdim, ydim)
        argbMax - maximum possible value of a color
        clip - if true clip output to range of input image
      • setup3DQuinticLagrangian

        public void setup3DQuinticLagrangian​(double[] vol,
                                             int[] extents,
                                             boolean clip)
        Setup 3D quintic Lagrangian.
        Parameters:
        vol - volume comprising control points for the quintic Lagrangian
        extents - vol extents (xdim, ydim, zdim)
        clip - if true clip output to range of input image
      • setup3DQuinticLagrangianC

        public void setup3DQuinticLagrangianC​(double[] vol,
                                              int[] extents,
                                              float argbMax,
                                              boolean clip)
        Setup 3D quintic Lagrangian for color.
        Parameters:
        vol - volume comprising control points for the quintic Lagrangian
        extents - vol extents (xdim, ydim, zdim)
        argbMax - maximum possible value of a color
        clip - if true clip output to range of input image