Added ability to propagate manual transformation to all previous or next layers.
[trakem2.git] / test / transformmeshmapping.js
blob0cd1def25826ee54027593151920817d9203f5d0
1 importClass( Packages.mpicbg.trakem2.transform.MovingLeastSquaresTransform );
2 importClass( Packages.mpicbg.trakem2.transform.TransformMesh );
3 importClass( Packages.mpicbg.trakem2.transform.TransformMeshMapping );
4 importClass( Packages.java.awt.Color );
6 IJ.log( ">>> Test mpicbg.trakem2.transform.TransformMeshMapping >>>" );
8 var m = new MovingLeastSquaresTransform();
9 m.init( "rigid 1 40 40 80 80 280 160 220 140 280 40 200 80" );
10 IJ.run( "Clown (14K)" );
11 var imp = IJ.getImage();
12 for ( var i = 1; i <= 4; ++i )
14 var n = Math.pow( 2, i );
15 IJ.log( n );
16 var mesh = new TransformMesh( m, n, imp.getWidth(), imp.getHeight() );
17 var mapping = new TransformMeshMapping( mesh );
19 var ipMapping = mapping.createMappedImage( imp.getProcessor() );
20 var ipMappingInterpolated = mapping.createMappedImageInterpolated( imp.getProcessor() );
22 var impMapping = new ImagePlus( n + " mapping", ipMapping );
23 var impMappingInterpolated = new ImagePlus( n + " interpolated mapping", ipMappingInterpolated );
25 impMapping.show();
26 impMappingInterpolated.show();
27 impMapping.getCanvas().setDisplayList( mesh.illustrateMesh(), Color.white, null );
28 impMappingInterpolated.getCanvas().setDisplayList( mesh.illustrateMesh(), Color.white, null );
30 var ipMappingInverse = mapping.createInverseMappedImage( ipMapping );
31 var ipMappingInverseInterpolated = mapping.createInverseMappedImageInterpolated( ipMappingInterpolated );
33 var impMappingInverse = new ImagePlus( n + " inverse mapping", ipMappingInverse );
34 var impMappingInverseInterpolated = new ImagePlus( n + " interpolated inverse mapping", ipMappingInverseInterpolated );
35 impMappingInverse.show();
36 impMappingInverseInterpolated.show();
40 IJ.log( " + mapping passed" )
41 IJ.log( "<<< Test mpicbg.trakem2.transform.TransformMeshMapping <<<" );