public class TranslationInvariantAffineModel3D extends TranslationInvariantModel<TranslationInvariantAffineModel3D>
@article{SchaeferAl06, author = {Scott Schaefer and Travis McPhail and Joe Warren}, title = {Image deformation using moving least squares}, journal = {ACM Transactions on Graphics}, volume = {25}, number = {3}, year = {2006}, pages = {533--540}, publisher = {ACM}, address = {New York, NY, USA}, url = {http://faculty.cs.tamu.edu/schaefer/research/mls.pdf}, }
Modifier and Type | Field and Description |
---|---|
protected double |
m00 |
protected double |
m01 |
protected double |
m02 |
protected double |
m10 |
protected double |
m11 |
protected double |
m12 |
protected double |
m20 |
protected double |
m21 |
protected double |
m22 |
protected static int |
MIN_NUM_MATCHES |
cost, rnd
Constructor and Description |
---|
TranslationInvariantAffineModel3D() |
Modifier and Type | Method and Description |
---|---|
double[] |
apply(double[] l)
Apply the
CoordinateTransform to a location. |
void |
applyInPlace(double[] l)
Apply the
CoordinateTransform to a location. |
boolean |
canDoNumDimension(int numDimensions)
The
TranslationInvariantModel can tell which dimensions it supports. |
TranslationInvariantAffineModel3D |
copy()
Clone the model.
|
<P extends PointMatch> |
fit(Collection<P> matches)
Fit the
Model to a set of data points minimizing the global
transfer error. |
int |
getMinNumMatches() |
void |
set(TranslationInvariantAffineModel3D m)
Set the model to m
|
String |
toString() |
betterThan, filter, filter, filter, filterRansac, filterRansac, filterRansac, filterRansac, fit, fit, getCost, icp, localSmoothnessFilter, ransac, ransac, setCost, test, test
protected static final int MIN_NUM_MATCHES
protected double m00
protected double m01
protected double m02
protected double m10
protected double m11
protected double m12
protected double m20
protected double m21
protected double m22
public boolean canDoNumDimension(int numDimensions)
TranslationInvariantModel
TranslationInvariantModel
can tell which dimensions it supports.canDoNumDimension
in class TranslationInvariantModel<TranslationInvariantAffineModel3D>
numDimensions
- - The dimensionality (e.g. 3 means 3-dimensional)TranslationInvariantModel
supports that dimensionalitypublic final <P extends PointMatch> void fit(Collection<P> matches) throws NotEnoughDataPointsException, IllDefinedDataPointsException
Model
Model
to a set of data points minimizing the global
transfer error. This is assumed to be implemented as a weighted least
squares minimization. Use ransac
and/ or Model.filter(java.util.Collection<P>, java.util.Collection<P>, double, int)
to remove outliers from your data points.
The estimated model transfers match.p1.local to match.p2.world.
matches
- set of point correpondencesNotEnoughDataPointsException
- if matches does not contain
enough data pointsIllDefinedDataPointsException
- if the set of data points is
inappropriate to solve the Modelpublic final void set(TranslationInvariantAffineModel3D m)
Model
public TranslationInvariantAffineModel3D copy()
Model
public final int getMinNumMatches()
PointMatches
required
to solve the model.public final double[] apply(double[] l)
CoordinateTransform
CoordinateTransform
to a location.public final void applyInPlace(double[] l)
CoordinateTransform
CoordinateTransform
to a location.Copyright © 2015–2021 Fiji. All rights reserved.