Package gov.nih.mipav.model.algorithms
Class AlgorithmCubicLagrangian
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmCubicLagrangian
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
This is a polynomial p of degree 3 which interpolates a given function f at the points x(-1), x(0), x(1), and x(2),
and is given by p(x) = sum from i = -1 to i = 2 of li(x)*f(xi), where li, i = -1,0,1,2, which are called the
fundamental polynomials, are given by li(x) = product from k = -1 to k = 2 for k != i of (x - xk)/(xi - xk). li(-1) =
(x - 0)/(-1 - 0) * (x - 1)/(-1 - 1) * (x - 2)/(-1 - 2) = (x * (1-x) * (x-2))/6 li(0) = (x - -1)/(0 - -1) * (x - 1)/(0
- 1) * (x - 2)/(0 - 2) = ((x+1) * (x-1) * (x-2))*0.5 li(1) = (x - -1)/(1 - -1) * (x - 0)/(1 - 0) * (x - 2)/(1 - 2) =
(x * (x+1) * (2-x))*0.5 li(2) = (x - -1)/(2 - -1) * (x - 0)/(2 - 0) * (x - 1)/(2 - 1) = (x * (x+1) * (x-1))/6
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private booleanDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private intDOCUMENT ME!private double[]DOCUMENT ME!private double[][]DOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStoppedFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecubicLagrangian2D(double x, double y) 2D cubic Lagrangian function.double[]cubicLagrangian2DC(double x, double y) 2D cubic Lagrangian function for color.final doublecubicLagrangian3D(double x, double y, double z) 3D cubic Lagrangian function.double[]cubicLagrangian3DC(double x, double y, double z) 3D cubic Lagrangian function for color (3 channel images).voidfinalize()Calls garbage collector to release system resources.voiddefault method that is not really appropiate for this class but must be defined because this class extends AlgorithmBase.voidsetup2DCubicLagrangian(double[] vol, int[] extents, boolean clip) Setup 2D cubicLagrangian.voidsetup2DCubicLagrangianC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 2D cubicLagrangian for color.voidsetup3DCubicLagrangian(double[] vol, int[] extents, boolean clip) Setup 3D cubic Lagrangian.voidsetup3DCubicLagrangianC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 3D cubic Lagrangian for color.Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, generateProgressValues, getDestImage, getElapsedTime, getMask, getMaxProgressValue, getMinProgressValue, getNumberOfThreads, getProgress, getProgressChangeListener, getProgressChangeListeners, getProgressModulus, getProgressStep, getProgressValues, getSrcImage, isCompleted, isImage25D, isMultiThreadingEnabled, isRunningInSeparateThread, isThreadStopped, linkProgressToAlgorithm, linkProgressToAlgorithm, makeProgress, notifyListeners, removeListener, removeProgressChangeListener, run, setCompleted, setImage25D, setMask, setMaxProgressValue, setMinProgressValue, setMultiThreadingEnabled, setNumberOfThreads, setProgress, setProgressModulus, setProgressStep, setProgressValues, setProgressValues, setRunningInSeparateThread, setSrcImage, setStartTime, setThreadStopped, startMethod, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpenedMethods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
alphaMax
private double alphaMaxDOCUMENT ME! -
alphaMin
private double alphaMinDOCUMENT ME! -
blueMax
private double blueMaxDOCUMENT ME! -
blueMin
private double blueMinDOCUMENT ME! -
clip
private boolean clipDOCUMENT ME! -
greenMax
private double greenMaxDOCUMENT ME! -
greenMin
private double greenMinDOCUMENT ME! -
inputMax
private double inputMaxDOCUMENT ME! -
inputMin
private double inputMinDOCUMENT ME! -
redMax
private double redMaxDOCUMENT ME! -
redMin
private double redMinDOCUMENT ME! -
sliceSize
private int sliceSizeDOCUMENT ME! -
volume
private double[] volumeDOCUMENT ME! -
wt
private double[][] wtDOCUMENT ME! -
xD
private int xDDOCUMENT ME! -
yD
private int yDDOCUMENT ME! -
zD
private int zDDOCUMENT ME! -
xdim
private int xdimDOCUMENT ME! -
ydim
private int ydimDOCUMENT ME! -
zdim
private int zdimDOCUMENT ME!
-
-
Constructor Details
-
AlgorithmCubicLagrangian
public AlgorithmCubicLagrangian()AlgorithmCubicLagrangian - default constructor.
-
-
Method Details
-
cubicLagrangian2D
public double cubicLagrangian2D(double x, double y) 2D cubic Lagrangian function.- Parameters:
x- double point indexy- double point index- Returns:
- the cubic Lagrangian interpolated data point
-
cubicLagrangian2DC
public double[] cubicLagrangian2DC(double x, double y) 2D cubic Lagrangian function for color.- Parameters:
x- double point indexy- double point index- Returns:
- the cubic Lagrangian interpolated data point
-
cubicLagrangian3D
public final double cubicLagrangian3D(double x, double y, double z) 3D cubic Lagrangian function.- Parameters:
x- double point indexy- double point indexz- double point index- Returns:
- the cubicLagrangian3D interpolated data point
-
cubicLagrangian3DC
public double[] cubicLagrangian3DC(double x, double y, double z) 3D cubic Lagrangian function for color (3 channel images).- Parameters:
x- double point indexy- double point indexz- double point index- Returns:
- the cubicLagrangian3D interpolated data point
-
finalize
public void finalize()Calls garbage collector to release system resources.- Overrides:
finalizein classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()default method that is not really appropiate for this class but must be defined because this class extends AlgorithmBase.- Specified by:
runAlgorithmin classAlgorithmBase
-
setup2DCubicLagrangian
public void setup2DCubicLagrangian(double[] vol, int[] extents, boolean clip) Setup 2D cubicLagrangian.- Parameters:
vol- volume comprising control points for the cubic Lagrangianextents- vol extents (xdim, ydim)clip- if true clip output to range of input image
-
setup2DCubicLagrangianC
public void setup2DCubicLagrangianC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 2D cubicLagrangian for color.- Parameters:
vol- volume comprising control points for the cubic Lagrangianextents- vol extents (xdim, ydim)argbMax- maximum possible value of a colorclip- if true clip output to range of input image
-
setup3DCubicLagrangian
public void setup3DCubicLagrangian(double[] vol, int[] extents, boolean clip) Setup 3D cubic Lagrangian.- Parameters:
vol- volume comprising control points for the cubic Lagrangianextents- vol extents (xdim, ydim, zdim)clip- if true clip output to range of input image
-
setup3DCubicLagrangianC
public void setup3DCubicLagrangianC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 3D cubic Lagrangian for color.- Parameters:
vol- volume comprising control points for the cubic Lagrangianextents- vol extents (xdim, ydim, zdim)argbMax- maximum possible value for a colorclip- if true clip output to range of input image
-