Package gov.nih.mipav.model.algorithms
Class AlgorithmWSinc
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmWSinc
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
Sinc function windowed with Hanning window function used for interpolation This function will create images with
greater maximums and lower minimums than the original image, so if the input image type is BYTE or UBYTE, the output
image type should be a SHORT. Notice that clamping to 0 and 255 is used with ARGB images.
This is an example of a cardinal basis function. The cardinal basis function centered at a given original grid point is the definition of how an image that is 1 at that grid point and 0 at all others is to be interpolated into intermediate points. The final image is then constructed by adding together all the basis functions from each original grid point, each one scaled by the intensity at its original grid point. Since a cardinal basis function is zero at all other original grid points except the one at which it is based, interpolation that falls exactly onto an original grid point will always preserve the original value.
-
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 intDOCUMENT ME!private intDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private intDOCUMENT ME!private double[]Global variables.private double[]DOCUMENT 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 TypeMethodDescriptionvoidfinalize()finalize -voidDefault method that is not really appropiate for this class but must be defined because this class extends AlgorithmBase.voidsetup2DWSinc(double[] vol, int[] extents, boolean clip) Setup 2D wSinc.voidsetup2DWSinc(double[] vol, int[] extents, int[] range, boolean clip) Setup 2D wSinc.voidsetup2DWSincC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 2D wSinc for coor image.voidsetup3DWSinc(double[] vol, int[] extents, boolean clip) Setup 3D wSinc.voidsetup3DWSinc(double[] vol, int[] extents, int[] range, boolean clip) Setup 3D wSinc.voidsetup3DWSincC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 3D wSinc for color.doublewSinc2D(double x, double y) 2D windowed sinc function.double[]wSinc2DC(double x, double y) 2D windowed sinc function for color.final doublewSinc3D(double x, double y, double z) 3D windowed sinc function.double[]wSinc3DC(double x, double y, double z) 3D windowed sinc function for color (3 channel images).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! -
rX
private int rXDOCUMENT ME! -
rY
private int rYDOCUMENT ME! -
rZ
private int rZDOCUMENT ME! -
scaleX
private double scaleXDOCUMENT ME! -
scaleY
private double scaleYDOCUMENT ME! -
scaleZ
private double scaleZDOCUMENT ME! -
sliceSize
private int sliceSizeDOCUMENT ME! -
volume
private double[] volumeGlobal variables. -
wSincXT
private double[] wSincXTDOCUMENT ME! -
wSincYT
private double[] wSincYTDOCUMENT ME! -
wSincZT
private double[] wSincZTDOCUMENT 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
-
AlgorithmWSinc
public AlgorithmWSinc()AlgorithmWSinc - default constructor.
-
-
Method Details
-
finalize
public void finalize()finalize -- 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
-
setup2DWSinc
public void setup2DWSinc(double[] vol, int[] extents, boolean clip) Setup 2D wSinc.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim)clip- if true clip output to range of input image
-
setup2DWSinc
public void setup2DWSinc(double[] vol, int[] extents, int[] range, boolean clip) Setup 2D wSinc.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim)range- determines number of pixels used along each axisclip- if true clip output to range of input image
-
setup2DWSincC
public void setup2DWSincC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 2D wSinc for coor image.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim)argbMax- maximum possible color valueclip- if true clip output to range of input image
-
setup3DWSinc
public void setup3DWSinc(double[] vol, int[] extents, boolean clip) Setup 3D wSinc.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim, zdim)clip- if true clip output to range of input image
-
setup3DWSinc
public void setup3DWSinc(double[] vol, int[] extents, int[] range, boolean clip) Setup 3D wSinc.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim, zdim)range- determines number of pixels used along each axisclip- if true clip output to range of input image
-
setup3DWSincC
public void setup3DWSincC(double[] vol, int[] extents, float argbMax, boolean clip) Setup 3D wSinc for color.- Parameters:
vol- volume comprising control points for the wSincextents- vol extents (xdim, ydim, zdim)argbMax- maximum possible color valueclip- if true clip output to range of input image
-
wSinc2D
public double wSinc2D(double x, double y) 2D windowed sinc function.- Parameters:
x- double point indexy- double point index- Returns:
- the wSinc2D interpolated data point
-
wSinc2DC
public double[] wSinc2DC(double x, double y) 2D windowed sinc function for color.- Parameters:
x- double point indexy- double point index- Returns:
- the wSinc2D interpolated data point
-
wSinc3D
public final double wSinc3D(double x, double y, double z) 3D windowed sinc function.- Parameters:
x- double point indexy- double point indexz- double point index- Returns:
- the wSinc3D interpolated data point
-
wSinc3DC
public double[] wSinc3DC(double x, double y, double z) 3D windowed sinc function for color (3 channel images).- Parameters:
x- double point indexy- double point indexz- double point index- Returns:
- the wSinc3D interpolated data point
-