Modifier and Type | Method and Description |
---|---|
protected static float |
blockMean(ij.process.FloatProcessor fp,
int tx,
int ty,
int blockWidth,
int blockHeight)
Estimate the mean intensity of a block.
|
protected static float |
blockVariance(ij.process.FloatProcessor fp,
int tx,
int ty,
int blockWidth,
int blockHeight,
float mean)
Estimate the intensity variance of a block.
|
static void |
findMatches(ij.process.FloatProcessor source,
ij.process.FloatProcessor target,
ij.process.FloatProcessor sourceMask,
ij.process.FloatProcessor targetMask,
Model<?> initialModel,
Class<? extends AbstractAffineModel2D<?>> localModelClass,
float maxEpsilon,
float maxScale,
float minR,
float rodR,
float maxCurvatureR,
int meshResolution,
float alpha,
Collection<PointMatch> sourceMatches) |
static Shape |
illustrateMatches(Collection<PointMatch> matches)
Create a Shape that illustrates a
Collection of
PointMatches . |
static void |
matchByMaximalPMCC(ij.process.FloatProcessor source,
ij.process.FloatProcessor target,
ij.process.FloatProcessor sourceMask,
ij.process.FloatProcessor targetMask,
double scale,
CoordinateTransform transform,
int blockRadiusX,
int blockRadiusY,
int searchRadiusX,
int searchRadiusY,
float minR,
float rod,
float maxCurvature,
Collection<? extends Point> sourcePoints,
Collection<PointMatch> sourceMatches,
ErrorStatistic observer)
Estimate point correspondences for a
Collection of Points among two images that are
approximately related by an InvertibleCoordinateTransform using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. |
static void |
matchByMaximalPMCC(ij.process.FloatProcessor source,
ij.process.FloatProcessor target,
ij.process.FloatProcessor sourceMask,
ij.process.FloatProcessor targetMask,
float scale,
CoordinateTransform transform,
int blockRadiusX,
int blockRadiusY,
int searchRadiusX,
int searchRadiusY,
Collection<? extends Point> sourcePoints,
Collection<PointMatch> sourceMatches,
ErrorStatistic observer)
Estimate point correspondences for a
Collection of Points among two images that are
approximately related by an InvertibleCoordinateTransform using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. |
protected static void |
matchByMaximalPMCC(ij.process.FloatProcessor source,
ij.process.FloatProcessor target,
int blockRadiusX,
int blockRadiusY,
int searchRadiusX,
int searchRadiusY,
float minR,
float rod,
float maxCurvature,
Collection<PointMatch> query,
Collection<PointMatch> results) |
static void |
matchByMaximalPMCCFromPreScaledImages(ij.process.FloatProcessor source_scaled,
ij.process.FloatProcessor target_scaled,
double scale,
int blockRadiusX,
int blockRadiusY,
int searchRadiusX,
int searchRadiusY,
float minR,
float rod,
float maxCurvature,
Collection<? extends Point> sourcePoints,
Collection<PointMatch> sourceMatches)
Estimate point correspondences for a
Collection of Points among two images that are
approximately related by an InvertibleCoordinateTransform using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. |
static void |
matchByMinimalSquareDifference(ij.process.FloatProcessor source,
ij.process.FloatProcessor target,
InvertibleCoordinateTransform transform,
int blockRadiusX,
int blockRadiusY,
int searchRadiusX,
int searchRadiusY,
Collection<? extends Point> sourcePoints,
Collection<PointMatch> sourceMatches)
Estimate point correspondences for a
Collection of Points among two images that are
approximately related by an InvertibleCoordinateTransform using
the square difference of pixel intensities as a similarity measure. |
protected static float blockMean(ij.process.FloatProcessor fp, int tx, int ty, int blockWidth, int blockHeight)
fp
- tx
- ty
- blockWidth
- blockHeight
- protected static float blockVariance(ij.process.FloatProcessor fp, int tx, int ty, int blockWidth, int blockHeight, float mean)
fp
- tx
- ty
- blockWidth
- blockHeight
- public static void matchByMinimalSquareDifference(ij.process.FloatProcessor source, ij.process.FloatProcessor target, InvertibleCoordinateTransform transform, int blockRadiusX, int blockRadiusY, int searchRadiusX, int searchRadiusY, Collection<? extends Point> sourcePoints, Collection<PointMatch> sourceMatches)
Collection
of Points
among two images that are
approximately related by an InvertibleCoordinateTransform
using
the square difference of pixel intensities as a similarity measure.source
- target
- transform
- transfers source into target approximatelyblockRadiusX
- horizontal radius of a blockblockRadiusY
- vertical radius of a blocksearchRadiusX
- horizontal search radiussearchRadiusY
- vertical search radiussourcePoints
- sourceMatches
- protected static void matchByMaximalPMCC(ij.process.FloatProcessor source, ij.process.FloatProcessor target, int blockRadiusX, int blockRadiusY, int searchRadiusX, int searchRadiusY, float minR, float rod, float maxCurvature, Collection<PointMatch> query, Collection<PointMatch> results) throws InterruptedException, ExecutionException
public static void matchByMaximalPMCC(ij.process.FloatProcessor source, ij.process.FloatProcessor target, ij.process.FloatProcessor sourceMask, ij.process.FloatProcessor targetMask, double scale, CoordinateTransform transform, int blockRadiusX, int blockRadiusY, int searchRadiusX, int searchRadiusY, float minR, float rod, float maxCurvature, Collection<? extends Point> sourcePoints, Collection<PointMatch> sourceMatches, ErrorStatistic observer) throws InterruptedException, ExecutionException
Collection
of Points
among two images that are
approximately related by an InvertibleCoordinateTransform
using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. Only correspondence candidates
with r >= a given threshold are accepted.source
- target
- sourceMask
- targetMask
- scale
- [0,1]transform
- transfers source into target approximatelyblockRadiusX
- horizontal radius of a blockblockRadiusY
- vertical radius of a blocksearchRadiusX
- horizontal search radiussearchRadiusY
- vertical search radiusminR
- minimal accepted Cross-Correlation coefficientrod
- sourcePoints
- sourceMatches
- observer
- InterruptedException
ExecutionException
public static void matchByMaximalPMCCFromPreScaledImages(ij.process.FloatProcessor source_scaled, ij.process.FloatProcessor target_scaled, double scale, int blockRadiusX, int blockRadiusY, int searchRadiusX, int searchRadiusY, float minR, float rod, float maxCurvature, Collection<? extends Point> sourcePoints, Collection<PointMatch> sourceMatches) throws InterruptedException, ExecutionException
Collection
of Points
among two images that are
approximately related by an InvertibleCoordinateTransform
using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. Only correspondence candidates
with r >= a given threshold are accepted.
Similar to matchByMaximalPMCC(FloatProcessor, FloatProcessor, FloatProcessor, FloatProcessor, double, CoordinateTransform, int, int, int, int, float, float, float, Collection, Collection, ErrorStatistic)
but:
1. With its FloatProcessor
images already scaled down to scale
and already with their contrast normalized, and their masks applied if any.
That is, images provided as arguments source_scaled
and target_scaled
are expected to have been pre-processed with Filter.createDownsampled(FloatProcessor, double, float, float)
and with Util.normalizeContrast(FloatProcessor)
,
and with mapAndMask(ImageProcessor, ImageProcessor, ImageProcessor, CoordinateTransform)
to set pixels outside the mask to Float.NaN
.
2. Without a transform
, i.e., assumes images are almost registered already.
These modifications are a performance optimization, by preventing the Gaussian blurring
of images multiple times when e.g. comparing a section with its adjacent, its 2nd adjacent, etc.,
and also by preventing unnecessary repeats of image duplication, contrast normalization, and mask application.source_scaled
- target_scaled
- scale
- [0,1]blockRadiusX
- horizontal radius of a blockblockRadiusY
- vertical radius of a blocksearchRadiusX
- horizontal search radiussearchRadiusY
- vertical search radiusminR
- minimal accepted Cross-Correlation coefficientrod
- sourcePoints
- sourceMatches
- InterruptedException
ExecutionException
public static void matchByMaximalPMCC(ij.process.FloatProcessor source, ij.process.FloatProcessor target, ij.process.FloatProcessor sourceMask, ij.process.FloatProcessor targetMask, float scale, CoordinateTransform transform, int blockRadiusX, int blockRadiusY, int searchRadiusX, int searchRadiusY, Collection<? extends Point> sourcePoints, Collection<PointMatch> sourceMatches, ErrorStatistic observer) throws InterruptedException, ExecutionException
Collection
of Points
among two images that are
approximately related by an InvertibleCoordinateTransform
using
the Pearson product-moment correlation coefficient (PMCC) r of
pixel intensities as similarity measure. Only correspondence candidates
with r >= a given threshold are accepted.source
- target
- sourceMask
- targetMask
- scale
- [0,1]transform
- transfers source into target approximatelyblockRadiusX
- horizontal radius of a blockblockRadiusY
- vertical radius of a blocksearchRadiusX
- horizontal search radiussearchRadiusY
- vertical search radiussourcePoints
- sourceMatches
- observer
- InterruptedException
ExecutionException
public static void findMatches(ij.process.FloatProcessor source, ij.process.FloatProcessor target, ij.process.FloatProcessor sourceMask, ij.process.FloatProcessor targetMask, Model<?> initialModel, Class<? extends AbstractAffineModel2D<?>> localModelClass, float maxEpsilon, float maxScale, float minR, float rodR, float maxCurvatureR, int meshResolution, float alpha, Collection<PointMatch> sourceMatches) throws InterruptedException, ExecutionException
public static Shape illustrateMatches(Collection<PointMatch> matches)
Collection
of
PointMatches
.Copyright © 2015–2021 Fiji. All rights reserved.