@Override public InvertibleCoordinateTransform createInverse() { @SuppressWarnings( "unchecked" ) final InvertibleInterpolatedModel< A, B, M > inverse = new InvertibleInterpolatedModel< A, B, M >( ( A )a.createInverse(), ( B )b.createInverse(), lambda ); inverse.cost = cost; return inverse; } }
@Override public InvertibleCoordinateTransform createInverse() { @SuppressWarnings( "unchecked" ) final InvertibleConstantModel< A, M > inverse = new InvertibleConstantModel< A, M >( ( A )model.createInverse() ); inverse.cost = cost; return inverse; } }
@Override public InterpolatedAffineModel3D< A, B > copy() { final InterpolatedAffineModel3D< A, B > copy = new InterpolatedAffineModel3D< A, B >( a.copy(), b.copy(), lambda ); copy.cost = cost; return copy; }
@Override public InterpolatedAffineModel2D< A, B > copy() { final InterpolatedAffineModel2D< A, B > copy = new InterpolatedAffineModel2D< A, B >( a.copy(), b.copy(), lambda ); copy.cost = cost; return copy; }
@Override public M copy() { @SuppressWarnings( "unchecked" ) final M copy = ( M )new InvertibleInterpolatedModel< A, B, M >( a.copy(), b.copy(), lambda ); copy.cost = cost; return copy; }
@Override public M copy() { @SuppressWarnings( "unchecked" ) final M copy = ( M )new ConstantModel< A, M >( model.copy() ); copy.cost = cost; return copy; }
final public void concatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 = m00 * t[ 0 ] + m01 * t[ 1 ] + m02 * t[ 2 ] + m03; m13 = m10 * t[ 0 ] + m11 * t[ 1 ] + m12 * t[ 2 ] + m13; m23 = m20 * t[ 0 ] + m21 * t[ 1 ] + m22 * t[ 2 ] + m23; invert(); }
final public void preConcatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 += t[ 0 ]; m13 += t[ 1 ]; m23 += t[ 2 ]; invert(); }
@Override public InterpolatedAffineModel1D< A, B > createInverse() { final InterpolatedAffineModel1D< A, B > inverse = new InterpolatedAffineModel1D< A, B >( a.createInverse(), b.createInverse(), lambda ); inverse.cost = cost; return inverse; }
@Override public < P extends PointMatch > void fit( final Collection< P > matches ) throws NotEnoughDataPointsException, IllDefinedDataPointsException { super.fit( matches ); interpolate(); }
@Override public < P extends PointMatch > void fit( final Collection< P > matches ) throws NotEnoughDataPointsException, IllDefinedDataPointsException { super.fit( matches ); interpolate(); }
@Override public < P extends PointMatch > void fit( final Collection< P > matches ) throws NotEnoughDataPointsException, IllDefinedDataPointsException { super.fit( matches ); interpolate(); }