public class Matching extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Matching.PeakSort |
Modifier and Type | Field and Description |
---|---|
static boolean |
applyScaling |
static float |
factor |
protected static PrintWriter |
outAll |
Constructor and Description |
---|
Matching() |
Modifier and Type | Method and Description |
---|---|
static void |
addPointMatches(ArrayList<PointMatch> correspondences,
Tile<?> tileA,
Tile<?> tileB) |
protected static ArrayList<DifferenceOfGaussianPeak<FloatType>> |
computeDoG(Image<FloatType> image,
float sigma1,
float sigma2,
boolean lookForMaxima,
boolean lookForMinima,
float threshold,
int localization,
int iterations,
double[] sigmaGuess,
int[] region) |
static float[] |
computeMinMax(ij.ImagePlus imp,
int channel) |
protected static String |
computeRANSAC(ArrayList<PointMatch> candidates,
ArrayList<PointMatch> inliers,
Model<?> model,
float maxEpsilon) |
static Image<FloatType> |
convertToFloat(ij.ImagePlus imp,
int channel,
int timepoint,
float[] minmax)
Normalize and make a copy of the
ImagePlus into an Image of FloatType for faster access when copying the slices |
protected static int |
countMatches(List<ComparePair> pairs) |
protected static ArrayList<AbstractPointDescriptor> |
createModelPointDescriptors(KDTree<Particle> tree,
ArrayList<Particle> basisPoints,
int numNeighbors,
Matcher matcher,
SimilarityMeasure similarityMeasure,
int dimensionality) |
protected static ArrayList<AbstractPointDescriptor> |
createSimplePointDescriptors(KDTree<Particle> tree,
ArrayList<Particle> basisPoints,
int numNeighbors,
Matcher matcher,
SimilarityMeasure similarityMeasure) |
static int |
descriptorBasedRegistration(ij.ImagePlus imp1,
ij.ImagePlus imp2,
DescriptorParameters params) |
static ArrayList<InvertibleBoundable> |
descriptorBasedStackRegistration(ij.ImagePlus imp,
DescriptorParameters params) |
static Vector<ComparePair> |
descriptorMatching(ArrayList<ArrayList<DifferenceOfGaussianPeak<FloatType>>> peaks,
int numImages,
DescriptorParameters params,
float zStretching) |
static ArrayList<DifferenceOfGaussianPeak<FloatType>> |
extractCandidates(ij.ImagePlus imp,
int channel,
int timepoint,
DescriptorParameters params,
float[] minmax) |
protected static ArrayList<DifferenceOfGaussianPeak<FloatType>> |
filterForROI(Roi roi,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks) |
protected static ArrayList<DifferenceOfGaussianPeak<FloatType>> |
filterForROI(Roi roi,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks,
Model<?> model) |
protected static ArrayList<PointMatch> |
findCorrespondingDescriptors(ArrayList<AbstractPointDescriptor> descriptorsA,
ArrayList<AbstractPointDescriptor> descriptorsB,
float nTimesBetter) |
protected static Vector<ComparePair> |
getComparePairs(DescriptorParameters params,
int numImages) |
protected static ArrayList<PointMatch> |
getCorrespondenceCandidates(double nTimesBetter,
Matcher matcher,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks1,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks2,
Model<?> model,
int dimensionality,
float zStretching1,
float zStretching2,
String explanation) |
static ArrayList<InvertibleBoundable> |
globalOptimization(Vector<ComparePair> pairs,
int numImages,
DescriptorParameters params) |
static void |
main(String[] args) |
protected static Model<?> |
pairwiseMatching(ArrayList<PointMatch> finalInliers,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks1,
ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks2,
float zStretching1,
float zStretching2,
DescriptorParameters params,
String explanation) |
protected static int |
performIteration(ArrayList<InvertibleBoundable> lastModels,
ArrayList<ArrayList<DifferenceOfGaussianPeak<FloatType>>> peaksComplete,
int numImages,
DescriptorParameters params,
float zStretching)
Computes one iteration and updates the lastModels ArrayList with the new models
|
protected static int[] |
removeInvalidAndCollectStatistics(ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks) |
protected static void |
setPointRois(ij.ImagePlus imp1,
ij.ImagePlus imp2,
ArrayList<PointMatch> inliers) |
protected static void |
writePoints(ArrayList<PointMatch> finalInliers,
DescriptorParameters params,
Model<?> finalModel,
PrintWriter out) |
public static boolean applyScaling
public static float factor
protected static PrintWriter outAll
public static int descriptorBasedRegistration(ij.ImagePlus imp1, ij.ImagePlus imp2, DescriptorParameters params)
imp1
- imp2
- params
- public static ArrayList<InvertibleBoundable> descriptorBasedStackRegistration(ij.ImagePlus imp, DescriptorParameters params)
protected static int performIteration(ArrayList<InvertibleBoundable> lastModels, ArrayList<ArrayList<DifferenceOfGaussianPeak<FloatType>>> peaksComplete, int numImages, DescriptorParameters params, float zStretching)
lastModels
- - models from last iteration (or init)peaksComplete
- - all peaks for all imagesnumImages
- - how many images are thereparams
- - the parameterszStretching
- - the zStretching if applicableprotected static int countMatches(List<ComparePair> pairs)
public static Vector<ComparePair> descriptorMatching(ArrayList<ArrayList<DifferenceOfGaussianPeak<FloatType>>> peaks, int numImages, DescriptorParameters params, float zStretching)
public static ArrayList<InvertibleBoundable> globalOptimization(Vector<ComparePair> pairs, int numImages, DescriptorParameters params)
public static void addPointMatches(ArrayList<PointMatch> correspondences, Tile<?> tileA, Tile<?> tileB)
protected static Vector<ComparePair> getComparePairs(DescriptorParameters params, int numImages)
protected static Model<?> pairwiseMatching(ArrayList<PointMatch> finalInliers, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks1, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks2, float zStretching1, float zStretching2, DescriptorParameters params, String explanation)
protected static void writePoints(ArrayList<PointMatch> finalInliers, DescriptorParameters params, Model<?> finalModel, PrintWriter out)
public static float[] computeMinMax(ij.ImagePlus imp, int channel)
public static ArrayList<DifferenceOfGaussianPeak<FloatType>> extractCandidates(ij.ImagePlus imp, int channel, int timepoint, DescriptorParameters params, float[] minmax)
public static Image<FloatType> convertToFloat(ij.ImagePlus imp, int channel, int timepoint, float[] minmax)
ImagePlus
into an Image
of FloatType for faster access when copying the slicesimp
- - the ImagePlus
input imageprotected static ArrayList<DifferenceOfGaussianPeak<FloatType>> filterForROI(Roi roi, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks)
protected static ArrayList<DifferenceOfGaussianPeak<FloatType>> filterForROI(Roi roi, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks, Model<?> model)
protected static void setPointRois(ij.ImagePlus imp1, ij.ImagePlus imp2, ArrayList<PointMatch> inliers)
protected static String computeRANSAC(ArrayList<PointMatch> candidates, ArrayList<PointMatch> inliers, Model<?> model, float maxEpsilon)
protected static ArrayList<PointMatch> getCorrespondenceCandidates(double nTimesBetter, Matcher matcher, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks1, ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks2, Model<?> model, int dimensionality, float zStretching1, float zStretching2, String explanation)
protected static final ArrayList<PointMatch> findCorrespondingDescriptors(ArrayList<AbstractPointDescriptor> descriptorsA, ArrayList<AbstractPointDescriptor> descriptorsB, float nTimesBetter)
protected static ArrayList<AbstractPointDescriptor> createSimplePointDescriptors(KDTree<Particle> tree, ArrayList<Particle> basisPoints, int numNeighbors, Matcher matcher, SimilarityMeasure similarityMeasure)
protected static ArrayList<AbstractPointDescriptor> createModelPointDescriptors(KDTree<Particle> tree, ArrayList<Particle> basisPoints, int numNeighbors, Matcher matcher, SimilarityMeasure similarityMeasure, int dimensionality)
protected static ArrayList<DifferenceOfGaussianPeak<FloatType>> computeDoG(Image<FloatType> image, float sigma1, float sigma2, boolean lookForMaxima, boolean lookForMinima, float threshold, int localization, int iterations, double[] sigmaGuess, int[] region)
protected static int[] removeInvalidAndCollectStatistics(ArrayList<DifferenceOfGaussianPeak<FloatType>> peaks)
public static void main(String[] args) throws NotEnoughDataPointsException
NotEnoughDataPointsException
Copyright © 2015–2021 Fiji. All rights reserved.