Package gov.nih.mipav.model.algorithms
Class AlgorithmCostFunctions2D
java.lang.Object
gov.nih.mipav.model.algorithms.AlgorithmCostFunctions2D
- All Implemented Interfaces:
AlgorithmOptimizeFunctionBase
CostFunction - class for specifying optimization function.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private ModelSimpleImageDOCUMENT ME!private ModelSimpleImageDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!private ImageRegistrationGPUstatic final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!private intDOCUMENT ME!static final intDOCUMENT ME!static final intstatic final intstatic final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!private double[]DOCUMENT ME!private ModelSimpleImageDOCUMENT ME!private ModelSimpleImageDOCUMENT ME!private floatDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private doubleDOCUMENT ME!private intprivate intDOCUMENT ME!private intDOCUMENT ME!private doubleDOCUMENT ME!private int -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmCostFunctions2D(ModelSimpleImage rImage, ModelSimpleImage iImage, int functionID, int nBins, float smoothSize) AlgorithmCostFunctions2D(ModelSimpleImage rImage, ModelSimpleImage iImage, int functionID, int nBins, float smoothSize, boolean calcMinMax) Creates a new AlgorithmCostFunctions2D object. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcalcEntropy(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private voidcalcEntropy(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private voidcalcEntropySmoothed(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private voidcalcEntropySmoothed(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private voidcalcEntropySmoothedWgt(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private voidcalcEntropySmoothedWgt(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!private doublecorrelationRatio(TransMatrix tMatrix) Correlation ratio cost function.private doublecorrelationRatio(TransMatrixd tMatrix) Correlation ratio cost function.private doublecorrelationRatioSmoothed(TransMatrix tMatrix) Correlation ratio cost function.private doublecorrelationRatioSmoothed(TransMatrixd tMatrix) Correlation ratio cost function.private doublecorrelationRatioSmoothedWgt(TransMatrix tMatrix) Correlation ratio cost function using weighting functions to mask out areas that should not be included in the cost function calculations.private doublecorrelationRatioSmoothedWgt(TransMatrixd tMatrix) Correlation ratio cost function using weighting functions to mask out areas that should not be included in the cost function calculations.doublecost(double[] data) Not implemented in this class.doublecost(TransMatrix affMatrix) Calculates the cost (dependent on the selected cost function) based on the reference image and the input image.doublecost(TransMatrixd affMatrix) Calculates the cost (dependent on the selected cost function) based on the reference image and the input image.voidSets class global array variables to null and calls the garbage collector.voidfinalize()Calls disposeLocal of this class to ensure this class nulls the references to global class variables so that memory will be recovered.private voidfindRangeX(Point minMaxPt, double newPtX, double newPtY, double aT00, double aT10, double iT00, double iT10) DOCUMENT ME!intAccessor that returns how many times the cost function has been called.intbooleanprivate doubleleastSquares(TransMatrix tMatrix) Least squares cost function.private doubleleastSquares(TransMatrixd tMatrix) Least squares cost function.private doubleleastSquaresColor(TransMatrix tMatrix) Least squares cost function.private doubleleastSquaresColor(TransMatrixd tMatrix) Least squares cost function.private doubleleastSquaresSmoothed(TransMatrix tMatrix) Least squares cost function.private doubleleastSquaresSmoothed(TransMatrixd tMatrix) Least squares cost function.private doubleleastSquaresSmoothedColor(TransMatrix tMatrix) Least squares cost function.private doubleleastSquaresSmoothedColor(TransMatrixd tMatrix) Least squares cost function.private doubleleastSquaresSmoothedWgt(TransMatrix tMatrix) Least squares cost function with weighting.private doubleleastSquaresSmoothedWgt(TransMatrixd tMatrix) Least squares cost function with weighting.private doubleleastSquaresSmoothedWgtColor(TransMatrix tMatrix) Least squares cost function with weighting.private doubleleastSquaresSmoothedWgtColor(TransMatrixd tMatrix) Least squares cost function with weighting.float[]lineMin(WildMagic.LibFoundation.Mathematics.Matrix4f kToOrigin, WildMagic.LibFoundation.Mathematics.Matrix4f kFromOrigin, float rigid, float dim, double[] startPoint, double[] pt, int ptLength, double[] unitDirections, double unit_tolerance, double fMinDist, double bracketA, double functionA, double bracketB, double functionB, double bracketC, double functionC) private doublemutualInformation(TransMatrix tMatrix) DOCUMENT ME!private doublemutualInformation(TransMatrixd tMatrix) DOCUMENT ME!private doublemutualInformationSmoothed(TransMatrix tMatrix) DOCUMENT ME!private doublemutualInformationSmoothed(TransMatrixd tMatrix) DOCUMENT ME!private doublenormalizedMutualInformation(TransMatrix tMatrix) DOCUMENT ME!private doublenormalizedMutualInformation(TransMatrixd tMatrix) DOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doubleDOCUMENT ME!private doublenormalizedXCorrelation(TransMatrix tMatrix) Normalized cross-correlation cost function.private doublenormalizedXCorrelation(TransMatrixd tMatrix) Normalized cross-correlation cost function.private doubleNormalized cross-correlation cost function.private doubleNormalized cross-correlation cost function.private doubleNormalized cross-correlation cost function with weighting.private doubleNormalized cross-correlation cost function with weighting.voidsetGPUCost(ImageRegistrationGPU kGPUCost) voidsetInputWgtImage(ModelSimpleImage inputWgtImg) Sets the input weight image.private voidsetPLogP(int nBins) Precalculates information and allocates buffers used in the calculation of mutual information statistics.voidsetRefWgtImage(ModelSimpleImage refWgtImg) Sets the reference weight image.
-
Field Details
-
CORRELATION_RATIO_SMOOTHED_WGT
public static final int CORRELATION_RATIO_SMOOTHED_WGTDOCUMENT ME!- See Also:
-
CORRELATION_RATIO_SMOOTHED
public static final int CORRELATION_RATIO_SMOOTHEDDOCUMENT ME!- See Also:
-
CORRELATION_RATIO
public static final int CORRELATION_RATIODOCUMENT ME!- See Also:
-
LEAST_SQUARES_SMOOTHED_WGT
public static final int LEAST_SQUARES_SMOOTHED_WGTDOCUMENT ME!- See Also:
-
LEAST_SQUARES_SMOOTHED
public static final int LEAST_SQUARES_SMOOTHEDDOCUMENT ME!- See Also:
-
LEAST_SQUARES
public static final int LEAST_SQUARESDOCUMENT ME!- See Also:
-
MUTUAL_INFORMATION_SMOOTHED_WGT
public static final int MUTUAL_INFORMATION_SMOOTHED_WGTDOCUMENT ME!- See Also:
-
MUTUAL_INFORMATION_SMOOTHED
public static final int MUTUAL_INFORMATION_SMOOTHEDDOCUMENT ME!- See Also:
-
MUTUAL_INFORMATION
public static final int MUTUAL_INFORMATIONDOCUMENT ME!- See Also:
-
NORMALIZED_MUTUAL_INFORMATION_SMOOTHED_WGT
public static final int NORMALIZED_MUTUAL_INFORMATION_SMOOTHED_WGTDOCUMENT ME!- See Also:
-
NORMALIZED_MUTUAL_INFORMATION_SMOOTHED
public static final int NORMALIZED_MUTUAL_INFORMATION_SMOOTHEDDOCUMENT ME!- See Also:
-
NORMALIZED_MUTUAL_INFORMATION
public static final int NORMALIZED_MUTUAL_INFORMATIONDOCUMENT ME!- See Also:
-
NORMALIZED_XCORRELATION_SMOOTHED_WGT
public static final int NORMALIZED_XCORRELATION_SMOOTHED_WGTDOCUMENT ME!- See Also:
-
NORMALIZED_XCORRELATION_SINC
public static final int NORMALIZED_XCORRELATION_SINCDOCUMENT ME!- See Also:
-
NORMALIZED_XCORRELATION_SMOOTHED
public static final int NORMALIZED_XCORRELATION_SMOOTHEDDOCUMENT ME!- See Also:
-
NORMALIZED_XCORRELATION
public static final int NORMALIZED_XCORRELATIONDOCUMENT ME!- See Also:
-
LEAST_SQUARES_SMOOTHED_WGT_COLOR
public static final int LEAST_SQUARES_SMOOTHED_WGT_COLORDOCUMENT ME!- See Also:
-
LEAST_SQUARES_SMOOTHED_COLOR
public static final int LEAST_SQUARES_SMOOTHED_COLORDOCUMENT ME!- See Also:
-
LEAST_SQUARES_COLOR
public static final int LEAST_SQUARES_COLORDOCUMENT ME!- See Also:
-
NORMALIZED_MUTUAL_INFORMATION_GPU
public static final int NORMALIZED_MUTUAL_INFORMATION_GPU- See Also:
-
NORMALIZED_MUTUAL_INFORMATION_GPU_LM
public static final int NORMALIZED_MUTUAL_INFORMATION_GPU_LM- See Also:
-
costCalled
private int costCalledDOCUMENT ME! -
costFunctID
private int costFunctIDDOCUMENT ME! -
inputImage
DOCUMENT ME! -
inputWgtImage
DOCUMENT ME! -
nBins
private int nBinsDOCUMENT ME! -
pLogP
private double[] pLogPDOCUMENT ME! -
refImage
DOCUMENT ME! -
refWgtImage
DOCUMENT ME! -
smoothSize
private float smoothSizeDOCUMENT ME! -
xDim
private int xDimDOCUMENT ME! -
xStart
private int xStart -
xEnd
private int xEndDOCUMENT ME! -
xEnd2
private double xEnd2DOCUMENT ME! -
yDim
private int yDimDOCUMENT ME! -
yStart
private int yStart -
yEnd
private int yEndDOCUMENT ME! -
yEnd2
private double yEnd2DOCUMENT ME! -
m_kGPUCost
-
-
Constructor Details
-
AlgorithmCostFunctions2D
public AlgorithmCostFunctions2D(ModelSimpleImage rImage, ModelSimpleImage iImage, int functionID, int nBins, float smoothSize) -
AlgorithmCostFunctions2D
public AlgorithmCostFunctions2D(ModelSimpleImage rImage, ModelSimpleImage iImage, int functionID, int nBins, float smoothSize, boolean calcMinMax) Creates a new AlgorithmCostFunctions2D object.- Parameters:
rImage- DOCUMENT ME!iImage- DOCUMENT ME!functionID- DOCUMENT ME!nBins- DOCUMENT ME!smoothSize- DOCUMENT ME!
-
-
Method Details
-
getCostFunction
public int getCostFunction()- Specified by:
getCostFunctionin interfaceAlgorithmOptimizeFunctionBase
-
cost
public double cost(double[] data) Not implemented in this class.- Specified by:
costin interfaceAlgorithmOptimizeFunctionBase- Parameters:
data- Array of data.- Returns:
- Double.MAX_VALUE
-
cost
Calculates the cost (dependent on the selected cost function) based on the reference image and the input image.- Specified by:
costin interfaceAlgorithmOptimizeFunctionBase- Parameters:
affMatrix- Transformation matrix to test cost of.- Returns:
- Cost at a supplied transformation.
-
cost
Calculates the cost (dependent on the selected cost function) based on the reference image and the input image.- Specified by:
costin interfaceAlgorithmOptimizeFunctionBase- Parameters:
affMatrix- Transformation matrix to test cost of.- Returns:
- Cost at a supplied transformation.
-
disposeLocal
public void disposeLocal()Sets class global array variables to null and calls the garbage collector. -
finalize
Calls disposeLocal of this class to ensure this class nulls the references to global class variables so that memory will be recovered. -
setGPUCost
-
isGPULineMin
public boolean isGPULineMin() -
lineMin
public float[] lineMin(WildMagic.LibFoundation.Mathematics.Matrix4f kToOrigin, WildMagic.LibFoundation.Mathematics.Matrix4f kFromOrigin, float rigid, float dim, double[] startPoint, double[] pt, int ptLength, double[] unitDirections, double unit_tolerance, double fMinDist, double bracketA, double functionA, double bracketB, double functionB, double bracketC, double functionC) -
getCostCalled
public int getCostCalled()Accessor that returns how many times the cost function has been called.- Returns:
- The number of times the cost function has been called.
-
setInputWgtImage
Sets the input weight image. If the weight values are outside the range [0:1] then the weigthts will be remapped to be between 0:1.- Parameters:
inputWgtImg- the input weight image
-
setRefWgtImage
Sets the reference weight image. If the weight values are outside the range [0:1] then the weigthts will be remapped to be between 0:1.- Parameters:
refWgtImg- the reference weight image
-
calcEntropy
private void calcEntropy(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
calcEntropy
private void calcEntropy(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
calcEntropySmoothed
private void calcEntropySmoothed(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
calcEntropySmoothed
private void calcEntropySmoothed(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
calcEntropySmoothedWgt
private void calcEntropySmoothedWgt(TransMatrix tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
calcEntropySmoothedWgt
private void calcEntropySmoothedWgt(TransMatrixd tMatrix, double[] jointEntropy, double[] margEntropyR, double[] margEntropyI) DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!jointEntropy- DOCUMENT ME!margEntropyR- DOCUMENT ME!margEntropyI- DOCUMENT ME!
-
correlationRatio
Correlation ratio cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
correlationRatio
Correlation ratio cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
correlationRatioSmoothed
Correlation ratio cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
correlationRatioSmoothed
Correlation ratio cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
correlationRatioSmoothedWgt
Correlation ratio cost function using weighting functions to mask out areas that should not be included in the cost function calculations.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
correlationRatioSmoothedWgt
Correlation ratio cost function using weighting functions to mask out areas that should not be included in the cost function calculations.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
findRangeX
private void findRangeX(Point minMaxPt, double newPtX, double newPtY, double aT00, double aT10, double iT00, double iT10) DOCUMENT ME!- Parameters:
minMaxPt- DOCUMENT ME!
-
leastSquares
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquares
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresColor
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresColor
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothed
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothed
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedColor
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedColor
Least squares cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedWgt
Least squares cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedWgt
Least squares cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedWgtColor
Least squares cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
leastSquaresSmoothedWgtColor
Least squares cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
mutualInformation
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
mutualInformation
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
mutualInformationSmoothed
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
mutualInformationSmoothed
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformation
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformation
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformationSmoothed
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformationSmoothed
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformationSmoothedWgt
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedMutualInformationSmoothedWgt
DOCUMENT ME!- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelation
Normalized cross-correlation cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelation
Normalized cross-correlation cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelationSmoothed
Normalized cross-correlation cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelationSmoothed
Normalized cross-correlation cost function.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelationSmoothedWgt
Normalized cross-correlation cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
normalizedXCorrelationSmoothedWgt
Normalized cross-correlation cost function with weighting.- Parameters:
tMatrix- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
setPLogP
private void setPLogP(int nBins) Precalculates information and allocates buffers used in the calculation of mutual information statistics.- Parameters:
nBins- the number of bins
-