Class AlgorithmRegValidation
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.registration.AlgorithmRegValidation
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
Uses a selected
RegistrationMeasure and the user-specified points to
output the relevant measure back to the user.- Author:
- senseneyj
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intThe number of dimensions (2D or 3D).private intDOCUMENT ME!private double[][]Input point set A (2D or 3D)private double[][]Input point set B (2D or 3D)private TransMatrixThe transformation matrix that describes the transform from point set B to point set A.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
ConstructorsConstructorDescriptionAlgorithmRegValidation(double[][] coordsA, double[][] coordsB, int dim2or3) AlgorithmRegValidation - Constructor.AlgorithmRegValidation(WildMagic.LibFoundation.Mathematics.Vector3f[] coordsA3D, WildMagic.LibFoundation.Mathematics.Vector3f[] coordsB3D, int dim2or3) AlgorithmRegValidation - Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate TransMatrixbuildXfrm(double[] p1, double[] p2, Jama.Matrix R) Builds 4x4 transformation matrix from R and T where T=p2-R*p1.voidCalculateResiduals.doubleEuclideanDistance(double[] ptA, double[] ptB) EuclideanDistance.voidfinalize()Prepares this class for destruction.Accesses xfrm from point set B to point set A.voidmatchBtoA pA and pB are 2 3D point sets (pointSetA and B).voidStarts the program.voidsetTransformBtoA(TransMatrix xfrm) Set transform from point set A to point set B.intsetup(double[][] coordsA, double[][] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.intsetup(WildMagic.LibFoundation.Mathematics.Vector2f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector2f[] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.intsetup(WildMagic.LibFoundation.Mathematics.Vector3f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector3f[] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.static doubleSQR(double x) SQR = x^2.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
-
numCoords
private int numCoordsDOCUMENT ME! -
dim
private int dimThe number of dimensions (2D or 3D). -
pointSetA
private double[][] pointSetAInput point set A (2D or 3D) -
pointSetB
private double[][] pointSetBInput point set B (2D or 3D) -
xfrmBA
The transformation matrix that describes the transform from point set B to point set A.
-
-
Constructor Details
-
AlgorithmRegValidation
public AlgorithmRegValidation(double[][] coordsA, double[][] coordsB, int dim2or3) AlgorithmRegValidation - Constructor.- Parameters:
coordsA- - double[dim][n] 3D or 2D point setcoordsB- - double[dim][n] 3D or 2D point setdim2or3- - indicates whether data set is 2D or 3D
-
AlgorithmRegValidation
public AlgorithmRegValidation(WildMagic.LibFoundation.Mathematics.Vector3f[] coordsA3D, WildMagic.LibFoundation.Mathematics.Vector3f[] coordsB3D, int dim2or3) AlgorithmRegValidation - Constructor.- Parameters:
coordsA3D- Vector3f[n] 3D point setcoordsB3D- Vector3f[n] 3D point setdim2or3- indicates whether data set is 2D or 3D
-
-
Method Details
-
SQR
public static double SQR(double x) SQR = x^2.- Parameters:
x- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
buildXfrm
Builds 4x4 transformation matrix from R and T where T=p2-R*p1.- Parameters:
p1- from Matchp2- from MatchR- =rotation matrix from Match- Returns:
- DOCUMENT ME!
-
calculateResiduals
public void calculateResiduals()CalculateResiduals. -
EuclideanDistance
public double EuclideanDistance(double[] ptA, double[] ptB) EuclideanDistance.- Parameters:
ptA- DOCUMENT ME!ptB- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
finalize
public void finalize()Prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
getTransformBtoA
Accesses xfrm from point set B to point set A.- Returns:
- xfrmBA
-
matchBtoA
public void matchBtoA()matchBtoA pA and pB are 2 3D point sets (pointSetA and B).p1[i]=(1/numCoords)*(sum from j = 0 to j = numCoords - 1 of pB[i][j]) p2[i]=(1/numCoords)*(sum from j = 0 to j = numCoords - 1 of pA[i][j])
q1[i][j] =pB[i][j]-p1[i] q2[i][j]=pA[i][j]-p2[i]
-
runAlgorithm
public void runAlgorithm()Starts the program.- Specified by:
runAlgorithmin classAlgorithmBase
-
setTransformBtoA
Set transform from point set A to point set B.- Parameters:
xfrm- transform to copy
-
setup
public int setup(double[][] coordsA, double[][] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.- Parameters:
coordsA- first 3D point setcoordsB- second 3D point set- Returns:
- distinguishing reason for error
-
setup
public int setup(WildMagic.LibFoundation.Mathematics.Vector3f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector3f[] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.- Parameters:
coordsA- first 3D point setcoordsB- second 3D point Set- Returns:
- int distinguishing reason for error
-
setup
public int setup(WildMagic.LibFoundation.Mathematics.Vector2f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector2f[] coordsB) Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.- Parameters:
coordsA- first 2D point setcoordsB- second 2D point Set- Returns:
- int distinguishing reason for error
-