public class AffineModel1D extends AbstractAffineModel1D<AffineModel1D> implements InvertibleBoundable
Modifier and Type | Field and Description |
---|---|
protected double |
i00 |
protected double |
i01 |
protected boolean |
isInvertible |
protected double |
m00 |
protected double |
m01 |
protected static int |
MIN_NUM_MATCHES |
cost, rnd
Constructor and Description |
---|
AffineModel1D() |
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. |
double[] |
applyInverse(double[] l)
Apply the inverse of the model to a point location
|
void |
applyInverseInPlace(double[] l)
apply the inverse of the model to a point location
|
void |
concatenate(AffineModel1D model) |
AffineModel1D |
copy()
Clone the model.
|
AffineModel1D |
createInverse()
TODO Not yet tested
|
<P extends PointMatch> |
fit(Collection<P> matches)
Closed form weighted least squares solution as described by
\citet{SchaeferAl06}.
|
void |
fit(double[][] p,
double[][] q,
double[] w)
Closed form weighted least squares solution as described by
\citet{SchaeferAl06}.
|
void |
fit(float[][] p,
float[][] q,
float[] w)
Closed form weighted least squares solution as described by
\citet{SchaeferAl06}.
|
double[] |
getMatrix(double[] m) |
int |
getMinNumMatches() |
protected void |
invert() |
void |
preConcatenate(AffineModel1D model) |
void |
reset() |
void |
set(AffineModel1D m)
Set the model to m
|
void |
set(double m00,
double m01)
Initialize the model such that the respective affine transform is:
|
void |
set(TranslationModel1D m) |
void |
toArray(double[] data)
Write the 2 parameters of the affine into a double array.
|
void |
toMatrix(double[][] data)
Write the 2 parameters of the affine into a 2x1 double array.
|
String |
toString() |
estimateBounds, estimateInverseBounds
betterThan, filter, filter, filter, filterRansac, filterRansac, filterRansac, filterRansac, getCost, icp, localSmoothnessFilter, ransac, ransac, setCost, test, test
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
estimateBounds
estimateInverseBounds
protected static final int MIN_NUM_MATCHES
protected double m00
protected double m01
protected double i00
protected double i01
protected boolean isInvertible
public double[] getMatrix(double[] m)
getMatrix
in class AbstractAffineModel1D<AffineModel1D>
public final int getMinNumMatches()
getMinNumMatches
in interface Model<AffineModel1D>
PointMatches
required
to solve the model.public final double[] apply(double[] l)
CoordinateTransform
CoordinateTransform
to a location.apply
in interface CoordinateTransform
public final void applyInPlace(double[] l)
CoordinateTransform
CoordinateTransform
to a location.applyInPlace
in interface CoordinateTransform
public final double[] applyInverse(double[] l) throws NoninvertibleModelException
InverseCoordinateTransform
applyInverse
in interface InverseCoordinateTransform
NoninvertibleModelException
public final void applyInverseInPlace(double[] l) throws NoninvertibleModelException
InverseCoordinateTransform
applyInverseInPlace
in interface InverseCoordinateTransform
NoninvertibleModelException
public final void fit(double[][] p, double[][] q, double[] w) throws NotEnoughDataPointsException, IllDefinedDataPointsException
fit
in interface Model<AffineModel1D>
fit
in class AbstractModel<AffineModel1D>
p
- source pointsq
- target pointsw
- weightsNotEnoughDataPointsException
- if not enough data points
were availableIllDefinedDataPointsException
- if the set of data points is
inappropriate to solve the Modelpublic final void fit(float[][] p, float[][] q, float[] w) throws NotEnoughDataPointsException, IllDefinedDataPointsException
fit
in interface Model<AffineModel1D>
fit
in class AbstractModel<AffineModel1D>
p
- source pointsq
- target pointsw
- weightsNotEnoughDataPointsException
- if not enough data points
were availableIllDefinedDataPointsException
- if the set of data points is
inappropriate to solve the Modelpublic final <P extends PointMatch> void fit(Collection<P> matches) throws NotEnoughDataPointsException, IllDefinedDataPointsException
fit
in interface Model<AffineModel1D>
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(AffineModel1D m)
Model
set
in interface Model<AffineModel1D>
public final void reset()
public final void set(TranslationModel1D m)
public AffineModel1D copy()
Model
copy
in interface Model<AffineModel1D>
protected void invert()
public final void preConcatenate(AffineModel1D model)
preConcatenate
in interface Affine1D<AffineModel1D>
public final void concatenate(AffineModel1D model)
concatenate
in interface Affine1D<AffineModel1D>
public final void set(double m00, double m01)
m00 m01 0 1
m00
- m01
- public AffineModel1D createInverse()
createInverse
in interface Affine1D<AffineModel1D>
createInverse
in interface InvertibleCoordinateTransform
public void toArray(double[] data)
Affine1D
toArray
in interface Affine1D<AffineModel1D>
public void toMatrix(double[][] data)
Affine1D
[0][0] -> m00; [0][1] -> m01;
toMatrix
in interface Affine1D<AffineModel1D>
Copyright © 2015–2021 Fiji. All rights reserved.