@Override public TranslationModel2D copy() { final TranslationModel2D m = new TranslationModel2D(); m.tx = tx; m.ty = ty; m.cost = cost; return m; }
/** * Initialize the model with the parameters of the {@link AffineTransform} * of the {@link Patch}. The {@link AffineTransform} should be a * Translation, otherwise the results will not be what you might expect. * This means, that: * <pre> * {@link AffineTransform#getScaleX()} == {@link AffineTransform#getScaleY()} == 1 * {@link AffineTransform#getShearX()} == {@link AffineTransform#getShearY()} == 0 * </pre> */ @Override protected void initModel() { final AffineTransform a = patch.getAffineTransform(); model.set( a.getTranslateX(), a.getTranslateY() ); }
protected void writeRegisteredTileConfiguration( final File file, final ArrayList< ImageCollectionElement > elements ) { // write the tileconfiguration using the translation model final PrintWriter out = TextFileAccess.openFileWrite( file ); final int dimensionality = elements.get( 0 ).getDimensionality(); Log.info( "Writing registered TileConfiguration: " + file ); out.println( "# Define the number of dimensions we are working on" ); out.println( "dim = " + dimensionality ); out.println( "" ); out.println( "# Define the image coordinates" ); for ( final ImageCollectionElement element : elements ) { if ( dimensionality == 3 ) { final TranslationModel3D m = (TranslationModel3D)element.getModel(); out.println( element.getFile().getName() + "; ; (" + m.getTranslation()[ 0 ] + ", " + m.getTranslation()[ 1 ] + ", " + m.getTranslation()[ 2 ] + ")"); } else { final TranslationModel2D m = (TranslationModel2D)element.getModel(); final double[] tmp = new double[ 2 ]; m.applyInPlace( tmp ); out.println( element.getFile().getName() + "; ; (" + tmp[ 0 ] + ", " + tmp[ 1 ] + ")"); } } out.close(); }
public static void main( String[] args ) throws NotEnoughDataPointsException { Point p1 = new Point( new double[]{ 10, 20 } ); Point p2 = new Point( new double[]{ 100, 200 } ); TranslationModel2D m = new TranslationModel2D(); ArrayList< PointMatch > list = new ArrayList< PointMatch >(); list.add( new PointMatch( p1, p2 ) ); m.fit( list ); System.out.println( m ); p1.apply( m ); System.out.println( Util.printCoordinates( p1.getL() ) ); System.out.println( Util.printCoordinates( p1.getW() ) ); System.out.println( Util.printCoordinates( p2.getL() ) ); System.out.println( Util.printCoordinates( p2.getW() ) ); } }
TranslationModel2D model1 = new TranslationModel2D(); TranslationModel2D model2 = new TranslationModel2D(); model2.set( result.getOffset( 0 ), result.getOffset( 1 ) );
t.concatenate( ( TranslationModel2D )( Object )pair[ 0 ].getModel() ); m = t; break;
final TranslationModel2D first_tile_model = new TranslationModel2D(); first_tile_model.set( (float) patch[0].getAffineTransform().getTranslateX(), (float) patch[0].getAffineTransform().getTranslateY()); al_tiles.add(new TranslationTile2D(first_tile_model, patch[0])); final TranslationModel2D tile_model = new TranslationModel2D(); tile_model.set( (float) patch[i].getAffineTransform().getTranslateX(), (float) patch[i].getAffineTransform().getTranslateY()); final AbstractAffineTile2D<?> tile = new TranslationTile2D(tile_model, patch[i]);
/** * TODO Not yet tested */ @Override public TranslationModel2D createInverse() { final TranslationModel2D ict = new TranslationModel2D(); ict.tx = -tx; ict.ty = -ty; ict.cost = cost; return ict; }
final TranslationModel2D tTarget = new TranslationModel2D(); tTarget.set( -scaledSearchRadiusX / scale, -scaledSearchRadiusY / scale );
@SuppressWarnings( "rawtypes" ) @Override protected void initModel() { final AffineTransform a = patch.getAffineTransform(); if ( AffineModel2D.class.isInstance( model ) ) ( ( AffineModel2D )( Object )model ).set( a ); else if ( SimilarityModel2D.class.isInstance( model ) ) ( ( SimilarityModel2D )( Object )model ).set( a.getScaleX(), a.getShearY(), a.getTranslateX(), a.getTranslateY() ); else if ( RigidModel2D.class.isInstance( model ) ) ( ( RigidModel2D )( Object )model ).set( a.getScaleX(), a.getShearY(), a.getTranslateX(), a.getTranslateY() ); else if ( TranslationModel2D.class.isInstance( model ) ) ( ( TranslationModel2D )( Object )model ).set( a.getTranslateX(), a.getTranslateY() ); else if ( InterpolatedAffineModel2D.class.isInstance( model ) ) ( ( InterpolatedAffineModel2D )( Object )model ).set( a ); }
/** * TODO Not yet tested */ @Override public TranslationModel2D createInverse() { final TranslationModel2D ict = new TranslationModel2D(); ict.tx = -tx; ict.ty = -ty; ict.cost = cost; return ict; }
final TranslationModel2D tTarget = new TranslationModel2D(); tTarget.set( -scaledSearchRadiusX / scale, -scaledSearchRadiusY / scale );
model.set( element.getOffset( 0 ), element.getOffset( 1 ) );
@Override public TranslationModel2D copy() { final TranslationModel2D m = new TranslationModel2D(); m.tx = tx; m.ty = ty; m.cost = cost; return m; }
Util.fillWithNaN( mappedTarget ); final TranslationModel2D tTarget = new TranslationModel2D(); tTarget.set( -searchRadiusX, -searchRadiusY ); final CoordinateTransformList< CoordinateTransform > lTarget = new CoordinateTransformList< CoordinateTransform >(); lTarget.add( tTarget );
model.set( 0, 0 );
public TranslationTile2D( final Patch patch ) { this( new TranslationModel2D(), patch ); }
Util.fillWithNaN( mappedTarget ); final TranslationModel2D tTarget = new TranslationModel2D(); tTarget.set( -searchRadiusX, -searchRadiusY ); final CoordinateTransformList< CoordinateTransform > lTarget = new CoordinateTransformList< CoordinateTransform >(); lTarget.add( tTarget );
public AbstractModel<?> getInitialModel() { if ( initialModel != null ) return initialModel; else if ( this.dimensionality == 2 ) return new TranslationModel2D(); else return new TranslationModel3D(); }
boundsMesh.bounds( min, max ); System.out.println( Arrays.toString( min ) ); final TranslationModel2D shift = new TranslationModel2D(); shift.set( -min[0], -min[1] ); final CoordinateTransformList< CoordinateTransform > ctl = new CoordinateTransformList< CoordinateTransform >(); ctl.add( t );