Class AlgorithmRegVOILandmark
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.registration.AlgorithmRegVOILandmark
- All Implemented Interfaces:
de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables,ActionListener,WindowListener,Runnable,EventListener
public class AlgorithmRegVOILandmark
extends AlgorithmBase
implements de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables
AlgorithmRegVOILandmark First slice is template (base image) to which subsequent slices are registered. Trace kidney
in 1st slice using polygon VOI. Minimize cost = -sum of Gradient magnitude under propagated ROI in match image
- Version:
- 1.0 June, 2000
- Author:
- Delia McGarry
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classCostFunction - class for specifying optimization function for AlgorithmSimplexOpt slice - current fluoroscopy slice being operated on.Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected floatDOCUMENT ME!protected intDOCUMENT ME!static final intDOCUMENT ME!private AlgorithmGradientMagnitudeDOCUMENT ME!protected float[]DOCUMENT ME!protected ModelImageDOCUMENT ME!private booleanprivate doubleDOCUMENT ME!static final intDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!static final intDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!protected intDOCUMENT ME!private float[]private intDOCUMENT ME!static final intDOCUMENT ME!protected intDOCUMENT ME!private doubleDOCUMENT ME!protected intDOCUMENT ME!protected intDOCUMENT ME!protected VOIBasepositions (x,y) of VOI in first sliceprotected intDOCUMENT ME!protected ModelImageDOCUMENT ME!protected intDOCUMENT ME!protected 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
ConstructorsConstructorDescriptionAlgorithmRegVOILandmark(ModelImage volume, ModelImage gradMagVol, float[] sigmas, boolean maskFlag, VOIBase position, double minTx, double maxTx, double minTy, double maxTy, double minRz, double maxRz, double step, int opt, int costFunc) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondoubleeval(double[] x) private voidexhaustiveSearch(double[] p, AlgorithmRegVOILandmark.CostFunction func) Exhaustive search for global minimum.voidfinalize()finalize - prepares this class for destruction.intprotected TransMatrixgetTransform(double[] x) Converts row of p into 3x3 matrix.voidStarts the program.private voidsearch()Search.private voidtransformSlice(int slice, TransMatrix xfrm, float[] imgBuf, float[] tImgBuf, WildMagic.LibFoundation.Mathematics.Vector3f center) Transforms a slice.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
-
SIMPLEXOPT
public static final int SIMPLEXOPTDOCUMENT ME!- See Also:
-
EXHAUSTIVEOPT
public static final int EXHAUSTIVEOPTDOCUMENT ME!- See Also:
-
MINDIFF
public static final int MINDIFFDOCUMENT ME!- See Also:
-
MAXSUM
public static final int MAXSUMDOCUMENT ME!- See Also:
-
baseVOIGradMagSum
protected float baseVOIGradMagSumDOCUMENT ME! -
gradientMagAlgo
DOCUMENT ME! -
gradMagBuf
protected float[] gradMagBufDOCUMENT ME! -
minTx
private double minTxDOCUMENT ME! -
maxTx
private double maxTxDOCUMENT ME! -
minTy
private double minTyDOCUMENT ME! -
maxTy
private double maxTyDOCUMENT ME! -
minRz
private double minRzDOCUMENT ME! -
maxRz
private double maxRzDOCUMENT ME! -
step
private double stepDOCUMENT ME! -
opt
protected int optDOCUMENT ME! -
costFunc
protected int costFuncDOCUMENT ME! -
simplexDim
private int simplexDimDOCUMENT ME! -
VOIlength
protected int VOIlengthDOCUMENT ME! -
VOIposition
positions (x,y) of VOI in first slice -
volLength
protected int volLengthDOCUMENT ME! -
sliceSize
protected int sliceSizeDOCUMENT ME! -
volume
DOCUMENT ME! -
gradMagVol
DOCUMENT ME! -
xdim
protected int xdimDOCUMENT ME! -
ydim
protected int ydimDOCUMENT ME! -
tdim
protected int tdimDOCUMENT ME! -
sigmas
private float[] sigmas -
maskFlag
private boolean maskFlag -
func
-
-
Constructor Details
-
AlgorithmRegVOILandmark
public AlgorithmRegVOILandmark(ModelImage volume, ModelImage gradMagVol, float[] sigmas, boolean maskFlag, VOIBase position, double minTx, double maxTx, double minTy, double maxTy, double minRz, double maxRz, double step, int opt, int costFunc) Constructor.- Parameters:
volume- DOCUMENT ME!gradMagVol- DOCUMENT ME!sigmas- DOCUMENT ME!maskFlag- DOCUMENT ME!position- DOCUMENT ME!minTx- DOCUMENT ME!maxTx- DOCUMENT ME!minTy- DOCUMENT ME!maxTy- DOCUMENT ME!minRz- DOCUMENT ME!maxRz- DOCUMENT ME!step- DOCUMENT ME!opt- DOCUMENT ME!costFunc- DOCUMENT ME!
-
-
Method Details
-
finalize
public void finalize()finalize - prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()Starts the program.- Specified by:
runAlgorithmin classAlgorithmBase
-
exhaustiveSearch
Exhaustive search for global minimum.- Parameters:
p- DOCUMENT ME!func- DOCUMENT ME!
-
getTransform
Converts row of p into 3x3 matrix.- Parameters:
x- = row of p[][]- Returns:
- DOCUMENT ME!
-
search
private void search()Search. -
transformSlice
private void transformSlice(int slice, TransMatrix xfrm, float[] imgBuf, float[] tImgBuf, WildMagic.LibFoundation.Mathematics.Vector3f center) Transforms a slice.- Parameters:
slice- DOCUMENT ME!xfrm- DOCUMENT ME!imgBuf- DOCUMENT ME!tImgBuf- DOCUMENT ME!
-
eval
public double eval(double[] x) - Specified by:
evalin interfacede.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables
-
getNumberOfVariables
public int getNumberOfVariables()- Specified by:
getNumberOfVariablesin interfacede.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables
-