public final class InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>> extends InvertibleInterpolatedModel<A,B,InterpolatedAffineModel3D<A,B>> implements Affine3D<InterpolatedAffineModel3D<A,B>>, InvertibleBoundable
InterpolatedModel.  Implements
 interpolation directly by linear matrix interpolation.| Modifier and Type | Field and Description | 
|---|---|
protected AffineModel3D | 
affine  | 
protected double[] | 
afs  | 
protected double[] | 
bfs  | 
a, b, l1, lambdacost, rnd| Constructor and Description | 
|---|
InterpolatedAffineModel3D(A model,
                         B regularizer,
                         double lambda)  | 
| Modifier and Type | Method and Description | 
|---|---|
double[] | 
apply(double[] location)
Apply the  
CoordinateTransform to a location. | 
void | 
applyInPlace(double[] location)
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(InterpolatedAffineModel3D<A,B> affine3d)  | 
InterpolatedAffineModel3D<A,B> | 
copy()
Clone the model. 
 | 
AffineModel3D | 
createAffineModel3D()  | 
InterpolatedAffineModel3D<A,B> | 
createInverse()  | 
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)
Estimate the bounds of an n-dimensional interval [min,max] with min and
 max being n-dimensional vectors. 
 | 
<P extends PointMatch> | 
fit(Collection<P> matches)
Fit the  
Model to a set of data points minimizing the global
 transfer error. | 
void | 
interpolate()  | 
void | 
preConcatenate(InterpolatedAffineModel3D<A,B> affine3d)  | 
void | 
set(InterpolatedAffineModel3D<A,B> 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. 
 | 
getA, getB, getLambda, getMinNumMatches, setLambdabetterThan, filter, filter, filter, filterRansac, filterRansac, filterRansac, filterRansac, fit, fit, getCost, icp, localSmoothnessFilter, ransac, ransac, setCost, test, testprotected final AffineModel3D affine
protected final double[] afs
protected final double[] bfs
public void interpolate()
public <P extends PointMatch> void fit(Collection<P> matches) throws NotEnoughDataPointsException, IllDefinedDataPointsException
ModelModel 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<InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>fit in class InterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>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 void set(InterpolatedAffineModel3D<A,B> m)
Modelset in interface Model<InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>set in class InterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>public InterpolatedAffineModel3D<A,B> copy()
Modelcopy in interface Model<InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>copy in class InvertibleInterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>public double[] apply(double[] location)
CoordinateTransformCoordinateTransform to a location.public void applyInPlace(double[] location)
CoordinateTransformCoordinateTransform to a location.applyInPlace in interface CoordinateTransformapplyInPlace in class InterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>public double[] applyInverse(double[] point)
                      throws NoninvertibleModelException
InverseCoordinateTransformapplyInverse in interface InverseCoordinateTransformapplyInverse in class InvertibleInterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>NoninvertibleModelExceptionpublic void applyInverseInPlace(double[] point)
                         throws NoninvertibleModelException
InverseCoordinateTransformapplyInverseInPlace in interface InverseCoordinateTransformapplyInverseInPlace in class InvertibleInterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>NoninvertibleModelExceptionpublic InterpolatedAffineModel3D<A,B> createInverse()
createInverse in interface Affine3D<InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>createInverse in interface InvertibleCoordinateTransformcreateInverse in class InvertibleInterpolatedModel<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>,InterpolatedAffineModel3D<A extends Model<A> & Affine3D<A>,B extends Model<B> & Affine3D<B>>>public AffineModel3D createAffineModel3D()
public void preConcatenate(InterpolatedAffineModel3D<A,B> affine3d)
public void concatenate(InterpolatedAffineModel3D<A,B> affine3d)
public void toArray(double[] data)
Affine3Dpublic 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
 public void estimateBounds(double[] min,
                           double[] max)
BoundableestimateBounds in interface Boundablepublic void estimateInverseBounds(double[] min,
                                  double[] max)
                           throws NoninvertibleModelException
InverseBoundableestimateInverseBounds in interface InverseBoundableNoninvertibleModelExceptionCopyright © 2015–2021 Fiji. All rights reserved.