public ImagePlus register( NamedPointSet points0, NamedPointSet points1 ) { FastMatrix affine=bestBetweenPoints( points0, sourceImages[0], points1, sourceImages[1] ); TransformedImage ti = new TransformedImage( sourceImages[0], sourceImages[1] ); ti.setTransformation( affine ); ImagePlus transformed = ti.getTransformed(); transformed.setTitle( "Transformed" ); return transformed; } }
public double evaluate( double[] argument ) { double [] argumentAdjusted = argument.clone(); argumentAdjusted[3] *= sizeOfLargestDimension; argumentAdjusted[7] *= sizeOfLargestDimension; argumentAdjusted[11] *= sizeOfLargestDimension; m.setFromFlatDoubleArray( argumentAdjusted ); double score = evaluateFastMatrix( m, from, to ); if( score < bestScore ) { bestScore = score; System.arraycopy( argument, 0, bestArgument, 0, 12 ); } return score; }
FastMatrix affine = generateAffine( fromCommon.get(choice[0]), fromCommon.get(choice[1]), toCommon.get(choice[3]) ); double originalScore = evaluateFastMatrix( affine, fromCommon, toCommon ); if( originalScore < minimumScoreSoFar ) { minimumScoreSoFar = originalScore; initialValuesAdjusted[11] *= sizeOfLargestDimension; fm.setFromFlatDoubleArray( initialValuesAdjusted ); double score = evaluateFastMatrix( fm, fromCommon, toCommon );
public ImagePlus register() { NamedPointSet points0 = null; NamedPointSet points1 = null; try { points0 = NamedPointSet.forImage( sourceImages[0] ); } catch( NamedPointSet.PointsFileException e ) { IJ.error( "Failed to find a corresponding points file for: "+sourceImages[0].getTitle() ); } try { points1 = NamedPointSet.forImage( sourceImages[1] ); } catch( NamedPointSet.PointsFileException e ) { IJ.error( "Failed to find a corresponding points file for: "+sourceImages[1].getTitle() ); } return register( points0, points1 ); }
switch( method ) { case AFFINE: r = new AffineFromLandmarks(); break; case RIGID: