Package gov.nih.mipav.model.algorithms
Class SchwarzChristoffelMapping2
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.SchwarzChristoffelMapping2
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class SchwarzChristoffelMapping2 extends AlgorithmBase
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
SchwarzChristoffelMapping2.hppfun
(package private) class
SchwarzChristoffelMapping2.ODEHPModel
(package private) class
SchwarzChristoffelMapping2.ODESTModel
(package private) class
SchwarzChristoffelMapping2.stpfun
(package private) class
SchwarzChristoffelMapping2.stpfun2
(package private) class
SchwarzChristoffelMapping2.stpfun3
(package private) class
SchwarzChristoffelMapping2.stpfunEP
-
Field Summary
Fields Modifier and Type Field Description private double
eps
private SchwarzChristoffelMapping
scm
private boolean
testRoutine
private double
tolerance
private double[][]
w
-
Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStopped
-
-
Constructor Summary
Constructors Constructor Description SchwarzChristoffelMapping2()
SchwarzChristoffelMapping2(ModelImage destImg, ModelImage srcImg, double[][] w)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private SchwarzChristoffelMapping.polygon
forwardpoly(SchwarzChristoffelMapping.scmap map)
private double
hpaccuracy(SchwarzChristoffelMapping.scmap M)
private double[][]
hpderiv(double[][] zp, double[][] z, double[] beta, double[] c)
private void
hpevalinv(double[][] zp, SchwarzChristoffelMapping.scmap M, double[][] wp)
private void
hpinvmap(double[][] zp, double[][] wp, double[][] w, double[] beta, double[][] z, double[] c, double[][] qdat, double[][] z0, boolean ode, boolean newton, double tol, int maxiter)
SchwarzChristoffelMapping.scmap
hplmap(SchwarzChristoffelMapping.polygon poly, double[][] zin, double[] alphain, double[] c)
void
hplot(SchwarzChristoffelMapping.scmap M, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
private void
hpparam(double[][] z, double[] c, double[][] qdat, double[][] w, double[] beta, double[] z0, double tol)
void
hpplot(double[][] w, double[] beta, double[][] z, double[] c, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
void
runAlgorithm()
Actually runs the algorithm.DoubleDouble
sign(DoubleDouble d)
private DoubleDouble[][]
stderivEP(DoubleDouble[][] zp, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[] c, int j)
private double[][]
stinvmap(double[][] wp, double[][] w, double[] beta, double[][] z, double[] c, double[][] qdat, double[][] z0, boolean ode, boolean newton, double tol, int maxiter)
private void
stparam(double[][] z, double[] c, double[][] qdat, double[][] w, double[] beta, int[] ends, double[][] z0, double tol)
void
stplot(double[][] w, double[] beta, double[][] z, double[] c, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
private DoubleDouble[][]
stquadEP(DoubleDouble[][] z1, DoubleDouble[][] z2, int[] sing1, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[][] qdat)
private DoubleDouble[][]
stquadhEP(DoubleDouble[][] z1, DoubleDouble[][] z2, int[] sing1, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[][] qdat)
private double
stripAccuracy(SchwarzChristoffelMapping.scmap M)
private double[][]
stripeval(SchwarzChristoffelMapping.scmap M, double[][] zp)
private double[][]
stripevalinv(SchwarzChristoffelMapping.scmap M, double[][] wp, double[][] z0)
private SchwarzChristoffelMapping.scmap
stripmap(SchwarzChristoffelMapping.polygon poly, int[] endidx)
void
stripplot(SchwarzChristoffelMapping.scmap M, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
private void
testHplmap1()
private void
testHplmap2()
private void
testHplmap3()
private void
testStripmap1()
private void
testStripmap2()
private DoubleDouble
zabs(DoubleDouble zr, DoubleDouble zi)
zabs computes the absolute value or magnitude of a DoubleDouble precision complex variable zr + j*zi.private void
zdiv(DoubleDouble ar, DoubleDouble ai, DoubleDouble br, DoubleDouble bi, DoubleDouble[] cr, DoubleDouble[] ci)
complex divide c = a/b.private void
zmlt(DoubleDouble ar, DoubleDouble ai, DoubleDouble br, DoubleDouble bi, DoubleDouble[] cr, DoubleDouble[] ci)
complex multiply c = a * b.-
Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, finalize, 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, windowOpened
-
Methods 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, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
tolerance
private double tolerance
-
eps
private double eps
-
w
private double[][] w
-
testRoutine
private boolean testRoutine
-
scm
private SchwarzChristoffelMapping scm
-
-
Constructor Detail
-
SchwarzChristoffelMapping2
public SchwarzChristoffelMapping2()
-
SchwarzChristoffelMapping2
public SchwarzChristoffelMapping2(ModelImage destImg, ModelImage srcImg, double[][] w)
-
-
Method Detail
-
runAlgorithm
public void runAlgorithm()
Description copied from class:AlgorithmBase
Actually runs the algorithm. Implemented by inheriting algorithms.- Specified by:
runAlgorithm
in classAlgorithmBase
-
testHplmap1
private void testHplmap1()
-
testHplmap2
private void testHplmap2()
-
testHplmap3
private void testHplmap3()
-
testStripmap1
private void testStripmap1()
-
testStripmap2
private void testStripmap2()
-
stripmap
private SchwarzChristoffelMapping.scmap stripmap(SchwarzChristoffelMapping.polygon poly, int[] endidx)
-
stripAccuracy
private double stripAccuracy(SchwarzChristoffelMapping.scmap M)
-
stparam
private void stparam(double[][] z, double[] c, double[][] qdat, double[][] w, double[] beta, int[] ends, double[][] z0, double tol)
-
stripeval
private double[][] stripeval(SchwarzChristoffelMapping.scmap M, double[][] zp)
-
stripevalinv
private double[][] stripevalinv(SchwarzChristoffelMapping.scmap M, double[][] wp, double[][] z0)
-
stinvmap
private double[][] stinvmap(double[][] wp, double[][] w, double[] beta, double[][] z, double[] c, double[][] qdat, double[][] z0, boolean ode, boolean newton, double tol, int maxiter)
-
hpevalinv
private void hpevalinv(double[][] zp, SchwarzChristoffelMapping.scmap M, double[][] wp)
-
hpinvmap
private void hpinvmap(double[][] zp, double[][] wp, double[][] w, double[] beta, double[][] z, double[] c, double[][] qdat, double[][] z0, boolean ode, boolean newton, double tol, int maxiter)
-
hpderiv
private double[][] hpderiv(double[][] zp, double[][] z, double[] beta, double[] c)
-
stripplot
public void stripplot(SchwarzChristoffelMapping.scmap M, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
-
stplot
public void stplot(double[][] w, double[] beta, double[][] z, double[] c, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
-
hplot
public void hplot(SchwarzChristoffelMapping.scmap M, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
-
hpplot
public void hpplot(double[][] w, double[] beta, double[][] z, double[] c, double[] re, double[] im, int yInvert, boolean closed, double[] axis)
-
hplmap
public SchwarzChristoffelMapping.scmap hplmap(SchwarzChristoffelMapping.polygon poly, double[][] zin, double[] alphain, double[] c)
-
forwardpoly
private SchwarzChristoffelMapping.polygon forwardpoly(SchwarzChristoffelMapping.scmap map)
-
hpaccuracy
private double hpaccuracy(SchwarzChristoffelMapping.scmap M)
-
hpparam
private void hpparam(double[][] z, double[] c, double[][] qdat, double[][] w, double[] beta, double[] z0, double tol)
-
sign
public DoubleDouble sign(DoubleDouble d)
-
zabs
private DoubleDouble zabs(DoubleDouble zr, DoubleDouble zi)
zabs computes the absolute value or magnitude of a DoubleDouble precision complex variable zr + j*zi.- Parameters:
zr
- DoubleDoublezi
- DoubleDouble- Returns:
- DoubleDouble
-
zmlt
private void zmlt(DoubleDouble ar, DoubleDouble ai, DoubleDouble br, DoubleDouble bi, DoubleDouble[] cr, DoubleDouble[] ci)
complex multiply c = a * b.- Parameters:
ar
- DoubleDoubleai
- DoubleDoublebr
- DoubleDoublebi
- DoubleDoublecr
- DoubleDouble[]ci
- DoubleDouble[]
-
zdiv
private void zdiv(DoubleDouble ar, DoubleDouble ai, DoubleDouble br, DoubleDouble bi, DoubleDouble[] cr, DoubleDouble[] ci)
complex divide c = a/b.- Parameters:
ar
- DoubleDoubleai
- DoubleDoublebr
- DoubleDoublebi
- DoubleDoublecr
- DoubleDouble[]ci
- DoubleDouble[]
-
stquadhEP
private DoubleDouble[][] stquadhEP(DoubleDouble[][] z1, DoubleDouble[][] z2, int[] sing1, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[][] qdat)
-
stquadEP
private DoubleDouble[][] stquadEP(DoubleDouble[][] z1, DoubleDouble[][] z2, int[] sing1, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[][] qdat)
-
stderivEP
private DoubleDouble[][] stderivEP(DoubleDouble[][] zp, DoubleDouble[][] z, DoubleDouble[] beta, DoubleDouble[] c, int j)
-
-