@Override public InterpolatedAffineModel2D< A, B > createInverse() { final InterpolatedAffineModel2D< A, B > inverse = new InterpolatedAffineModel2D< A, B >( a.createInverse(), b.createInverse(), lambda ); inverse.cost = cost; return inverse; }
@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 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 InterpolatedAffineModel2D< A, B > createInverse() { final InterpolatedAffineModel2D< A, B > inverse = new InterpolatedAffineModel2D< A, B >( a.createInverse(), b.createInverse(), lambda ); inverse.cost = cost; return inverse; }
final static public class Param extends AbstractLayerAlignmentParam implements Serializable { /** * Regularization */ public boolean regularize = false; public int regularizerIndex = 1; public double lambda = 0.1; public boolean setup( final Rectangle box ) { if ( !setupSIFT( "Elastically align layers: " ) ) return false; /* Geometric filters */ final GenericDialog gd = new GenericDialog( "Align layers: Geometric filters" ); gd.addNumericField( "maximal_alignment_error :", maxEpsilon, 2, 6, "px" ); gd.addNumericField( "minimal_inlier_ratio :", minInlierRatio, 2 ); gd.addNumericField( "minimal_number_of_inliers :", minNumInliers, 0 ); gd.addChoice( "expected_transformation :", Param.modelStrings, Param.modelStrings[ expectedModelIndex ] ); gd.addCheckbox( "test_multiple_hypotheses", multipleHypotheses ); gd.addCheckbox( "widest_set_only", widestSetOnly ); gd.addCheckbox( "ignore constant background", rejectIdentity ); gd.addNumericField( "tolerance :", identityTolerance, 2, 6, "px" ); gd.addMessage( "Layer neighbor range:" ); gd.addNumericField( "test_maximally :", maxNumNeighbors, 0, 6, "layers" ); gd.addNumericField( "give_up_after :", maxNumFailures, 0, 6, "failures" );
final InterpolatedAffineModel2D< ?, ? > interpolatedModel = new InterpolatedAffineModel2D( m, r, p.lambda );
params.model = new InterpolatedAffineModel2D( params.model, new TranslationModel2D(), (float)params.lambda ); break; case 1: params.model = new InterpolatedAffineModel2D( params.model, new RigidModel2D(), (float)params.lambda ); break; case 2: params.model = new InterpolatedAffineModel2D( params.model, new SimilarityModel2D(), (float)params.lambda ); break; case 3: params.model = new InterpolatedAffineModel2D( params.model, new AffineModel2D(), (float)params.lambda ); break; case 4: return null; default: params.model = new InterpolatedAffineModel2D( params.model, new RigidModel2D(), (float)params.lambda ); break;
params.model = new InterpolatedAffineModel2D( params.model, new TranslationModel2D(), (float)params.lambda ); break; case 1: params.model = new InterpolatedAffineModel2D( params.model, new RigidModel2D(), (float)params.lambda ); break; case 2: params.model = new InterpolatedAffineModel2D( params.model, new SimilarityModel2D(), (float)params.lambda ); break; case 3: params.model = new InterpolatedAffineModel2D( params.model, new AffineModel2D(), (float)params.lambda ); break; case 4: return null; default: params.model = new InterpolatedAffineModel2D( params.model, new RigidModel2D(), (float)params.lambda ); break;