public void process(final SimpleImageSequence<T> sequence) { if (!sequence.hasNext()) throw new IllegalArgumentException("Empty sequence"); image = sequence.next(); gui.setFrame((BufferedImage) sequence.getGuiImage()); ShowImages.showWindow(gui, "Circulant Tracker"); // tracker.initialize(image,273,156,358-273,293-156); paused = true; while (paused) { Thread.yield(); } int totalFrames = 0; long totalTime = 0; while (sequence.hasNext()) { totalFrames++; image = sequence.next(); gui.setFrame((BufferedImage) sequence.getGuiImage()); long before = System.nanoTime(); tracker.performTracking(image); long after = System.nanoTime(); totalTime += after - before; System.out.println("FPS = " + (totalFrames) / (totalTime / 2e9)); gui.update(tracker); Rectangle2D_F32 r = tracker.getTargetLocation(); System.out.println("Target: " + r); gui.repaint(); while (paused) { Thread.yield(); } } System.out.println("DONE"); }