public class SubpixelLocalization<T extends RealType<T>> extends Object implements Algorithm, Benchmark, MultiThreaded
Constructor and Description |
---|
SubpixelLocalization(Image<T> laPlacian,
List<DifferenceOfGaussianPeak<T>> peaks) |
Modifier and Type | Method and Description |
---|---|
boolean |
analyzePeak(DifferenceOfGaussianPeak<T> peak) |
boolean |
checkInput() |
static <T extends RealType<T>> |
computeDerivativeVector(LocalizableByDimCursor<T> cursor)
Computes the n-dimensional 1st derivative vector in 3x3x3...x3 environment for a certain
Image location
defined by the position of the LocalizableByDimCursor . |
static <T extends RealType<T>> |
computeDerivativeVector(LocalizableByDimCursor<T> cursor,
Image<DoubleType> derivativeVector)
Computes the n-dimensional 1st derivative vector in 3x3x3...x3 environment for a certain
Image location
defined by the position of the LocalizableByDimCursor . |
static <T extends RealType<T>> |
computeHessianMatrix(LocalizableByDimCursor<T> cursor)
Computes the n-dimensional Hessian Matrix in 3x3x3...x3 environment for a certain
Image location
defined by the position of the LocalizableByDimCursor . |
static <T extends RealType<T>> |
computeHessianMatrix(LocalizableByDimCursor<T> cursor,
Image<DoubleType> hessianMatrix)
Computes the n-dimensional Hessian Matrix in 3x3x3...x3 environment for a certain
Image location
defined by the position of the LocalizableByDimCursor . |
static Matrix |
computePseudoInverseMatrix(Matrix M,
double threshold)
Computes the pseudo-inverse of a matrix using Singular Value Decomposition
|
boolean[] |
getAllowedToMoveInDim() |
boolean |
getAllowMaximaTolerance() |
boolean |
getCanMoveOutside() |
protected Image<DoubleType> |
getDerivativeVector(LocalizableByDimCursor<T> cursor,
Image<DoubleType> derivativeVector)
This method is called by the process method to allow to override how the derivative vector is computed
|
List<DifferenceOfGaussianPeak<T>> |
getDoGPeaks() |
String |
getErrorMessage() |
protected Image<DoubleType> |
getHessianMatrix(LocalizableByDimCursor<T> cursor,
Image<DoubleType> hessianMatrix)
This method is called by the process method to allow to override how the hessian matrix is computed
|
Image<T> |
getLaPlaceImage() |
static <S extends RealType<S>> |
getMatrix(Image<S> maxtrixImage)
Converts an
Image into a matrix |
float |
getMaximaTolerance() |
int |
getMaxNumMoves() |
int |
getNumThreads()
The number of threads used by the algorithm
|
long |
getProcessingTime() |
protected boolean |
handleFailure(DifferenceOfGaussianPeak<T> peak,
String error) |
protected Matrix |
invertMatrix(Image<DoubleType> matrixImage)
This method is called by the process method to allow to override how the matrix is inverted
|
boolean |
process() |
void |
setAllowedToMoveInDim(boolean[] allowedToMoveInDim) |
void |
setAllowMaximaTolerance(boolean allowMaximaTolerance) |
void |
setCanMoveOutside(boolean canMoveOutside) |
void |
setDoGPeaks(List<DifferenceOfGaussianPeak<T>> peaks) |
void |
setLaPlaceImage(Image<T> laPlacian) |
void |
setMaximaTolerance(float maximaTolerance) |
void |
setMaxNumMoves(int maxNumMoves) |
void |
setNumThreads()
Sets the number of threads to the amount of processors available
|
void |
setNumThreads(int numThreads)
Sets the number of threads
|
public SubpixelLocalization(Image<T> laPlacian, List<DifferenceOfGaussianPeak<T>> peaks)
public void setAllowMaximaTolerance(boolean allowMaximaTolerance)
public void setCanMoveOutside(boolean canMoveOutside)
public void setMaximaTolerance(float maximaTolerance)
public void setDoGPeaks(List<DifferenceOfGaussianPeak<T>> peaks)
public void setMaxNumMoves(int maxNumMoves)
public void setAllowedToMoveInDim(boolean[] allowedToMoveInDim)
public boolean getAllowMaximaTolerance()
public boolean getCanMoveOutside()
public float getMaximaTolerance()
public List<DifferenceOfGaussianPeak<T>> getDoGPeaks()
public int getMaxNumMoves()
public boolean[] getAllowedToMoveInDim()
protected boolean handleFailure(DifferenceOfGaussianPeak<T> peak, String error)
public boolean analyzePeak(DifferenceOfGaussianPeak<T> peak)
protected Matrix invertMatrix(Image<DoubleType> matrixImage)
protected Image<DoubleType> getDerivativeVector(LocalizableByDimCursor<T> cursor, Image<DoubleType> derivativeVector)
protected Image<DoubleType> getHessianMatrix(LocalizableByDimCursor<T> cursor, Image<DoubleType> hessianMatrix)
public static <S extends RealType<S>> Matrix getMatrix(Image<S> maxtrixImage)
Image
into a matrixpublic static final Matrix computePseudoInverseMatrix(Matrix M, double threshold)
public static final <T extends RealType<T>> Image<DoubleType> computeDerivativeVector(LocalizableByDimCursor<T> cursor)
Image
location
defined by the position of the LocalizableByDimCursor
.cursor
- - the position for which to compute the Hessian MatrixDoubleType
Image
of size [numDimensions]public static final <T extends RealType<T>> void computeDerivativeVector(LocalizableByDimCursor<T> cursor, Image<DoubleType> derivativeVector)
Image
location
defined by the position of the LocalizableByDimCursor
.cursor
- - the position for which to compute the Hessian MatrixImage
- - the derivative, which is essentially a one-dimensional DoubleType
Image
of size [numDimensions]public static final <T extends RealType<T>> Image<DoubleType> computeHessianMatrix(LocalizableByDimCursor<T> cursor)
Image
location
defined by the position of the LocalizableByDimCursor
.cursor
- - the position for which to compute the Hessian MatrixDoubleType
Image
of size [numDimensions][numDimensions]public static final <T extends RealType<T>> void computeHessianMatrix(LocalizableByDimCursor<T> cursor, Image<DoubleType> hessianMatrix)
Image
location
defined by the position of the LocalizableByDimCursor
.cursor
- - the position for which to compute the Hessian MatrixImage
- - the hessian matrix, which is essentially a two-dimensional DoubleType
Image
of size [numDimensions][numDimensions]public boolean checkInput()
checkInput
in interface Algorithm
public void setNumThreads()
MultiThreaded
setNumThreads
in interface MultiThreaded
public void setNumThreads(int numThreads)
MultiThreaded
setNumThreads
in interface MultiThreaded
numThreads
- - number of threads to usepublic int getNumThreads()
MultiThreaded
getNumThreads
in interface MultiThreaded
public String getErrorMessage()
getErrorMessage
in interface Algorithm
public long getProcessingTime()
getProcessingTime
in interface Benchmark
Copyright © 2015–2021 Fiji. All rights reserved.