private void controlPointsModified() { synchronized (pointsUndistorted){ try { // transform needs to go from distorted image to undistorted image alg.setSource(pointsDistorted); alg.setDestination(pointsUndistorted); validTransform = true; } catch( RuntimeException e ) { // System.out.println("Failed because of "+e.getMessage()); // System.out.println(" total points "+pointsDistorted.size()); validTransform = false; } } distortImage.setModel(p2p); if( inputMethod == InputMethod.IMAGE ) { renderDistorted(null, undistorted); } gui.repaint(); }