Class AlgorithmQuinticLagrangian

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmQuinticLagrangian
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, 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 Details

    • 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 Details

    • AlgorithmQuinticLagrangian

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

    • 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