Class AlgorithmRegValidation
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.registration.AlgorithmRegValidation
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class AlgorithmRegValidation extends AlgorithmBase
Uses a selectedRegistrationMeasure
and the user-specified points to output the relevant measure back to the user.- Author:
- senseneyj
-
-
Field Summary
Fields Modifier and Type Field Description private int
dim
The number of dimensions (2D or 3D).private int
numCoords
DOCUMENT ME!private double[][]
pointSetA
Input point set A (2D or 3D)private double[][]
pointSetB
Input point set B (2D or 3D)private TransMatrix
xfrmBA
The 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, threadStopped
-
-
Constructor Summary
Constructors Constructor Description AlgorithmRegValidation(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private TransMatrix
buildXfrm(double[] p1, double[] p2, Jama.Matrix R)
Builds 4x4 transformation matrix from R and T where T=p2-R*p1.void
calculateResiduals()
CalculateResiduals.double
EuclideanDistance(double[] ptA, double[] ptB)
EuclideanDistance.void
finalize()
Prepares this class for destruction.TransMatrix
getTransformBtoA()
Accesses xfrm from point set B to point set A.void
matchBtoA()
matchBtoA pA and pB are 2 3D point sets (pointSetA and B).void
runAlgorithm()
Starts the program.void
setTransformBtoA(TransMatrix xfrm)
Set transform from point set A to point set B.int
setup(double[][] coordsA, double[][] coordsB)
Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.int
setup(WildMagic.LibFoundation.Mathematics.Vector2f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector2f[] coordsB)
Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.int
setup(WildMagic.LibFoundation.Mathematics.Vector3f[] coordsA, WildMagic.LibFoundation.Mathematics.Vector3f[] coordsB)
Checks if pointSetA is same dimension as pointSetB sets pointSetA and pointSetB.static double
SQR(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, 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
-
numCoords
private int numCoords
DOCUMENT ME!
-
dim
private int dim
The number of dimensions (2D or 3D).
-
pointSetA
private double[][] pointSetA
Input point set A (2D or 3D)
-
pointSetB
private double[][] pointSetB
Input point set B (2D or 3D)
-
xfrmBA
private TransMatrix xfrmBA
The transformation matrix that describes the transform from point set B to point set A.
-
-
Constructor Detail
-
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 Detail
-
SQR
public static double SQR(double x)
SQR = x^2.- Parameters:
x
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
buildXfrm
private TransMatrix buildXfrm(double[] p1, double[] p2, Jama.Matrix R)
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:
finalize
in classAlgorithmBase
-
getTransformBtoA
public TransMatrix 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:
runAlgorithm
in classAlgorithmBase
-
setTransformBtoA
public void setTransformBtoA(TransMatrix xfrm)
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
-
-