public class Align extends Object
Modifier and Type | Class and Description |
---|---|
protected static class |
Align.ExtractFeaturesThread
|
protected static class |
Align.MatchFeaturesAndFindModelThread |
static class |
Align.Param |
static class |
Align.ParamOptimize |
Modifier and Type | Field and Description |
---|---|
static Align.Param |
param |
static Align.ParamOptimize |
paramOptimize |
Constructor and Description |
---|
Align() |
Modifier and Type | Method and Description |
---|---|
static void |
alignLayer(Layer layer,
int numThreads)
Align all
patches in a Layer. |
static void |
alignLayersLinearly(List<Layer> layers,
int numThreads)
Align a range of layers by accumulating pairwise alignments of contiguous layers.
|
static void |
alignLayersLinearly(List<Layer> layers,
int numThreads,
Filter<Patch> filter)
Align a range of layers by accumulating pairwise alignments of contiguous layers.
|
static void |
alignSelectedPatches(Selection selection,
int numThreads)
Align a selection of
patches in a Layer. |
static void |
alignTileCollections(Align.Param p,
Collection<AbstractAffineTile2D<?>> a,
Collection<AbstractAffineTile2D<?>> b)
Align two collections of tiles
|
static void |
alignTiles(Align.ParamOptimize p,
List<AbstractAffineTile2D<?>> tiles,
List<AbstractAffineTile2D<?>> fixedTiles,
boolean tilesAreInPlace,
int numThreads)
Align a set of
tiles using
the following procedure:
Extract SIFT-features from all
tiles .
Establish point-correspondences from
consistent sets of feature matches among tile pairs,
optionally inspect only those that are already overlapping.
Globally align the tile configuration.
Both
feature extraction
and matching
are executed in multiple Threads , with the number of
Threads being a parameter of the method. |
static void |
alignTiles(Align.ParamOptimize p,
List<AbstractAffineTile2D<?>> tiles,
List<AbstractAffineTile2D<?>> fixedTiles,
int numThreads)
Align a set of overlapping
tiles using
the following procedure:
Extract SIFT-features from all
tiles .
Establish point-correspondences from
consistent sets of feature matches among overlapping
tiles.
Globally align the tile configuration.
Both
feature extraction
and matching
are executed in multiple Threads , with the number of
Threads being a parameter of the method. |
static void |
connectTilePairs(Align.Param p,
List<AbstractAffineTile2D<?>> tiles,
List<AbstractAffineTile2D<?>[]> tilePairs,
int numThreads)
|
static void |
connectTilePairs(Align.Param p,
List<AbstractAffineTile2D<?>> tiles,
List<AbstractAffineTile2D<?>[]> tilePairs,
int numThreads,
boolean multipleHypotheses)
|
static MovingLeastSquaresTransform2 |
createMLST(Collection<PointMatch> matches,
double alpha)
Temporary helper method that creates
|
protected static Collection<Feature> |
deserializeFeatures(Align.Param p,
AbstractAffineTile2D<?> t)
Retrieve the features only if saved with the exact same relevant SIFT parameters.
|
protected static Collection<PointMatch> |
deserializePointMatches(Align.Param p,
AbstractAffineTile2D<?> t1,
AbstractAffineTile2D<?> t2) |
protected static Collection<Feature> |
fetchFeatures(Align.Param p,
AbstractAffineTile2D<?> t) |
protected static Collection<PointMatch> |
fetchPointMatches(Align.Param p,
AbstractAffineTile2D<?> t1,
AbstractAffineTile2D<?> t2)
Fetch a
Collection of corresponding
SIFT-features . |
static boolean |
findModel(Model<?> model,
List<PointMatch> candidates,
Collection<PointMatch> inliers,
float maxEpsilon,
float minInlierRatio,
int minNumInliers,
boolean rejectIdentity,
float identityTolerance) |
static boolean |
findModel(Model<?> model,
List<PointMatch> candidates,
Collection<PointMatch> inliers,
float maxEpsilon,
float minInlierRatio,
int minNumInliers,
boolean rejectIdentity,
float identityTolerance,
boolean multipleHypotheses) |
static void |
optimizeTileConfiguration(Align.ParamOptimize p,
List<AbstractAffineTile2D<?>> tiles,
List<AbstractAffineTile2D<?>> fixedTiles)
Align a set of
tiles that are
interconnected by point-correspondences . |
protected static void |
pairwiseAlign(AbstractAffineTile2D<?> tile,
Set<AbstractAffineTile2D<?>> visited) |
static void |
pairwiseAlignTileConfiguration(List<AbstractAffineTile2D<?>> tiles) |
protected static boolean |
serializeFeatures(Align.Param p,
AbstractAffineTile2D<?> t,
Collection<Feature> f) |
protected static boolean |
serializePointMatches(Align.Param p,
AbstractAffineTile2D<?> t1,
AbstractAffineTile2D<?> t2,
Collection<PointMatch> m)
Save a
Collection of PointMatches two-sided. |
static void |
tilesFromPatches(Align.Param p,
List<? extends Patch> patches,
Collection<? extends Patch> fixedPatches,
List<AbstractAffineTile2D<?>> tiles,
Collection<AbstractAffineTile2D<?>> fixedTiles)
If a Patch is locked or in fixedPatches, its corresponding Tile is added to fixedTiles.
|
public static final Align.Param param
public static final Align.ParamOptimize paramOptimize
public static final boolean findModel(Model<?> model, List<PointMatch> candidates, Collection<PointMatch> inliers, float maxEpsilon, float minInlierRatio, int minNumInliers, boolean rejectIdentity, float identityTolerance, boolean multipleHypotheses)
public static final boolean findModel(Model<?> model, List<PointMatch> candidates, Collection<PointMatch> inliers, float maxEpsilon, float minInlierRatio, int minNumInliers, boolean rejectIdentity, float identityTolerance)
protected static final boolean serializeFeatures(Align.Param p, AbstractAffineTile2D<?> t, Collection<Feature> f)
protected static final Collection<Feature> deserializeFeatures(Align.Param p, AbstractAffineTile2D<?> t)
protected static final Collection<Feature> fetchFeatures(Align.Param p, AbstractAffineTile2D<?> t)
protected static final boolean serializePointMatches(Align.Param p, AbstractAffineTile2D<?> t1, AbstractAffineTile2D<?> t2, Collection<PointMatch> m)
Collection
of PointMatches
two-sided.
Creates two serialization files which is desperately required to clean
up properly invalid serializations on change of a Patch
.p
- t1
- t2
- m
- protected static final Collection<PointMatch> deserializePointMatches(Align.Param p, AbstractAffineTile2D<?> t1, AbstractAffineTile2D<?> t2)
protected static final Collection<PointMatch> fetchPointMatches(Align.Param p, AbstractAffineTile2D<?> t1, AbstractAffineTile2D<?> t2)
Collection
of corresponding
SIFT-features
. Both SIFT-features
and
corresponding points are cached to disk.p
- t1
- t2
- Collection
matches
Collection
of PointMatches
PointMatches
public static final void alignTiles(Align.ParamOptimize p, List<AbstractAffineTile2D<?>> tiles, List<AbstractAffineTile2D<?>> fixedTiles, boolean tilesAreInPlace, int numThreads)
tiles
using
the following procedure:
SIFT-features
from all
tiles
.point-correspondences
from
consistent sets of feature
matches among tile pairs,
optionally inspect only those that are already overlapping.feature extraction
and matching
are executed in multiple Threads
, with the number of
Threads
being a parameter of the method.p
- tiles
- fixedTiles
- tilesAreInPlace
- numThreads
- public static final void alignTiles(Align.ParamOptimize p, List<AbstractAffineTile2D<?>> tiles, List<AbstractAffineTile2D<?>> fixedTiles, int numThreads)
tiles
using
the following procedure:
SIFT-features
from all
tiles
.point-correspondences
from
consistent sets of feature
matches among overlapping
tiles.feature extraction
and matching
are executed in multiple Threads
, with the number of
Threads
being a parameter of the method.p
- tiles
- numThreads
- public static final void optimizeTileConfiguration(Align.ParamOptimize p, List<AbstractAffineTile2D<?>> tiles, List<AbstractAffineTile2D<?>> fixedTiles)
tiles
that are
interconnected by point-correspondences
.protected static final void pairwiseAlign(AbstractAffineTile2D<?> tile, Set<AbstractAffineTile2D<?>> visited)
public static final void pairwiseAlignTileConfiguration(List<AbstractAffineTile2D<?>> tiles)
public static final void connectTilePairs(Align.Param p, List<AbstractAffineTile2D<?>> tiles, List<AbstractAffineTile2D<?>[]> tilePairs, int numThreads, boolean multipleHypotheses)
p
- tiles
- tilePairs
- numThreads
- multipleHypotheses
- public static final void connectTilePairs(Align.Param p, List<AbstractAffineTile2D<?>> tiles, List<AbstractAffineTile2D<?>[]> tilePairs, int numThreads)
p
- tiles
- tilePairs
- numThreads
- public static final void tilesFromPatches(Align.Param p, List<? extends Patch> patches, Collection<? extends Patch> fixedPatches, List<AbstractAffineTile2D<?>> tiles, Collection<AbstractAffineTile2D<?>> fixedTiles)
public static final void alignSelectedPatches(Selection selection, int numThreads)
patches
in a Layer.selection
- numThreads
- public static final void alignLayer(Layer layer, int numThreads)
patches
in a Layer.layer
- public static final void alignLayersLinearly(List<Layer> layers, int numThreads)
layers
- The range of layers to align pairwise.numThreads
- The number of threads to use.public static final void alignLayersLinearly(List<Layer> layers, int numThreads, Filter<Patch> filter)
public static final MovingLeastSquaresTransform2 createMLST(Collection<PointMatch> matches, double alpha) throws Exception
matches
- alpha
- Exception
public static final void alignTileCollections(Align.Param p, Collection<AbstractAffineTile2D<?>> a, Collection<AbstractAffineTile2D<?>> b)
p
- a
- b
- Copyright © 2015–2021 Fiji. All rights reserved.