@Override public TranslationModel3D copy() { final TranslationModel3D m = new TranslationModel3D(); m.translation[ 0 ] = translation[ 0 ]; m.translation[ 1 ] = translation[ 1 ]; m.translation[ 2 ] = translation[ 2 ]; m.cost = cost; return m; }
final public void preConcatenate( final TranslationModel3D model ) { final double[] t = model.getTranslation(); m03 += t[ 0 ]; m13 += t[ 1 ]; m23 += t[ 2 ]; invert(); }
final private void shift( final double d ) { currentSlice += d; sliceShift.set( 0, 0, -currentSlice ); }
final TranslationModel3D unShiftBounds = new TranslationModel3D(); unShiftBounds.set( -boundsMin[ 0 ], -boundsMin[ 1 ], 0 ); ictl.add( unShiftBounds ); final TranslationModel3D sliceShift = new TranslationModel3D(); sliceShift.set( 0, 0, -currentZ ); ictl.add( sliceShift );
final RGLDMParameters dp = new RGLDMParameters( new TranslationModel3D(), 50, 2, 3, 1 ); final IterativeClosestPointParameters ip = new IterativeClosestPointParameters( new TranslationModel3D(), 5.0, 100 ); final TranslationModel3D model = new TranslationModel3D(); model.fit( p.getB().getInliers() ); System.out.println( Util.printCoordinates( model.getTranslation() ) );
TranslationModel3D model = new TranslationModel3D(); System.out.println( "lastModel: " + model.toString() ); System.out.println( "newModel: " + model.toString() );
@Override public void estimateInverseBounds( final double[] min, final double[] max ) throws NoninvertibleModelException { applyInverseInPlace( min ); applyInverseInPlace( max ); }
@Override public void estimateBounds( final double[] min, final double[] max ) { applyInPlace( min ); applyInPlace( max ); }
@Override public void preConcatenate( final TranslationModel3D model ) { concatenate( model ); }
TranslationModel3D model1 = new TranslationModel3D(); TranslationModel3D model2 = new TranslationModel3D(); model2.set( result.getOffset( 0 ), result.getOffset( 1 ), result.getOffset( 2 ) );
@Override public void estimateInverseBounds( final double[] min, final double[] max ) throws NoninvertibleModelException { applyInverseInPlace( min ); applyInverseInPlace( max ); }
@Override public void estimateBounds( final double[] min, final double[] max ) { applyInPlace( min ); applyInPlace( max ); }
@Override public void preConcatenate( final TranslationModel3D model ) { concatenate( model ); }
@Override public TranslationModel3D copy() { final TranslationModel3D m = new TranslationModel3D(); m.translation[ 0 ] = translation[ 0 ]; m.translation[ 1 ] = translation[ 1 ]; m.translation[ 2 ] = translation[ 2 ]; m.cost = cost; return m; }
final int h = ( int )Math.ceil( max[ 1 ] - min[ 1 ] ); final int d = ( int )Math.ceil( max[ 2 ] - min[ 2 ] ); final TranslationModel3D minShift = new TranslationModel3D(); minShift.set( -min[ 0 ], -min[ 1 ], -min[ 2 ] ); a.preConcatenate( minShift ); final TranslationModel3D sliceOffset = new TranslationModel3D(); sliceOffset.set( 0, 0, -1 ); final InverseTransformMapping< AffineModel3D> aMapping = new InverseTransformMapping< AffineModel3D >( a );
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 private void shift( final double d ) { currentSlice += d; sliceShift.set( 0, 0, -currentSlice ); }
/** * TODO Not yet tested */ //@Override @Override public TranslationModel3D createInverse() { final TranslationModel3D ict = new TranslationModel3D(); ict.translation[ 0 ] = -translation[ 0 ]; ict.translation[ 1 ] = -translation[ 1 ]; ict.translation[ 2 ] = -translation[ 2 ]; ict.cost = cost; return ict; }
final int h = ( int )Math.ceil( max[ 1 ] - min[ 1 ] ); final int d = ( int )Math.ceil( max[ 2 ] - min[ 2 ] ); final TranslationModel3D minShift = new TranslationModel3D(); minShift.set( -min[ 0 ], -min[ 1 ], -min[ 2 ] ); a.preConcatenate( minShift ); final TranslationModel3D sliceOffset = new TranslationModel3D(); sliceOffset.set( 0, 0, -1 ); final InverseTransformMapping< AffineModel3D> aMapping = new InverseTransformMapping< AffineModel3D >( a );
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(); }