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, pt
av, 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, weigh
addTriangle, apply, applyInPlace, applyInverse, applyInverseInPlace, bounds, createInverse, findClosestSourcePoint, findClosestTargetPoint, getAV, getHeight, getVA, getWidth, illustrateBestRigidSVG, illustrateMesh, illustrateMeshSVG, illustrateTriangle, init, isInConvexTargetPolygon, isInSourcePolygon, numY, scale, updateAffine, updateAffines
protected 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 updateNotEnoughDataPointsException
IllDefinedDataPointsException
public 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.NotEnoughDataPointsException
IllDefinedDataPointsException
public 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.NotEnoughDataPointsException
IllDefinedDataPointsException
public final Shape illustratePointMatches()
public final Shape illustratePointMatchDisplacements()
Copyright © 2015–2021 Fiji. All rights reserved.