public class TranslationModel3D extends AbstractAffineModel3D<TranslationModel3D> implements InvertibleBoundable
Modifier and Type | Field and Description |
---|---|
protected static int |
MIN_NUM_MATCHES |
protected double[] |
translation |
cost, rnd
Constructor and Description |
---|
TranslationModel3D() |
Modifier and Type | Method and Description |
---|---|
double[] |
apply(double[] point)
Apply the
CoordinateTransform to a location. |
void |
applyInPlace(double[] point)
Apply the
CoordinateTransform to a location. |
double[] |
applyInverse(double[] point)
Apply the inverse of the model to a point location
|
void |
applyInverseInPlace(double[] point)
apply the inverse of the model to a point location
|
void |
concatenate(TranslationModel3D model) |
TranslationModel3D |
copy()
Clone the model.
|
TranslationModel3D |
createInverse()
TODO Not yet tested
|
void |
estimateBounds(double[] min,
double[] max)
Estimate the bounds of an n-dimensional interval [min,max] with min and
max being n-dimensional vectors.
|
void |
estimateInverseBounds(double[] min,
double[] max)
TODO not yet tested!
|
<P extends PointMatch> |
fit(Collection<P> matches)
Fit the
Model to a set of data points minimizing the global
transfer error. |
double[] |
getMatrix(double[] m) |
int |
getMinNumMatches() |
double[] |
getTranslation() |
void |
preConcatenate(TranslationModel3D model) |
void |
set(double tx,
double ty,
double tz) |
void |
set(TranslationModel3D m)
Set the model to m
|
void |
toArray(double[] data)
Write the 12 parameters of the affine into a double array.
|
void |
toMatrix(double[][] data)
Write the 12 parameters of the affine into a 4x3 double array.
|
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 final double[] translation
public final int getMinNumMatches()
getMinNumMatches
in interface Model<TranslationModel3D>
PointMatches
required
to solve the model.public final double[] getTranslation()
public final double[] apply(double[] point)
CoordinateTransform
CoordinateTransform
to a location.apply
in interface CoordinateTransform
public final void applyInPlace(double[] point)
CoordinateTransform
CoordinateTransform
to a location.applyInPlace
in interface CoordinateTransform
public final double[] applyInverse(double[] point)
InverseCoordinateTransform
applyInverse
in interface InverseCoordinateTransform
public final void applyInverseInPlace(double[] point)
InverseCoordinateTransform
applyInverseInPlace
in interface InverseCoordinateTransform
public final <P extends PointMatch> void fit(Collection<P> matches) throws NotEnoughDataPointsException
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.
fit
in interface Model<TranslationModel3D>
matches
- set of point correpondencesNotEnoughDataPointsException
- if matches does not contain
enough data pointspublic final void set(double tx, double ty, double tz)
public final void set(TranslationModel3D m)
Model
set
in interface Model<TranslationModel3D>
public TranslationModel3D copy()
Model
copy
in interface Model<TranslationModel3D>
public TranslationModel3D createInverse()
createInverse
in interface Affine3D<TranslationModel3D>
createInverse
in interface InvertibleCoordinateTransform
public void estimateBounds(double[] min, double[] max)
Boundable
estimateBounds
in interface Boundable
estimateBounds
in class AbstractAffineModel3D<TranslationModel3D>
public void estimateInverseBounds(double[] min, double[] max) throws NoninvertibleModelException
AbstractAffineModel3D
estimateInverseBounds
in interface InverseBoundable
estimateInverseBounds
in class AbstractAffineModel3D<TranslationModel3D>
NoninvertibleModelException
public void preConcatenate(TranslationModel3D model)
preConcatenate
in interface Affine3D<TranslationModel3D>
public void concatenate(TranslationModel3D model)
concatenate
in interface Affine3D<TranslationModel3D>
public void toArray(double[] data)
Affine3D
toArray
in interface Affine3D<TranslationModel3D>
public double[] getMatrix(double[] m)
getMatrix
in class AbstractAffineModel3D<TranslationModel3D>
public void toMatrix(double[][] data)
Affine3D
[0][0] -> m00; [0][1] -> m01; [0][2] -> m02; [0][3] -> m03
[1][0] -> m10; [1][1] -> m11; [1][2] -> m12; [1][3] -> m13
[2][0] -> m20; [2][1] -> m21; [2][2] -> m22; [2][3] -> m23
toMatrix
in interface Affine3D<TranslationModel3D>
Copyright © 2015–2021 Fiji. All rights reserved.