M - local modelpublic class ElasticMovingLeastSquaresMesh<M extends AbstractModel<M>> extends MovingLeastSquaresMesh<M>
| Modifier and Type | Field and Description |
|---|---|
protected double |
alpha |
protected HashSet<Tile<M>> |
fixedTiles |
error, modelClass, ptav, defaultPointFactory, defaultPointMatchFactory, height, va, width| Constructor and Description |
|---|
ElasticMovingLeastSquaresMesh(Class<M> modelClass,
int numX,
double width,
double height,
double alpha) |
ElasticMovingLeastSquaresMesh(Class<M> modelClass,
int numX,
int numY,
double width,
double height,
double alpha) |
| Modifier and Type | Method and Description |
|---|---|
void |
fixTile(Tile<M> t) |
Shape |
illustratePointMatchDisplacements()
Create a Shape that illustrates the displacements of PointMatches.
|
Shape |
illustratePointMatches()
Create a Shape that illustrates the PointMatches.
|
void |
optimize(double maxError,
int maxIterations,
int maxPlateauwidth)
Minimize the displacement of all PointMatches of all tiles.
|
void |
optimizeByStrength(double maxError,
int maxIterations,
int maxPlateauwidth,
ij.process.ByteProcessor ipPlot,
ij.ImagePlus impPlot)
Minimize the displacement of all PointMatches of all tiles.
|
void |
optimizeIteration()
Performs one optimization iteration.
|
void |
optimizeIteration(ErrorStatistic observer)
Performs one optimization iteration and writes its error into the ErrorStatistics
|
void |
update(double amount)
Update all PointMatches in all tiles and estimate the average
displacement by weight of the PointMatch.
|
addMatchWeightedByDistance, apply, findClosest, getError, getModelClass, getVerticeModelMap, getVertices, numVertices, updateModels, weighaddTriangle, apply, applyInPlace, applyInverse, applyInverseInPlace, bounds, createInverse, findClosestSourcePoint, findClosestTargetPoint, getAV, getHeight, getVA, getWidth, illustrateBestRigidSVG, illustrateMesh, illustrateMeshSVG, illustrateTriangle, init, isInConvexTargetPolygon, isInSourcePolygon, numY, scale, updateAffine, updateAffinesprotected final HashSet<Tile<M extends AbstractModel<M>>> fixedTiles
protected final double alpha
public ElasticMovingLeastSquaresMesh(Class<M> modelClass, int numX, int numY, double width, double height, double alpha)
public final void update(double amount)
public final void optimizeIteration(ErrorStatistic observer) throws NotEnoughDataPointsException, IllDefinedDataPointsException
observer - collecting the error after updateNotEnoughDataPointsExceptionIllDefinedDataPointsExceptionpublic final void optimizeIteration()
throws NotEnoughDataPointsException,
IllDefinedDataPointsException
public final void optimize(double maxError,
int maxIterations,
int maxPlateauwidth)
throws NotEnoughDataPointsException,
IllDefinedDataPointsException
maxError - do not accept convergence if error is > max_errormaxIterations - stop after that many iterations even if there was
no minimum foundmaxPlateauwidth - convergence is reached if the average slope in
an interval of this size is 0.0 (in double accuracy). This prevents
the algorithm from stopping at plateaus smaller than this value.NotEnoughDataPointsExceptionIllDefinedDataPointsExceptionpublic final void optimizeByStrength(double maxError,
int maxIterations,
int maxPlateauwidth,
ij.process.ByteProcessor ipPlot,
ij.ImagePlus impPlot)
throws NotEnoughDataPointsException,
IllDefinedDataPointsException
maxError - do not accept convergence if error is > max_errormaxIterations - stop after that many iterations even if there was
no minimum foundmaxPlateauwidth - convergence is reached if the average slope in
an interval of this size is 0.0 (in double accuracy). This prevents
the algorithm from stopping at plateaus smaller than this value.NotEnoughDataPointsExceptionIllDefinedDataPointsExceptionpublic final Shape illustratePointMatches()
public final Shape illustratePointMatchDisplacements()
Copyright © 2015–2021 Fiji. All rights reserved.