diff --git a/971cv/src/edu/wpi/first/wpijavacv/DaisyExtensions.java b/971cv/src/edu/wpi/first/wpijavacv/DaisyExtensions.java
new file mode 100644
index 0000000..41dccb7
--- /dev/null
+++ b/971cv/src/edu/wpi/first/wpijavacv/DaisyExtensions.java
@@ -0,0 +1,97 @@
+package edu.wpi.first.wpijavacv;
+
+import java.util.ArrayList;
+
+import com.googlecode.javacv.cpp.opencv_core;
+import com.googlecode.javacv.cpp.opencv_core.CvMemStorage;
+import com.googlecode.javacv.cpp.opencv_core.CvSeq;
+import com.googlecode.javacv.cpp.opencv_core.IplImage;
+import com.googlecode.javacv.cpp.opencv_imgproc;
+
+/**
+ * Team Miss Daisy extensions to wpijavacv, mostly to expose more methods.
+ *<p>
+ * TODO(jerry): Wean off of wpijavacv.
+ *
+ * @author jrussell
+ * @author jerry -- Moved storage to an instance variable
+ */
+public class DaisyExtensions {
+    private final CvMemStorage storage = CvMemStorage.create();
+    private IplImage contourImage;
+
+    public DaisyExtensions() {
+    }
+
+    public static CvSeq getCvSeq(WPIContour contour) {
+        return contour.getCVSeq();
+    }
+
+    public static WPIContour makeWPIContour(CvSeq seq) {
+        return new WPIContour(seq);
+    }
+
+    public static WPIGrayscaleImage makeWPIGrayscaleImage(IplImage arr) {
+        IplImage tempImage = IplImage.create(arr.cvSize(), arr.depth(), 1);
+        opencv_core.cvCopy(arr, tempImage);
+        return new WPIGrayscaleImage(tempImage);
+    }
+
+    public static WPIColorImage makeWPIColorImage(IplImage arr) {
+        IplImage tempImage = IplImage.create(arr.cvSize(), arr.depth(), 3);
+        opencv_core.cvCopy(arr, tempImage);
+        return new WPIColorImage(tempImage);
+    }
+
+    public static WPIBinaryImage makeWPIBinaryImage(IplImage arr) {
+        IplImage tempImage = IplImage.create(arr.cvSize(), arr.depth(), 1);
+        opencv_core.cvCopy(arr, tempImage);
+        return new WPIBinaryImage(tempImage);
+    }
+
+    public static IplImage getIplImage(WPIImage image) {
+        return image.image;
+    }
+
+    /**
+     * Finds a flat (non-hierarchical) list of contours in the given image, then
+     * computes the convex hull of each contour.
+     */
+    public WPIContour[] findConvexContours(WPIBinaryImage image) {
+        image.validateDisposed();
+
+        if (contourImage == null
+                || contourImage.cvSize().width() != image.getWidth()
+                || contourImage.cvSize().height() != image.getHeight()) {
+            if (contourImage != null) {
+                contourImage.release();
+            }
+            contourImage = IplImage.create(image.image.cvSize(),
+                    image.image.depth(), 1);
+        }
+
+        opencv_core.cvCopy(image.image, contourImage);
+
+        CvSeq contours = new CvSeq();
+        opencv_imgproc.cvFindContours(contourImage, storage, contours, 256,
+        	opencv_imgproc.CV_RETR_LIST,
+        	opencv_imgproc.CV_CHAIN_APPROX_TC89_KCOS);
+        ArrayList<WPIContour> results = new ArrayList<WPIContour>();
+        while (!WPIDisposable.isNull(contours)) {
+            CvSeq convexContour = opencv_imgproc.cvConvexHull2(contours,
+        	    storage, opencv_imgproc.CV_CLOCKWISE, 1);
+            WPIContour contour = new WPIContour(
+        	    opencv_core.cvCloneSeq(convexContour, storage));
+            results.add(contour);
+            contours = contours.h_next();
+        }
+
+        WPIContour[] array = new WPIContour[results.size()];
+        return results.toArray(array);
+    }
+
+    public void releaseMemory() {
+        opencv_core.cvClearMemStorage(storage);
+    }
+
+}
diff --git a/971cv/src/org/spartanrobotics/AccepterThread.java b/971cv/src/org/spartanrobotics/AccepterThread.java
new file mode 100644
index 0000000..ad599de
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/AccepterThread.java
@@ -0,0 +1,140 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+/**
+ * @author daniel
+ * Accepts clients for data server
+ */
+
+import java.io.IOException;
+
+import java.nio.ByteBuffer;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+/** Thread accepts new connections for the server and sends data to them 
+ * without blocking.
+ */
+public class AccepterThread implements Runnable {
+	
+	private final static Logger LOG = Logger.getLogger(
+			AccepterThread.class.getName());
+	
+	private ServerSocketChannel sock;
+	
+	private List<Client> connected = new ArrayList<Client>(); 
+	
+	private Thread t;
+	
+	/** Constructor
+	 * 
+	 * @param sock is the ServerSocketChannel that you want to monitor
+	 */
+	public AccepterThread(ServerSocketChannel sock) {
+		t = new Thread(this, "Accepter Thread");
+		t.setPriority(Thread.NORM_PRIORITY - 1); 
+		//lowish priority so Image Processor overrides it
+		this.sock = sock;
+		t.start();
+	}
+	
+	/** Runs in separate thread. Continually accepts new connections. */
+	public void run() {
+		SocketChannel clientSock;
+		while (true) {
+			try {
+				clientSock = sock.accept();
+				//our writes must not block
+				clientSock.configureBlocking(false);
+				Client client = new Client();
+				client.channel = clientSock;
+				connected.add(client);
+			}
+			catch (IOException e) {
+				LOG.warning("Cannot serve image processing results to client:" 
+			+ e.getMessage());
+				Messages.warning("Cannot serve image processing results to client:"
+			+ e.getMessage());
+			}
+		}
+	}
+	
+	/** Sends a message to all currently connected clients.
+	 * 
+	 * @param message is the message that you want to send.
+	 */
+	public void sendtoAll(ByteBuffer message) {
+		/* Copy our connected list, so we don't have 
+		 * to hold our lock forever if the writes block.
+		 */
+		List<Client> connectedTemp = new ArrayList<Client>();
+		for (Client client : connected) {
+			connectedTemp.add(client);
+		}
+		
+		int result;
+		for (Client client : connectedTemp) {
+			try {
+				
+				/** If this socket has data from the 
+				 * last send operation still waiting to be
+				 * sent, send this instead of our original
+				 * message. Since we generally want only
+				 * current data, our original message will
+				 * not be missed. However, it is imperative
+				 * that we finish our pending transmission, 
+				 * because an incomplete transmission could
+				 * leave a client thread somewhere blocking
+				 * indefinitely.
+				 */
+				if (client.toSend != null) {
+					message = client.toSend;
+				}
+				
+				result = client.channel.write(message);
+				
+				/*if our send buffer is full, store our message away
+				 * so we can try again later without halting the thread.
+				 */
+				if (message.remaining() > 0) {
+					client.toSend = message;
+					//check and update our count of failed send attempts
+					++client.failedAttempts;
+					if (client.failedAttempts >= 100) {
+						//Socket has become dysfunctional
+						LOG.info("Write would have blocked 100 times. Assuming peer disconect.");
+						connected.remove(client);
+					}
+				}
+				
+				if (result == -1) {
+					//The write failed. This is probably because the client disconnected.
+					LOG.info("Write returned -1. Client has probably disconnected.");
+					connected.remove(client);
+				}
+			}
+			catch (IOException e) {
+				//The write failed. This is probably because the client disconnected.
+				LOG.info("Write threw IOException. Client has probably disconnected.");
+				connected.remove(client);
+			}
+		}
+	}
+	
+	/** Overloaded sendtoAll method for byte arrays. */
+	public void sendtoAll(byte[] message) {
+		sendtoAll(ByteBuffer.wrap(message));
+	}
+	
+	/** Overloaded sendtoAll method for Strings. */
+	public void sendtoAll(String message) {
+		sendtoAll(message.getBytes());
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/Client.java b/971cv/src/org/spartanrobotics/Client.java
new file mode 100644
index 0000000..77bac74
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/Client.java
@@ -0,0 +1,25 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import java.nio.ByteBuffer;
+import java.nio.channels.SocketChannel;
+
+/**
+ * @author daniel
+ *
+ */
+
+/** Helper class to store data for AccepterThread. */
+public class Client {
+	public SocketChannel channel; //the client's socket
+	/* Holds overflow data when socket's send buffer gets full, so that
+	 * thread can continue running.
+	 */
+	public ByteBuffer toSend;
+	/* Keeps track of how many times a non-blocking write operation on a socket
+	 * has not written anything because it's buffer was full.
+	 */
+	public int failedAttempts;
+}
diff --git a/971cv/src/org/spartanrobotics/DebugCanvas.java b/971cv/src/org/spartanrobotics/DebugCanvas.java
new file mode 100644
index 0000000..578d79e
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/DebugCanvas.java
@@ -0,0 +1,29 @@
+package org.spartanrobotics;
+
+import com.googlecode.javacv.CanvasFrame;
+import com.googlecode.javacv.cpp.opencv_core.IplImage;
+
+public class DebugCanvas {
+    public boolean show;
+    private CanvasFrame canvasFrame;
+    private String name;
+
+    public DebugCanvas(String name) {
+	this.name = name;
+    }
+
+    public void showImage(IplImage image) {
+        if (show) {
+            if (canvasFrame == null) {
+        	canvasFrame = new CanvasFrame(name);
+            }
+            canvasFrame.setName(name);
+            canvasFrame.showImage(image.getBufferedImage());
+        } else {
+            if (canvasFrame != null) {
+        	canvasFrame.dispose();
+        	canvasFrame = null;
+            }
+        }
+    }
+}
diff --git a/971cv/src/org/spartanrobotics/DebugServerRun.java b/971cv/src/org/spartanrobotics/DebugServerRun.java
new file mode 100644
index 0000000..b8c788f
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/DebugServerRun.java
@@ -0,0 +1,146 @@
+package org.spartanrobotics;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+
+import java.util.Arrays;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import com.googlecode.javacv.OpenCVFrameGrabber;
+import com.googlecode.javacv.cpp.opencv_core.*;
+import static com.googlecode.javacv.cpp.opencv_highgui.*;
+
+public class DebugServerRun {
+	
+		private final static Logger LOG = Logger.getLogger(
+			DebugServerRun.class.getName());
+		
+		final OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(-1);
+		
+		private ServerSocketChannel sock;
+		private SocketChannel client;
+	
+	/** Constructs a formatted boundary header from a timestamp and content length. */	
+	private ByteBuffer CreateTransmission(long content_length, double timestamp) {
+		StringBuilder ret = new StringBuilder();
+		ret.append("\r\n--boundarydonotcross\r\n");
+        ret.append("Content-Type: image/jpeg\r\n");
+        ret.append("Content-Length: ");
+        ret.append(content_length);
+        ret.append("\r\n");
+        ret.append("X-Timestamp: ");
+        ret.append(timestamp);
+        ret.append("\r\n\r\n");
+        return ByteBuffer.wrap(ret.toString().getBytes());
+	}
+	
+	/** Loop that pushes a data stream to the client. */
+	private void push() {
+		try {
+			grabber.start();
+		}
+		catch (Exception e) {
+			LOG.severe("Could not start frame grabber.");
+			return;
+		}
+		IplImage img;
+		long content_size;
+		File buff_file;
+		InputStream input;
+		double timestamp;
+		while (true) {
+			//get some image data
+			try {
+				img = grabber.grab();
+				timestamp = System.currentTimeMillis();
+				/*We buffer through /dev/shm, just to make the conversion process easier.
+				 * I know this is really ugly, but it works a lot better than what
+				 * I was doing before, which segfaulted.
+				 */
+				cvSaveImage("/dev/shm/DebugServerBuffer.jpg", img);
+				buff_file = new File("/dev/shm/DebugServerBuffer.jpg");
+				content_size = buff_file.length();
+				int totalBytesRead = 0;
+		        input = new BufferedInputStream(new FileInputStream(buff_file));
+		        byte[] result = new byte[(int)content_size];
+		        while(totalBytesRead < result.length){
+		          int bytesRemaining = result.length - totalBytesRead;
+		          //input.read() returns -1, 0, or more :
+		          int bytesRead = input.read(result, totalBytesRead, bytesRemaining); 
+		          if (bytesRead > 0){
+		            totalBytesRead = totalBytesRead + bytesRead;
+		          }
+		        }
+		        ByteBuffer header = CreateTransmission(content_size, timestamp);
+		        ByteBuffer bbuf = ByteBuffer.wrap(result);
+		        ByteBuffer to_send = ByteBuffer.allocate(header.capacity() + bbuf.capacity());
+		        to_send.put(header);
+		        to_send.put(bbuf);
+		        to_send.rewind();
+		        SocketCommon.sendAll(client, to_send);
+			}
+			catch (Exception e) {
+				LOG.warning("Could not grab frame.");
+				continue;
+			}
+		}
+	}
+	
+	/** Constructor to start the server and bind it to a port. */
+	public DebugServerRun(final int port) throws IOException {
+		sock = ServerSocketChannel.open();
+		sock.socket().bind(new InetSocketAddress(9714));
+		client = sock.accept();
+		client.configureBlocking(false);
+		//we are now connected to our client. Wait for them to send us a header.
+		LOG.info("Reading headers...");
+		SocketCommon.readtoBoundary(client, "\r\n\r\n");
+		//send one back
+		LOG.info("Writing headers...");
+		SocketCommon.sendAll(client, "donotcross\r\n");
+	}
+	
+	/** Runs the server, and concurrently starts the vision processor with -vision flag. */
+	public static void main(final String args[]) throws IOException {
+		//main function for server
+		
+		String atomIP = null;
+    	try {
+    		atomIP = args[0];
+    	}
+    	catch (ArrayIndexOutOfBoundsException e) {
+    		System.out.println("Usage: DebugServerRun [atom IP address]");
+    		System.exit(0);
+    	}
+		
+		//set logger to log everything
+        LOG.setLevel(Level.ALL);
+        try {
+        	LogHandler handler = new LogHandler("ds_vision.log");
+        	TimeFormatter formatter = new TimeFormatter();
+            handler.setFormatter(formatter);
+            LOG.addHandler(handler);
+        }
+        catch (FileNotFoundException e) {
+        	System.err.println("Warning: Logging initialization failed.");
+        }
+        
+		if (Arrays.asList(args).contains("-vision")) {
+			LOG.info("Starting vision processor.");
+			new TestClient(atomIP);
+		}
+		
+		DebugServerRun server = new DebugServerRun(9714);
+		server.push();
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/HttpClient.java b/971cv/src/org/spartanrobotics/HttpClient.java
new file mode 100644
index 0000000..460b9b4
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/HttpClient.java
@@ -0,0 +1,96 @@
+package org.spartanrobotics;
+
+//@author: daniel
+
+import java.io.*;
+import java.net.*;
+
+import java.awt.image.BufferedImage;
+
+import javax.imageio.ImageIO;
+
+import java.nio.channels.SocketChannel;
+import java.nio.ByteBuffer;
+
+import java.util.logging.Logger;
+
+import aos.ChannelImageGetter;
+
+import edu.wpi.first.wpijavacv.WPIColorImage;
+
+public class HTTPClient implements ImageGetter {
+	//Connects to HTTP Server on robot and receives images
+	
+	/** whether or not to print debug messages to stdout. */
+	private final static boolean LOCAL_DEBUG = false;
+	
+	private String atomIP;
+	
+	private SocketChannel sock;
+	
+	private ChannelImageGetter cgetter;
+	
+	private final static Logger LOG = Logger.getLogger(
+			HTTPClient.class.getName());
+	
+	/** Small helper method for printing debug messages to stdout. */
+	private void WriteDebug(String message) {
+		//small helper function to write debug messages
+		if (LOCAL_DEBUG)
+			LOG.info("LOCAL_DEBUG: " + message);
+	}
+	
+	/** the constructor, initializes connection, and sets up aos getter. 
+	 * @throws IOException */
+	public HTTPClient(String atomIP) throws IOException {
+		//Initialize socket connection to robot
+		this.atomIP = atomIP;
+		sock = SocketChannel.open();
+		WriteDebug("Connecting to server at " + atomIP);
+		sock.connect(new InetSocketAddress(atomIP, 9714));
+		sock.configureBlocking(false);
+		//Write headers
+		//HTTPStreamer does not actually use the headers, so we can just write terminating chars.
+		WriteDebug("Writing headers...");
+		SocketCommon.sendAll(sock, "\r\n\r\n");
+		//Receive headers
+		WriteDebug("Reading headers...");
+		SocketCommon.readtoBoundary(sock, "donotcross\r\n");
+		WriteDebug("Now receiving data.");
+		cgetter = new ChannelImageGetter(sock);
+	}
+	
+	/** Grabs the most current frame from the HTTPStreamer stream.
+	 * Returns a class instance with image and timestamp attributes. */
+	public WPIColorImage getFrame() {
+		//Use Brian's code to extract an image and timestamp from raw server data.
+		ByteBuffer binaryImage = cgetter.getJPEG();
+		if (binaryImage == null) {
+			Messages.severe("Could not parse data from robot. See the log for details.");
+			return null;
+		}
+		//Decode ByteBuffer into an IplImage
+		byte[] b = new byte[binaryImage.remaining()];
+		binaryImage.get(b);
+		try {
+			InputStream iis = new ByteArrayInputStream(b);
+			BufferedImage bImageFromConvert = ImageIO.read(iis);
+			WriteDebug("Image processing successful.");
+			return new WPIColorImage(bImageFromConvert);
+		}
+		catch (IOException e) {
+			LOG.warning("Image processing failed: " + e.getMessage());
+			return null;
+		}
+	}	
+	
+	/** Gets the name to display at the top of the image window. */
+	public String getName() {
+		return atomIP;
+	}
+	
+	/** Gets the current image's timestamp. */
+	public double getTimestamp() {
+		return cgetter.getTimestamp();
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/ImageGetter.java b/971cv/src/org/spartanrobotics/ImageGetter.java
new file mode 100644
index 0000000..06a1534
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/ImageGetter.java
@@ -0,0 +1,22 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import edu.wpi.first.wpijavacv.WPIColorImage;
+
+/**
+ * @author daniel
+ *
+ */
+
+/** Interface for program image contributors. */
+public interface ImageGetter {
+	
+	/** Gets the next image from the source/ */
+	WPIColorImage getFrame();
+	
+	/** Gets the name of the image source. */
+	String getName();
+	
+}
diff --git a/971cv/src/org/spartanrobotics/LogHandler.java b/971cv/src/org/spartanrobotics/LogHandler.java
new file mode 100644
index 0000000..5f9539b
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/LogHandler.java
@@ -0,0 +1,65 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import java.io.FileOutputStream;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
+
+import java.util.logging.Handler;
+import java.util.logging.LogRecord;
+
+/**
+ * @author daniel
+ * 
+ */
+
+/** Logs data to custom files, using specific formatting. */
+public class LogHandler extends Handler {
+	
+	private FileOutputStream ofstream;
+	PrintWriter writer;
+	
+	/** Constructor for log handler. 
+	 * 
+	 * @param filename is the name of the file you want to log to.
+	 * @throws FileNotFoundException if file cannot be opened or created.
+	 */
+	public LogHandler (String filename) throws FileNotFoundException {
+		super();
+		
+		if (filename == null || filename == "") {
+			filename = "logfile.log";
+		}
+		
+		//check if file exists, and if not, create it
+		ofstream = new FileOutputStream(filename);
+		writer = new PrintWriter(ofstream);
+		setFormatter(new TimeFormatter());
+	}
+	
+	/*Required methods*/
+	
+	/** Is required by API. Writes a new message to the log.
+	 * @param message is the message you want to log.
+	 */
+	public void publish(LogRecord message) {
+		//record a message
+		if (!isLoggable(message)) {
+			//ensure that this message should be logged by this handler
+			return;
+		}
+		writer.print(getFormatter().format(message)); //Formatter adds trailing \n
+	}
+	
+	/** Is required by API. Flushes the writer. */
+	public void flush() {
+		writer.flush();
+	}
+	
+	/** Is required by API. Closes logfile. */
+	public void close() throws SecurityException {
+		writer.close();
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/Messages.java b/971cv/src/org/spartanrobotics/Messages.java
new file mode 100644
index 0000000..37d80bd
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/Messages.java
@@ -0,0 +1,41 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import javax.swing.JOptionPane;
+
+/**
+ * @author daniel
+ *
+ */
+
+import com.googlecode.javacv.CanvasFrame;
+
+/** Allows other classes to display message boxes bound to main window. */
+public class Messages {
+	
+	private static CanvasFrame main;
+	
+	/** Constructor
+	 * 
+	 * @param main is the window your messages will be associated with.
+	 */
+	public static void SetWindow(CanvasFrame main) {
+		Messages.main = main;
+	}
+	/** Shows a warning message. */
+	public static void warning(String message) {
+		JOptionPane.showMessageDialog(main, message, "Warning:", JOptionPane.WARNING_MESSAGE);
+	}
+	
+	/** Shows a severe error message. */
+	public static void severe(String message) {
+		JOptionPane.showMessageDialog(main, message, "Severe:", JOptionPane.ERROR_MESSAGE);
+	}
+	
+	/** Shows an info message. */
+	public static void info(String message) {
+		JOptionPane.showMessageDialog(main, message);
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/Recognizer.java b/971cv/src/org/spartanrobotics/Recognizer.java
new file mode 100644
index 0000000..f1f3234
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/Recognizer.java
@@ -0,0 +1,33 @@
+package org.spartanrobotics;
+
+import edu.wpi.first.wpijavacv.WPIColorImage;
+
+/**
+ * Vision target recognizer.
+ *
+ * @author jerry
+ */
+public interface Recognizer {
+
+    /**
+     * Sets the HSV filter to allow H in [minHue .. maxHue], S >= minSat,
+     * V >= minVal.
+     */
+    void setHSVRange(int minHue, int maxHue, int minSat, int minVal);
+
+    int getHueMin();
+    int getHueMax();
+    int getSatMin();
+    int getValMin();
+
+    /** Enables/disables windows to view intermediate stages, for tuning. */
+    void showIntermediateStages(boolean enable);
+
+    /**
+     * Processes a camera image, returning an image to display for targeting
+     * and debugging, e.g. with cross-hairs and marked targets.
+     *<p>
+     * SIDE EFFECTS: May modify cameraImage.
+     */
+    Target processImage(WPIColorImage cameraImage);
+}
diff --git a/971cv/src/org/spartanrobotics/Recognizer2013.java b/971cv/src/org/spartanrobotics/Recognizer2013.java
new file mode 100644
index 0000000..aafa6ab
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/Recognizer2013.java
@@ -0,0 +1,298 @@
+package org.spartanrobotics;
+
+import java.util.ArrayList;
+import java.util.logging.Logger;
+
+import com.googlecode.javacv.cpp.opencv_core;
+import com.googlecode.javacv.cpp.opencv_core.CvSize;
+import com.googlecode.javacv.cpp.opencv_core.IplImage;
+import com.googlecode.javacv.cpp.opencv_imgproc;
+import com.googlecode.javacv.cpp.opencv_imgproc.IplConvKernel;
+
+import edu.wpi.first.wpijavacv.DaisyExtensions;
+import edu.wpi.first.wpijavacv.WPIBinaryImage;
+import edu.wpi.first.wpijavacv.WPIColor;
+import edu.wpi.first.wpijavacv.WPIColorImage;
+import edu.wpi.first.wpijavacv.WPIContour;
+import edu.wpi.first.wpijavacv.WPIPoint;
+import edu.wpi.first.wpijavacv.WPIPolygon;
+
+/**
+ * Vision target recognizer for FRC 2013.
+ *
+ * @author jrussell
+ * @author jerry
+ */
+public class Recognizer2013 implements Recognizer {
+	
+	private final static Logger LOG = Logger.getLogger(
+			Recognizer2013.class.getName());
+
+    // --- Tunable recognizer constants.
+    static final double kRoughlyHorizontalSlope = Math.tan(Math.toRadians(30));
+    static final double kRoughlyVerticalSlope = Math.tan(Math.toRadians(90 - 30));
+    static final int kHoleClosingIterations = 2;
+    static final double kPolygonPercentFit = 12;
+    static final int kMinWidthAt320 = 35; // for high goal and middle goals
+
+    // --- Field dimensions.
+    // The target aspect ratios are for the midlines of the vision target tape.
+    static final double kGoalWidthIn = 54; // of the high and middle targets
+    static final double kTargetWidthIn = kGoalWidthIn + 4;
+    static final double kHighGoalAspect = (21 + 4) / kTargetWidthIn;
+    static final double kMiddleGoalAspect = (24 + 4) / kTargetWidthIn;
+    static final double kMinAspect = kHighGoalAspect * 0.6;
+    static final double kMaxAspect = kMiddleGoalAspect * 1.4;
+    static final double kTopTargetHeightIn = 104.125 + 21.0/2; // center of target
+
+    // --- Robot and camera dimensions.
+    static final double kShooterOffsetDeg = 0; // azimuth offset from camera to shooter
+    static final double kHorizontalFOVDeg = 44.0; // Logitech C210 camera
+    static final double kVerticalFOVDeg = 480.0 / 640.0 * kHorizontalFOVDeg;
+    static final double kCameraHeightIn = 24.0; // TODO
+    static final double kCameraPitchDeg = 21.0; // TODO
+    static final double kTanHFOV2 = Math.tan(Math.toRadians(kHorizontalFOVDeg / 2));
+    static final double kTanVFOV2 = Math.tan(Math.toRadians(kVerticalFOVDeg / 2));
+
+    // --- Colors for drawing indicators on the image.
+    private static final WPIColor reject1Color = WPIColor.GRAY;
+    private static final WPIColor reject2Color = WPIColor.YELLOW;
+    private static final WPIColor candidateColor = WPIColor.BLUE;
+    private static final WPIColor targetColor = WPIColor.RED;
+
+    // --- Color thresholds, initialized in the constructor.
+    private int min1Hue, max1Hue, min1Sat, min1Val;
+
+    // Show intermediate images for parameter tuning.
+    private final DebugCanvas thresholdedCanvas = new DebugCanvas("thresholded");
+    private final DebugCanvas morphedCanvas = new DebugCanvas("morphed");
+
+    // Data to reuse for each frame.
+    private final DaisyExtensions daisyExtensions = new DaisyExtensions();
+    private final IplConvKernel morphKernel = IplConvKernel.create(3, 3, 1, 1,
+            opencv_imgproc.CV_SHAPE_RECT, null);
+    private final ArrayList<WPIPolygon> polygons = new ArrayList<WPIPolygon>();
+
+    // Frame-size-dependent data to reuse for each frame.
+    private CvSize size = null;
+    private WPIColorImage rawImage;
+    private IplImage bin;
+    private IplImage hsv;
+    private IplImage hue;
+    private IplImage sat;
+    private IplImage val;
+    private int minWidth;
+    private WPIPoint linePt1, linePt2; // crosshair endpoints
+
+    public Recognizer2013() {
+        setHSVRange(70, 106, 137, 27);
+    }
+
+    @Override
+    public void setHSVRange(int minHue, int maxHue, int minSat, int minVal) {
+        min1Hue = minHue - 1; // - 1 because cvThreshold() does > instead of >=
+        max1Hue = maxHue + 1;
+        min1Sat = minSat - 1;
+        min1Val = minVal - 1;
+    }
+    @Override
+    public int getHueMin() { return min1Hue + 1; }
+    @Override
+    public int getHueMax() { return max1Hue - 1; }
+    @Override
+    public int getSatMin() { return min1Sat + 1; }
+    @Override
+    public int getValMin() { return min1Val + 1; }
+
+    @Override
+    public void showIntermediateStages(boolean enable) {
+        thresholdedCanvas.show = enable;
+        morphedCanvas.show = enable;
+    }
+
+    @Override
+    public Target processImage(WPIColorImage cameraImage) {
+        // (Re)allocate the intermediate images if the input is a different
+        // size than the previous image.
+        if (size == null || size.width() != cameraImage.getWidth()
+                || size.height() != cameraImage.getHeight()) {
+            size = opencv_core.cvSize(cameraImage.getWidth(),
+                    cameraImage.getHeight());
+            rawImage = DaisyExtensions.makeWPIColorImage(
+                    DaisyExtensions.getIplImage(cameraImage));
+            bin = IplImage.create(size, 8, 1);
+            hsv = IplImage.create(size, 8, 3);
+            hue = IplImage.create(size, 8, 1);
+            sat = IplImage.create(size, 8, 1);
+            val = IplImage.create(size, 8, 1);
+            minWidth = (kMinWidthAt320 * cameraImage.getWidth() + 319) / 320;
+
+            int horizontalOffsetPixels = (int)Math.round(
+                    kShooterOffsetDeg * size.width() / kHorizontalFOVDeg);
+            int x = size.width() / 2 + horizontalOffsetPixels;
+            linePt1 = new WPIPoint(x, size.height() - 1);
+            linePt2 = new WPIPoint(x, 0);
+        } else {
+            // Copy the camera image so it's safe to draw on.
+            opencv_core.cvCopy(DaisyExtensions.getIplImage(cameraImage),
+                    DaisyExtensions.getIplImage(rawImage));
+        }
+
+        IplImage input = DaisyExtensions.getIplImage(rawImage);
+
+        // Threshold the pixels in HSV color space.
+        // TODO(jerry): Do this in one pass of a pixel-processing loop.
+        opencv_imgproc.cvCvtColor(input, hsv, opencv_imgproc.CV_BGR2HSV_FULL);
+        opencv_core.cvSplit(hsv, hue, sat, val, null);
+
+        // NOTE: Since red is at the end of the cyclic color space, you can OR
+        // a threshold and an inverted threshold to match red pixels.
+        opencv_imgproc.cvThreshold(hue, bin, min1Hue, 255, opencv_imgproc.CV_THRESH_BINARY);
+        opencv_imgproc.cvThreshold(hue, hue, max1Hue, 255, opencv_imgproc.CV_THRESH_BINARY_INV);
+        opencv_imgproc.cvThreshold(sat, sat, min1Sat, 255, opencv_imgproc.CV_THRESH_BINARY);
+        opencv_imgproc.cvThreshold(val, val, min1Val, 255, opencv_imgproc.CV_THRESH_BINARY);
+
+        // Combine the results to obtain a binary image which is mostly the
+        // interesting pixels.
+        opencv_core.cvAnd(hue, bin, bin, null);
+        opencv_core.cvAnd(bin, sat, bin, null);
+        opencv_core.cvAnd(bin, val, bin, null);
+
+        thresholdedCanvas.showImage(bin);
+
+        // Fill in gaps using binary morphology.
+        opencv_imgproc.cvMorphologyEx(bin, bin, null, morphKernel,
+                opencv_imgproc.CV_MOP_CLOSE, kHoleClosingIterations);
+
+        morphedCanvas.showImage(bin);
+
+        // Find contours.
+        //
+        // NOTE: If we distinguished between the inner and outer boundaries of
+        // the vision target rectangles, we could apply a more accurate width
+        // filter and more accurately compute the target range.
+        WPIBinaryImage binWpi = DaisyExtensions.makeWPIBinaryImage(bin);
+        WPIContour[] contours = daisyExtensions.findConvexContours(binWpi);
+
+        // Simplify the contours to polygons and filter by size and aspect ratio.
+        //
+        // TODO(jerry): Also look for the two vertical stripe vision targets.
+        // They'll greatly increase the precision of measuring the distance. If
+        // both stripes are visible, they'll increase the accuracy for
+        // identifying the high goal.
+        polygons.clear();
+        for (WPIContour c : contours) {
+            if (c.getWidth() >= minWidth) {
+                double ratio = ((double) c.getHeight()) / c.getWidth();
+                if (ratio >= kMinAspect && ratio <= kMaxAspect) {
+                    polygons.add(c.approxPolygon(kPolygonPercentFit));
+                }
+            }
+        }
+
+        // Pick the target with the highest center-point that matches yet more
+        // filter criteria.
+        WPIPolygon bestTarget = null;
+        int highestY = Integer.MAX_VALUE;
+
+        for (WPIPolygon p : polygons) {
+            // TODO(jerry): Replace boolean filters with a scoring function?
+            if (p.isConvex() && p.getNumVertices() == 4) { // quadrilateral
+                WPIPoint[] points = p.getPoints();
+                // Filter for polygons with 2 ~horizontal and 2 ~vertical sides.
+                int numRoughlyHorizontal = 0;
+                int numRoughlyVertical = 0;
+                for (int i = 0; i < 4; ++i) {
+                    double dy = points[i].getY() - points[(i + 1) % 4].getY();
+                    double dx = points[i].getX() - points[(i + 1) % 4].getX();
+                    double slope = Double.MAX_VALUE;
+                    if (dx != 0) {
+                        slope = Math.abs(dy / dx);
+                    }
+
+                    if (slope < kRoughlyHorizontalSlope) {
+                        ++numRoughlyHorizontal;
+                    } else if (slope > kRoughlyVerticalSlope) {
+                        ++numRoughlyVertical;
+                    }
+                }
+
+                if (numRoughlyHorizontal >= 2 && numRoughlyVertical == 2) {
+                    int pCenterX = p.getX() + p.getWidth() / 2;
+                    int pCenterY = p.getY() + p.getHeight() / 2;
+
+                    rawImage.drawPolygon(p, candidateColor, 2);
+                    rawImage.drawPoint(new WPIPoint(pCenterX, pCenterY),
+                            targetColor, 2);
+                    if (pCenterY < highestY) {
+                        bestTarget = p;
+                        highestY = pCenterY;
+                    }
+                } else {
+                    rawImage.drawPolygon(p, reject2Color, 1);
+                }
+            } else {
+                rawImage.drawPolygon(p, reject1Color, 1);
+            }
+        }
+
+        Target found = null;
+        if (bestTarget != null) {
+            rawImage.drawPolygon(bestTarget, targetColor, 2);
+            found = measureTarget(bestTarget);
+        } else {
+            LOG.fine("No target found");
+        }
+
+        // Draw a crosshair
+        rawImage.drawLine(linePt1, linePt2, targetColor, 1);
+        
+        if (found == null) {
+        	found = new Target();
+        }
+        found.editedPicture = rawImage;
+
+        daisyExtensions.releaseMemory();
+        //System.gc();
+        
+        return found;
+    }
+
+    /**
+     * Uses the camera, field, and robot dimensions to compute targeting info.
+     */
+    private Target measureTarget(WPIPolygon target) {
+        double w = target.getWidth();
+        double h = target.getHeight();
+        double x = target.getX() + w / 2; // target center in view coords
+        double y = target.getY() + h / 2;
+
+        double vw = size.width();
+        double vh = size.height();
+        double xc = x - vw / 2; // target center pos'n ±from view center
+        double yc = vh / 2 - y; // ... in world coords on the viewing plane
+
+        // Target angles relative to the camera.
+        double azimuthCam = Math.atan2(xc * 2 * kTanHFOV2, vw);
+        double elevationCam = Math.atan2(yc * 2 * kTanVFOV2, vh);
+        double rangeIn = kTargetWidthIn * vw / (w * 2 * kTanHFOV2);
+
+        //Put results in target
+        Target data = new Target();
+        data.azimuth = (Math.toDegrees(azimuthCam) - kShooterOffsetDeg);
+        data.elevation = (Math.toDegrees(elevationCam));
+        data.range = (rangeIn / 12);
+        
+        LOG.info(String.format("Best target at (%.2f, %.2f) %.2fx%.2f," +
+        		" shot azimuth=%.2f," +
+        		"  elevation=%.2f," +
+        		"  range=%.2f",
+        		x, y, w, h,
+        		(Math.toDegrees(azimuthCam) - kShooterOffsetDeg),
+        		(Math.toDegrees(elevationCam) + kCameraPitchDeg),
+        		(rangeIn / 12)));
+        
+        return data;
+    }
+
+}
diff --git a/971cv/src/org/spartanrobotics/ResultSender.java b/971cv/src/org/spartanrobotics/ResultSender.java
new file mode 100644
index 0000000..14d69a1
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/ResultSender.java
@@ -0,0 +1,55 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import java.io.IOException;
+
+import java.net.InetSocketAddress;
+
+import java.nio.channels.ServerSocketChannel;
+
+/**
+ * @author daniel
+ *
+ */
+
+/**  Serves processing results back to the atom. */
+public class ResultSender {
+	private static final int PORT = 9716;
+	
+	private ServerSocketChannel sock;
+	
+	AccepterThread acceptor;
+	
+	/** Constructor. Connects to a socket and starts the accepter thread. */
+	public ResultSender() throws IOException {
+		sock = ServerSocketChannel.open();
+		sock.socket().bind(new InetSocketAddress(PORT));
+		
+		//start accepter thread
+		acceptor = new AccepterThread(sock);
+	}
+	
+	/** Sends a new message of calculated attributes to the clients.
+	 * 
+	 * @param azimuth is the calculated optimum azimuth for the shot.
+	 * @param elevation is the calculated optimum elevation for the shot.
+	 * @param range is the calculated optimum range for the shot.
+	 */
+	public void send(double azimuth, double elevation, double range) {
+		//Formulate a message as a String similar to an HTTP header.
+		if (azimuth != 0.0d && elevation != 0.0d && range != 0.0d) {
+			StringBuilder message = new StringBuilder();
+			message.append("\r\n--boundarydonotcross\r\n");
+			message.append("Azimuth: ");
+			message.append(azimuth);
+			message.append("\r\nElevation: ");
+			message.append(elevation);
+			message.append("\r\nRange: ");
+			message.append(range);
+			
+			acceptor.sendtoAll(message.toString());
+		}
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/SocketCommon.java b/971cv/src/org/spartanrobotics/SocketCommon.java
new file mode 100644
index 0000000..ebd3872
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/SocketCommon.java
@@ -0,0 +1,92 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import java.io.IOException;
+
+import java.nio.ByteBuffer;
+import java.nio.channels.SocketChannel;
+import java.util.logging.Logger;
+
+/**
+ * @author daniel
+ * Socket operations used by other classes
+ */
+public class SocketCommon {
+
+	private final static Logger LOG = Logger.getLogger(
+			SocketCommon.class.getName());
+	
+	/** Reads on a SocketStream until it finds a given character sequence. */
+	public static String readtoBoundary(SocketChannel sock, String boundary) {
+		//reads from socket until it encounters a specific character combination
+		//if boundary is null, it reads until it runs out of data
+		ByteBuffer recvd = ByteBuffer.allocate(1024);
+		StringBuilder sb = new StringBuilder();
+		String message = "";
+		try {
+			int ret = 0;
+			while (ret != -1) {
+				ret = sock.read(recvd);
+				//System.out.println(ret);
+				if (ret == 0) {
+					//finished receiving
+					message = sb.toString();
+					if (boundary == null)
+						break;
+				}
+				else {
+					for (int i = 0; i < recvd.capacity() - recvd.remaining(); i++) {
+						sb.append((char)recvd.get(i));
+					}
+					recvd.clear();
+					if (boundary != null) {
+						if (sb.toString().contains(boundary)) {
+							message = sb.toString();
+							break;
+						}
+						else {
+							continue;
+						}
+					}
+				}
+			}
+		}
+		catch (IOException e) {
+			LOG.severe("Socket read failed. Check your network configuration.");
+			Messages.severe("Socket read failed. Check your network configuration.");
+			return null;
+		}
+		return message;
+	}
+	
+	/** Guarantees that large messages will be completely sent through a socket.
+	 * @return Returns 0 for success, -1 for failure.
+	 */
+	public static int sendAll(SocketChannel sock, ByteBuffer message) {
+		message.rewind();
+		while (message.remaining() > 0) {
+			try {
+				sock.write(message);
+			}
+			catch (IOException e) {
+				LOG.warning("Socket write failed. Check your network configuration.");
+				Messages.severe("Socket write failed. Check your network configuration.");
+				return -1;
+			}
+		}
+		return 0;
+	}
+	
+	/** Overloaded method for sending a byte array. */
+	public static void sendAll(SocketChannel sock, byte[] message) {
+		ByteBuffer buff = ByteBuffer.wrap(message);
+		sendAll(sock, buff);
+	}
+	
+	/** Overloaded method for sending a String. */
+	public static void sendAll(SocketChannel sock, String message) {
+		sendAll(sock, message.getBytes());
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/Target.java b/971cv/src/org/spartanrobotics/Target.java
new file mode 100644
index 0000000..91a7c8a
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/Target.java
@@ -0,0 +1,20 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import edu.wpi.first.wpijavacv.WPIImage;
+
+/**
+ * @author daniel
+ *
+ */
+
+/** Helper class to store information about targets. */
+public class Target {
+	public double azimuth;
+	public double elevation;
+	public double range;
+	
+	WPIImage editedPicture;
+}
diff --git a/971cv/src/org/spartanrobotics/TestClient.java b/971cv/src/org/spartanrobotics/TestClient.java
new file mode 100644
index 0000000..5bf5ced
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/TestClient.java
@@ -0,0 +1,30 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+/**
+ * @author daniel
+ * 
+ */
+
+/** Small thread for running vision code concurrently with debug server. */
+public class TestClient implements Runnable {
+	
+	private String atomIP;
+	
+	private Thread t;
+	
+	/** Constructor to set up new thread. */
+	public TestClient(String atomIP) {
+		t = new Thread(this, "Test Client");
+		this.atomIP = atomIP;
+		t.start();
+	}
+	
+	/** Simple thread, runs the vision code. */
+	public void run() {
+		String[] args = {atomIP};
+		VisionTuner.main(args);
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/TestImageGetter.java b/971cv/src/org/spartanrobotics/TestImageGetter.java
new file mode 100644
index 0000000..25fcb9a
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/TestImageGetter.java
@@ -0,0 +1,96 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+/**
+ * @author daniel
+ *
+ */
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+import java.util.logging.Logger;
+
+import javax.imageio.ImageIO;
+
+import edu.wpi.first.wpijavacv.WPIColorImage;
+
+/** Get debug images for Java camera processor. */
+public class TestImageGetter implements ImageGetter{
+	
+	private final static Logger LOG = Logger.getLogger(
+			TestImageGetter.class.getName());
+	
+	private WPIColorImage[] loadedImages;
+	
+	private int imageIndex = -1;
+	private String currentName;
+	
+	/** Gets the name to display at the top of the image window. */
+	public String getName() {
+		return currentName;
+	}
+	
+	/** Constructor
+	 * 
+	 * @param path_to_images is the path to the directory where our images are.
+	 * @throws IOException 
+	 */
+	public TestImageGetter(String path_to_images) {
+		File directory = new File(path_to_images);
+		loadedImages = new WPIColorImage[directory.listFiles().length];
+		
+		//pre-load all the images
+		int i = 0;
+		for (final File fileEntry : directory.listFiles()) {
+			try {
+				BufferedImage image = ImageIO.read(fileEntry);
+				if (image != null) {
+					loadedImages[i] = new WPIColorImage(image);
+				} else {
+					//we attempted to load what was not an image. Skip it
+					LOG.info("Preloading debug images; skipping incompatible: " + fileEntry.getName());
+					continue;
+				}
+			} catch (IOException e) {
+				//we couldn't open a file. Skip it
+				LOG.info("Preloading debug images; skipping unopenable: " + fileEntry.getName());
+				continue;
+			}
+			
+			currentName = fileEntry.getName();
+			++i;
+		}
+	}
+	
+	/** Gets the next debugging image.
+	 * 
+	 * @return Returns the next test image.
+	 */
+	public WPIColorImage getFrame() {
+		++imageIndex;
+		if (imageIndex < loadedImages.length) {
+			return loadedImages[imageIndex];
+		} else {
+			imageIndex = loadedImages.length - 1;
+			return loadedImages[imageIndex];
+		}
+	}
+	
+	/** Gets the previous debugging image.
+	 * 
+	 * @return Returns the previous test image.
+	 */
+	public WPIColorImage getPrev() {
+		--imageIndex;
+		if (imageIndex > 0) {
+			return loadedImages[imageIndex];
+		} else {
+			imageIndex = 0;
+			return loadedImages[imageIndex];
+		}
+	}
+}
diff --git a/971cv/src/org/spartanrobotics/TimeFormatter.java b/971cv/src/org/spartanrobotics/TimeFormatter.java
new file mode 100644
index 0000000..bc06fa5
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/TimeFormatter.java
@@ -0,0 +1,45 @@
+/**
+ * 
+ */
+package org.spartanrobotics;
+
+import java.util.logging.Formatter;
+import java.util.logging.LogRecord;
+import java.util.Date;
+
+/**
+ * @author daniel
+ * 
+ */
+
+/** Formats log messages with adequate timestamp. */
+public class TimeFormatter extends Formatter{
+	
+	/** Constructor, see Formatter. */
+	public TimeFormatter() {
+		super();
+	}
+	
+	/** Format a message in the propper way.
+	 * @return Includes time, name of logger, level and message.
+	 */
+	public String format(LogRecord message) {
+		//we need to include the date and time in our message
+		StringBuffer out = new StringBuffer();
+		out.append("@");
+		Date date = new Date(message.getMillis());
+		out.append(date.toString());
+		out.append(" in [");
+		//add our logger's name
+		out.append(message.getLoggerName());
+		out.append("]: (");
+		//add message level
+		out.append(message.getLevel().getName());
+		out.append(") ");
+		//add actual message
+		out.append(formatMessage(message));
+		out.append("\n");
+		return out.toString();
+	}
+
+}
diff --git a/971cv/src/org/spartanrobotics/VisionTuner.java b/971cv/src/org/spartanrobotics/VisionTuner.java
new file mode 100644
index 0000000..95c3b8d
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/VisionTuner.java
@@ -0,0 +1,296 @@
+package org.spartanrobotics;
+
+import java.awt.BorderLayout;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+
+import java.util.Arrays;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JSlider;
+import javax.swing.WindowConstants;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import com.googlecode.javacv.CanvasFrame;
+import edu.wpi.first.wpijavacv.WPIColorImage;
+import edu.wpi.first.wpijavacv.WPIImage;
+
+/* REQUIRED JAVA LIBRARIES:
+ *   external_jars/
+ *     javacpp.jar
+ *     javacv-YOUR_OS.jar
+ *     javacv.jar
+ *     WPIJavaCV.jar
+ *
+ * REQUIRED NATIVE CODE LIBRARIES ON $PATH:
+ *   Program Files/WPIJavaCV/     [for example]
+ *     JavaCV_2.2.0/javacv-bin/javacv-YOUR_OS.jar
+ *     OpenCV_2.2.0/bin/*
+ *
+ * The native libraries and javacv-YOUR_OS.jar must match the 32 vs. 64-bit JVM.
+ */
+/**
+ * FRC 2013 vision-target recognizer tuner app.
+ *
+ * <p>
+ * See {@link #processEvents()} for the keystroke commands.
+ *
+ * @author jerry
+ * @author daniel
+ */
+public class VisionTuner {
+    private Recognizer recognizer = new Recognizer2013();
+
+    private final static Logger LOG = Logger.getLogger(
+			VisionTuner.class.getName());
+    
+    private final CanvasFrame cameraFrame = new CanvasFrame("Camera");
+    private final JPanel panel = new JPanel();
+    private final JSlider hueMinSlider = new JSlider();
+    private final JSlider hueMaxSlider = new JSlider();
+    private final JSlider satMinSlider = new JSlider();
+    private final JSlider valMinSlider = new JSlider();
+    private final JButton showCalibration = new JButton("Calibrate");
+    private final JLabel frameRate = new JLabel("0");
+    
+    private ResultSender sender = null;
+
+    private int totalFrames = -1; // don't count the first (warm-up) frame
+    private double totalMsec;
+    private double minMsec = Double.MAX_VALUE;
+    private double maxMsec;
+    
+    private TestImageGetter getter;
+    
+    private WPIColorImage current;
+    
+    private boolean debug = false;
+    
+    long startTime;
+    long endTime;
+
+    public VisionTuner() {
+    	//set logger to log everything
+        LOG.setLevel(Level.ALL);
+        try {
+        	LogHandler handler = new LogHandler("ds_vision.log");
+        	TimeFormatter formatter = new TimeFormatter();
+            handler.setFormatter(formatter);
+            LOG.addHandler(handler);
+        } catch (FileNotFoundException e) {
+        	Messages.warning("Logging initialization failed.");
+        }
+        
+        //initialize result sender
+        try {
+        	sender = new ResultSender();
+        } catch (IOException e) {
+        	LOG.severe("Server initialization failed: " + e.getMessage() + ". Result reporting disabled.");
+        }
+        cameraFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+
+        cameraFrame.getContentPane().add(panel, BorderLayout.SOUTH);
+        panel.setLayout(new GridLayout(0, 2, 0, 0));
+        
+        showCalibration.setToolTipText("Click here if the system is not finding targets well enough.");
+        panel.add(showCalibration);
+        showCalibration.addActionListener(new ActionListener() {
+        	public void actionPerformed(ActionEvent e) {
+        		showCalibrationWindow();
+        	}
+        });
+        
+        panel.add(frameRate);
+
+    }
+    
+    /** Shows a calibration window when the user clicks the Calibrate button. */
+    private void showCalibrationWindow() {
+    	final CanvasFrame calibrationWindow = new CanvasFrame("Calibration");
+    	calibrationWindow.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+    	
+    	final JPanel panel = new JPanel();
+    	calibrationWindow.getContentPane().add(panel, BorderLayout.SOUTH);
+        panel.setLayout(new GridLayout(3, 3, 0, 0));
+        
+        hueMinSlider.setToolTipText("minimum HSV hue");
+        hueMinSlider.setMaximum(255);
+        hueMinSlider.setValue(recognizer.getHueMin());
+        panel.add(hueMinSlider);
+        
+        panel.add(new JLabel("min hue                          max hue")); 
+
+        hueMaxSlider.setToolTipText("maximum HSV hue");
+        hueMaxSlider.setMaximum(255);
+        hueMaxSlider.setValue(recognizer.getHueMax());
+        panel.add(hueMaxSlider);
+
+        satMinSlider.setToolTipText("minimum HSV color saturation");
+        satMinSlider.setMaximum(255);
+        satMinSlider.setValue(recognizer.getSatMin());
+        panel.add(satMinSlider);
+        
+        panel.add(new JLabel("min saturation  max saturation")); 
+
+        valMinSlider.setToolTipText("minimum HSV brightness value");
+        valMinSlider.setMaximum(255);
+        valMinSlider.setValue(recognizer.getValMin());
+        panel.add(valMinSlider);
+        
+        panel.add(new JLabel("")); //empty cells can cause problems
+        
+        final JButton done = new JButton("Close");
+        panel.add(done);
+        done.addActionListener(new ActionListener() {
+        	public void actionPerformed(ActionEvent e) {
+        		calibrationWindow.dispose();
+        	}
+        });
+        
+        panel.add(new JLabel("")); //empty cells can cause problems
+        
+        ChangeListener sliderListener = new ChangeListener() {
+            @Override
+            public void stateChanged(ChangeEvent e) {
+                LOG.fine("New HSV range ["
+                        + hueMinSlider.getValue() + " .. "
+                        + hueMaxSlider.getValue() + "] "
+                        + satMinSlider.getValue() + "+ "
+                        + valMinSlider.getValue() + "+");
+                recognizer.setHSVRange(
+                        hueMinSlider.getValue(), hueMaxSlider.getValue(),
+                        satMinSlider.getValue(),
+                        valMinSlider.getValue());
+                if (debug) {
+                	processImage(current, getter.getName());
+                }
+            }
+        };
+        
+        hueMinSlider.addChangeListener(sliderListener);
+        hueMaxSlider.addChangeListener(sliderListener);
+        satMinSlider.addChangeListener(sliderListener);
+        valMinSlider.addChangeListener(sliderListener);
+        
+        calibrationWindow.pack();
+  
+    }
+
+    /**
+     * Loads the named test image files.
+     * Sets testImageFilenames and testImages.
+     */
+    private void processImage(WPIColorImage cameraImage, String title) {
+    	current = cameraImage;
+    	
+    	//set window title if it needs to be changed
+    	cameraFrame.setTitle(title);
+
+        Target target = recognizer.processImage(cameraImage);
+        WPIImage processedImage = target.editedPicture;
+        endTime = System.nanoTime();
+
+        cameraFrame.showImage(processedImage.getBufferedImage());
+
+        double milliseconds = (endTime - startTime) / 1e6;
+        if (++totalFrames > 0) {
+            totalMsec += milliseconds;
+            minMsec = Math.min(minMsec, milliseconds);
+            maxMsec = Math.max(maxMsec, milliseconds);
+            LOG.fine("The recognizer took " + milliseconds + " ms, " + 
+            (1000 * totalFrames / totalMsec) + " fps avg");
+        }
+        
+        //send results to atom. (and any connected clients)
+        if (sender != null) {
+        	sender.send(target.azimuth, target.elevation, target.range);
+        }
+        
+        //show average fps
+        double fps = (1000 / milliseconds);
+        frameRate.setText("FPS: " + String.valueOf(fps));
+          
+    }
+
+    private void previousImage() {
+    	WPIColorImage toProcess = getter.getPrev();
+    	if (toProcess != null)
+    		processImage(toProcess, getter.getName());
+    }
+
+    private void nextImage() {
+    	WPIColorImage toProcess = getter.getFrame();
+    	if (toProcess != null)
+    		processImage(toProcess, getter.getName());
+    }
+
+    private void processEvents() {
+        KeyEvent e = cameraFrame.waitKey();
+
+        switch (e.getKeyCode()) {
+        case KeyEvent.VK_LEFT: // left arrow key: go to previous image
+            previousImage();
+            break;
+        case KeyEvent.VK_RIGHT: // right arrow key: go to next image
+            nextImage();
+            break;
+        case KeyEvent.VK_Q: // Q: print time measurements then quit
+            LOG.fine("The recognizer took " + (totalMsec / totalFrames) + "ms avg, " + minMsec +" min,"
+                    + maxMsec + " max, " + (1000 * totalFrames / totalMsec) + " fps avg");
+            System.exit(0);
+        }
+    }
+
+    public static void main(final String[] args) {
+    	VisionTuner tuner = new VisionTuner();
+    	Messages.SetWindow(tuner.cameraFrame);
+    	
+    	String atomIP = null;
+    	try {
+    		atomIP = args[0];
+    	} catch (ArrayIndexOutOfBoundsException e) {
+    		System.out.println("Usage: VisionTuner [atom IP address]");
+    		System.exit(0);
+    	}
+    	
+        if (Arrays.asList(args).contains("-debug")) {
+        	//debug mode has been requested
+        	tuner.debug = true;
+        	
+        	//show debugging windows
+        	tuner.recognizer.showIntermediateStages(true);
+        	tuner.getter = new TestImageGetter(".");
+        	WPIColorImage to_process = tuner.getter.getFrame();
+        	tuner.processImage(to_process, tuner.getter.getName());
+        	for (;;) {
+        		tuner.processEvents();
+        	}
+        } else {
+        	try {
+        		HTTPClient client = new HTTPClient(atomIP);
+        		for (;;) {
+        			tuner.startTime = System.nanoTime();
+            		WPIColorImage to_process = client.getFrame();
+            		if (to_process != null) {
+            			tuner.processImage(to_process, client.getName());
+            			LOG.fine("Captured time: " + Double.toString(client.getTimestamp()));
+            		}
+            	}
+        	} catch (IOException e) {
+        		LOG.severe("Client initialization failed: " + e.getMessage() + ".");
+        		Messages.severe("Client initialization failed: " + e.getMessage() + ".");
+        	}
+        }
+    }
+
+}
diff --git a/971cv/src/org/spartanrobotics/ds_vision.log b/971cv/src/org/spartanrobotics/ds_vision.log
new file mode 100644
index 0000000..2fae3f3
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/ds_vision.log
@@ -0,0 +1,994 @@
+@Sat Feb 23 12:11:35 PST 2013 in [global]: (FINE) Initial HSV range [70 .. 106] 137+ 27+
+@Sat Feb 23 12:11:35 PST 2013 in [global]: (INFO) Reading headers...
+@Sat Feb 23 12:11:35 PST 2013 in [global]: (INFO) Writing headers...
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68137, Content-Type=image/jpeg, X-Timestamp=1.361650296043E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68137
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296043E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68283, Content-Type=image/jpeg, X-Timestamp=1.361650296073E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68283
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 21.509065 ms, 46.492025571543905 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296073E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68407, Content-Type=image/jpeg, X-Timestamp=1.361650296108E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68407
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 13.399685 ms, 57.29222616106277 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296108E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68468, Content-Type=image/jpeg, X-Timestamp=1.361650296139E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68468
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 16.210285 ms, 58.6865538443752 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296139E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68481, Content-Type=image/jpeg, X-Timestamp=1.361650296171E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68481
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 16.315636 ms, 59.31666812758678 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296171E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68360, Content-Type=image/jpeg, X-Timestamp=1.361650296206E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68360
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 17.175151 ms, 59.094793982665514 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296206E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68568, Content-Type=image/jpeg, X-Timestamp=1.361650296238E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68568
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 16.372544 ms, 59.41631432957315 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.361650296238E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68433, Content-Type=image/jpeg, X-Timestamp=1.36165029665E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68433
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) The recognizer took 21.308172 ms, 57.2407327212838 fps, %.2f avg
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) Captured time: 1.36165029665E12
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68255, Content-Type=image/jpeg, X-Timestamp=1.361650296668E12}
+@Sat Feb 23 12:11:36 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68255
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 19.901973 ms, 56.26175347589157 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296668E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68236, Content-Type=image/jpeg, X-Timestamp=1.36165029669E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68236
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.058567 ms, 57.59960260882168 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.36165029669E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68282, Content-Type=image/jpeg, X-Timestamp=1.361650296708E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68282
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 13.691983 ms, 58.843238089020886 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296708E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68137, Content-Type=image/jpeg, X-Timestamp=1.361650296748E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68137
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.658528 ms, 59.26673397176573 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296748E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68107, Content-Type=image/jpeg, X-Timestamp=1.361650296792E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68107
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 13.575239 ms, 60.247972218937036 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296792E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68279, Content-Type=image/jpeg, X-Timestamp=1.361650296832E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68279
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.427516 ms, 60.576592988257495 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296832E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68123, Content-Type=image/jpeg, X-Timestamp=1.361650296878E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68123
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.644789 ms, 61.06893324652181 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296878E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68161, Content-Type=image/jpeg, X-Timestamp=1.361650296921E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68161
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 13.607566 ms, 61.7648187666423 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296921E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68088, Content-Type=image/jpeg, X-Timestamp=1.361650296961E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68088
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.72177 ms, 61.87676824708866 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650296961E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68280, Content-Type=image/jpeg, X-Timestamp=1.361650297013E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68280
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 19.274141 ms, 61.18351740514513 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297013E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67929, Content-Type=image/jpeg, X-Timestamp=1.361650297063E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67929
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.98678 ms, 61.46714074223417 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297063E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68138, Content-Type=image/jpeg, X-Timestamp=1.361650297145E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68138
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 16.333437 ms, 61.454301092249615 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297145E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68025, Content-Type=image/jpeg, X-Timestamp=1.36165029719E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68025
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.441173 ms, 61.802023398246064 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.36165029719E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68118, Content-Type=image/jpeg, X-Timestamp=1.361650297201E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68118
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 16.093952 ms, 61.817805195210745 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297201E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68172, Content-Type=image/jpeg, X-Timestamp=1.361650297229E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68172
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.226181 ms, 62.15845816713021 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297229E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68191, Content-Type=image/jpeg, X-Timestamp=1.361650297275E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68191
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.272387 ms, 62.46494494448388 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297275E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68233, Content-Type=image/jpeg, X-Timestamp=1.36165029735E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68233
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 13.738702 ms, 62.83623571549745 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.36165029735E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67939, Content-Type=image/jpeg, X-Timestamp=1.361650297365E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67939
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.826412 ms, 62.85013274727379 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297365E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68042, Content-Type=image/jpeg, X-Timestamp=1.361650297414E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68042
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.334621 ms, 63.09052503947071 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297414E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68034, Content-Type=image/jpeg, X-Timestamp=1.361650297453E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68034
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.279274 ms, 63.17481095622216 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297453E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68068, Content-Type=image/jpeg, X-Timestamp=1.361650297493E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68068
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 14.74945 ms, 63.32907670713834 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297493E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68112, Content-Type=image/jpeg, X-Timestamp=1.361650297535E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68112
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 13.374888 ms, 63.66492166458384 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297535E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68149, Content-Type=image/jpeg, X-Timestamp=1.361650297579E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68149
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) The recognizer took 15.922264 ms, 63.635883146878676 fps, %.2f avg
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) Captured time: 1.361650297579E12
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68096, Content-Type=image/jpeg, X-Timestamp=1.361650297651E12}
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68096
+@Sat Feb 23 12:11:37 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.227896 ms, 63.83065987845856 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297651E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68136, Content-Type=image/jpeg, X-Timestamp=1.361650297689E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68136
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.953313 ms, 64.04953078314523 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297689E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68298, Content-Type=image/jpeg, X-Timestamp=1.361650297696E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68298
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.188844 ms, 64.2270527989815 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297696E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68053, Content-Type=image/jpeg, X-Timestamp=1.361650297729E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68053
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.978126 ms, 64.29891460973653 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297729E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68248, Content-Type=image/jpeg, X-Timestamp=1.361650297768E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68248
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.69292 ms, 64.51931277788586 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297768E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67999, Content-Type=image/jpeg, X-Timestamp=1.361650297891E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67999
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.769403 ms, 64.71995827763172 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297891E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68053, Content-Type=image/jpeg, X-Timestamp=1.361650297899E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68053
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.607504 ms, 64.92935176744551 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297899E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68121, Content-Type=image/jpeg, X-Timestamp=1.361650297929E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68121
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.261341 ms, 65.05607479262719 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297929E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68094, Content-Type=image/jpeg, X-Timestamp=1.361650297966E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68094
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.003201 ms, 65.20488690430554 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650297966E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68071, Content-Type=image/jpeg, X-Timestamp=1.361650298008E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68071
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.871678 ms, 65.36093418174029 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298008E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68302, Content-Type=image/jpeg, X-Timestamp=1.361650298047E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68302
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.664885 ms, 65.5317167899109 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298047E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68212, Content-Type=image/jpeg, X-Timestamp=1.361650298083E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68212
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.77267 ms, 65.68412474383663 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298083E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68210, Content-Type=image/jpeg, X-Timestamp=1.361650298153E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68210
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.386876 ms, 65.76826321807344 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298153E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67971, Content-Type=image/jpeg, X-Timestamp=1.361650298188E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67971
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 16.265488 ms, 65.66416626873686 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298188E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68083, Content-Type=image/jpeg, X-Timestamp=1.361650298196E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68083
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.678746 ms, 65.81304495340147 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298196E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68165, Content-Type=image/jpeg, X-Timestamp=1.361650298226E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68165
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 22.735684 ms, 65.11055221156725 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298226E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67917, Content-Type=image/jpeg, X-Timestamp=1.361650298267E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67917
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 19.578643 ms, 64.73210866803855 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298267E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67945, Content-Type=image/jpeg, X-Timestamp=1.361650298342E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67945
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.207886 ms, 64.84057286997351 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298342E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68087, Content-Type=image/jpeg, X-Timestamp=1.361650298352E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68087
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 14.401086 ms, 64.92832593239419 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298352E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68160, Content-Type=image/jpeg, X-Timestamp=1.361650298391E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68160
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 19.303107 ms, 64.601033295078 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298391E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68155, Content-Type=image/jpeg, X-Timestamp=1.361650298426E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68155
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.791606 ms, 64.73945895436681 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298426E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68331, Content-Type=image/jpeg, X-Timestamp=1.361650298463E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68331
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 17.82901 ms, 64.54799908625854 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298463E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68191, Content-Type=image/jpeg, X-Timestamp=1.361650298504E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68191
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 15.927098 ms, 64.51384045972165 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298504E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68221, Content-Type=image/jpeg, X-Timestamp=1.361650298542E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68221
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 13.943935 ms, 64.63403966756431 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298542E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67978, Content-Type=image/jpeg, X-Timestamp=1.361650298636E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67978
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) The recognizer took 16.650224 ms, 64.5446497419509 fps, %.2f avg
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) Captured time: 1.361650298636E12
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68173, Content-Type=image/jpeg, X-Timestamp=1.361650298682E12}
+@Sat Feb 23 12:11:38 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68173
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 19.317185 ms, 64.26141647038419 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298682E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68085, Content-Type=image/jpeg, X-Timestamp=1.361650298689E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68085
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 14.313745 ms, 64.35193646848073 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298689E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68143, Content-Type=image/jpeg, X-Timestamp=1.361650298724E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68143
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 14.339 ms, 64.43776933591894 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298724E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68182, Content-Type=image/jpeg, X-Timestamp=1.361650298777E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68182
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.939341 ms, 64.54912199780995 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298777E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68039, Content-Type=image/jpeg, X-Timestamp=1.361650298854E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68039
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 15.432671 ms, 64.55324763553315 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298854E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67958, Content-Type=image/jpeg, X-Timestamp=1.361650298864E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67958
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.741261 ms, 64.67300611404605 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298864E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67899, Content-Type=image/jpeg, X-Timestamp=1.361650298902E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67899
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 16.295434 ms, 64.6168575013342 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298902E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67953, Content-Type=image/jpeg, X-Timestamp=1.361650298939E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67953
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 18.072673 ms, 64.44520887828172 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298939E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67887, Content-Type=image/jpeg, X-Timestamp=1.361650298981E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67887
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 18.21017 ms, 64.27091598621249 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650298981E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68154, Content-Type=image/jpeg, X-Timestamp=1.361650299025E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68154
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 14.143116 ms, 64.3610303201675 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299025E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67918, Content-Type=image/jpeg, X-Timestamp=1.361650299076E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67918
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 16.837754 ms, 64.27951688461772 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299076E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68069, Content-Type=image/jpeg, X-Timestamp=1.361650299116E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68069
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 17.185526 ms, 64.1792465740953 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299116E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68071, Content-Type=image/jpeg, X-Timestamp=1.361650299214E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68071
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 15.127699 ms, 64.20673808246177 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299214E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67849, Content-Type=image/jpeg, X-Timestamp=1.361650299223E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67849
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 15.581215 ms, 64.20634820056793 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299223E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68191, Content-Type=image/jpeg, X-Timestamp=1.361650299253E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68191
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.799678 ms, 64.31105861111529 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299253E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68148, Content-Type=image/jpeg, X-Timestamp=1.361650299294E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68148
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.373386 ms, 64.43806821187916 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299294E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68267, Content-Type=image/jpeg, X-Timestamp=1.36165029938E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68267
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.78849 ms, 64.53800921010279 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.36165029938E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67994, Content-Type=image/jpeg, X-Timestamp=1.361650299388E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67994
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.724991 ms, 64.63914415024655 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299388E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67840, Content-Type=image/jpeg, X-Timestamp=1.36165029942E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67840
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.91779 ms, 64.72693308485749 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.36165029942E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67858, Content-Type=image/jpeg, X-Timestamp=1.36165029946E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67858
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 13.913769 ms, 64.81283550283284 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.36165029946E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67922, Content-Type=image/jpeg, X-Timestamp=1.361650299501E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67922
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 22.243425 ms, 64.43836428909962 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299501E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68241, Content-Type=image/jpeg, X-Timestamp=1.361650299538E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68241
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 17.994847 ms, 64.30511198239604 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299538E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68077, Content-Type=image/jpeg, X-Timestamp=1.361650299578E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68077
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 14.180446 ms, 64.3778464298547 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299578E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68299, Content-Type=image/jpeg, X-Timestamp=1.361650299615E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68299
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) The recognizer took 15.450192 ms, 64.38220641904373 fps, %.2f avg
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) Captured time: 1.361650299615E12
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68145, Content-Type=image/jpeg, X-Timestamp=1.361650299685E12}
+@Sat Feb 23 12:11:39 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68145
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.609772 ms, 64.37818957163347 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299685E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68059, Content-Type=image/jpeg, X-Timestamp=1.361650299721E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68059
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 18.240182 ms, 64.23997853103091 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299721E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67975, Content-Type=image/jpeg, X-Timestamp=1.361650299729E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67975
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.110112 ms, 64.21263863051558 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299729E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68147, Content-Type=image/jpeg, X-Timestamp=1.361650299759E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68147
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.691253 ms, 64.15714702919048 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299759E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68162, Content-Type=image/jpeg, X-Timestamp=1.361650299795E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68162
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.212966 ms, 64.17546721783819 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299795E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68241, Content-Type=image/jpeg, X-Timestamp=1.361650299884E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68241
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 14.06972 ms, 64.24883874570213 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299884E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68105, Content-Type=image/jpeg, X-Timestamp=1.361650299892E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68105
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.078559 ms, 64.27217110898513 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299892E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67977, Content-Type=image/jpeg, X-Timestamp=1.361650299928E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67977
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 18.701205 ms, 64.12331138611535 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650299928E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67987, Content-Type=image/jpeg, X-Timestamp=1.361650300044E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67987
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 14.801449 ms, 64.16040928240051 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300044E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68087, Content-Type=image/jpeg, X-Timestamp=1.361650300053E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68087
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 13.991298 ms, 64.23425167462358 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300053E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68068, Content-Type=image/jpeg, X-Timestamp=1.361650300128E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68068
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 14.742065 ms, 64.27213973435038 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300128E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68238, Content-Type=image/jpeg, X-Timestamp=1.361650300174E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68238
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.670592 ms, 64.26706724155476 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300174E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68193, Content-Type=image/jpeg, X-Timestamp=1.361650300217E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68193
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.355486 ms, 64.23137755239753 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300217E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68120, Content-Type=image/jpeg, X-Timestamp=1.361650300293E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68120
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.053624 ms, 64.25423616502731 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300293E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68089, Content-Type=image/jpeg, X-Timestamp=1.3616503003E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68089
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.134075 ms, 64.2291713012313 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.3616503003E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68101, Content-Type=image/jpeg, X-Timestamp=1.36165030033E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68101
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 18.882135 ms, 64.08563036121582 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.36165030033E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68164, Content-Type=image/jpeg, X-Timestamp=1.361650300372E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68164
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 20.959789 ms, 63.85732625794959 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300372E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68069, Content-Type=image/jpeg, X-Timestamp=1.361650300444E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68069
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 22.38341 ms, 63.57592432887276 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300444E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68059, Content-Type=image/jpeg, X-Timestamp=1.361650300451E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68059
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.197574 ms, 63.59785922103913 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300451E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68114, Content-Type=image/jpeg, X-Timestamp=1.361650300484E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68114
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.701653 ms, 63.55793368314355 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300484E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68024, Content-Type=image/jpeg, X-Timestamp=1.361650300524E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68024
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 16.302819 ms, 63.534950874772825 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300524E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67947, Content-Type=image/jpeg, X-Timestamp=1.361650300565E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67947
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) The recognizer took 15.63446 ms, 63.539144050589364 fps, %.2f avg
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) Captured time: 1.361650300565E12
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68085, Content-Type=image/jpeg, X-Timestamp=1.361650300613E12}
+@Sat Feb 23 12:11:40 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68085
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 17.427975 ms, 63.47233716678747 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300613E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68220, Content-Type=image/jpeg, X-Timestamp=1.36165030065E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68220
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 19.315464 ms, 63.33337412494539 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.36165030065E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68140, Content-Type=image/jpeg, X-Timestamp=1.361650300694E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68140
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.907126 ms, 63.36742278893399 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300694E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68291, Content-Type=image/jpeg, X-Timestamp=1.361650300795E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68291
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 21.189145 ms, 63.16127550822476 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300795E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68135, Content-Type=image/jpeg, X-Timestamp=1.361650300813E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68135
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 12.909415 ms, 63.27147823687852 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300813E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68205, Content-Type=image/jpeg, X-Timestamp=1.361650300861E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68205
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 25.17717 ms, 62.92275868301463 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300861E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67964, Content-Type=image/jpeg, X-Timestamp=1.361650300901E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67964
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.214648 ms, 62.98432885863931 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300901E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68230, Content-Type=image/jpeg, X-Timestamp=1.361650300946E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68230
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.319634 ms, 63.04105856047028 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300946E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68141, Content-Type=image/jpeg, X-Timestamp=1.361650300985E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68141
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 19.518893 ms, 62.90923986798068 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650300985E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68225, Content-Type=image/jpeg, X-Timestamp=1.361650301033E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68225
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 16.465502 ms, 62.88893851701171 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301033E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68079, Content-Type=image/jpeg, X-Timestamp=1.36165030108E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68079
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 13.68321 ms, 62.96735392600625 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.36165030108E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68114, Content-Type=image/jpeg, X-Timestamp=1.361650301117E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68114
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.456633 ms, 63.01737972822734 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301117E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68093, Content-Type=image/jpeg, X-Timestamp=1.361650301157E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68093
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 17.864453 ms, 62.94793213588519 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301157E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68154, Content-Type=image/jpeg, X-Timestamp=1.361650301203E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68154
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 21.198177 ms, 62.76543132501559 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301203E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67964, Content-Type=image/jpeg, X-Timestamp=1.361650301242E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67964
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.041584 ms, 62.82970932617104 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301242E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68102, Content-Type=image/jpeg, X-Timestamp=1.361650301342E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68102
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.026121 ms, 62.893539761749814 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301342E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68176, Content-Type=image/jpeg, X-Timestamp=1.361650301381E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68176
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 19.221221 ms, 62.78239862084225 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301381E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68260, Content-Type=image/jpeg, X-Timestamp=1.36165030141E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68260
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 13.950618 ms, 62.84796475464167 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.36165030141E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68090, Content-Type=image/jpeg, X-Timestamp=1.361650301463E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68090
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 14.396957 ms, 62.89785352578393 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301463E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67961, Content-Type=image/jpeg, X-Timestamp=1.361650301499E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67961
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 25.962658 ms, 62.57052412329329 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301499E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67971, Content-Type=image/jpeg, X-Timestamp=1.361650301583E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67971
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 19.662501 ms, 62.452635562854354 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301583E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67962, Content-Type=image/jpeg, X-Timestamp=1.361650301593E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67962
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) The recognizer took 16.310279 ms, 62.4431828273742 fps, %.2f avg
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) Captured time: 1.361650301593E12
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68022, Content-Type=image/jpeg, X-Timestamp=1.36165030164E12}
+@Sat Feb 23 12:11:41 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68022
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 20.111986 ms, 62.31460547417438 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.36165030164E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68083, Content-Type=image/jpeg, X-Timestamp=1.361650301677E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68083
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 21.546259 ms, 62.14425731192266 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301677E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68087, Content-Type=image/jpeg, X-Timestamp=1.361650301712E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68087
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 22.729163 ms, 61.941479121079624 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301712E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68035, Content-Type=image/jpeg, X-Timestamp=1.361650301752E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68035
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.151238 ms, 62.00174842684832 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301752E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68106, Content-Type=image/jpeg, X-Timestamp=1.361650301795E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68106
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.158751 ms, 62.06096461500818 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301795E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68223, Content-Type=image/jpeg, X-Timestamp=1.361650301874E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68223
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 16.147102 ms, 62.059952063180376 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301874E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68129, Content-Type=image/jpeg, X-Timestamp=1.361650301924E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68129
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.991527 ms, 62.12288087139601 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301924E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68122, Content-Type=image/jpeg, X-Timestamp=1.361650301949E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68122
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 17.132243 ms, 62.09240142218409 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301949E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68074, Content-Type=image/jpeg, X-Timestamp=1.361650301996E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68074
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 31.077322 ms, 61.65814796604452 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650301996E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68182, Content-Type=image/jpeg, X-Timestamp=1.361650302051E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68182
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.693634 ms, 61.73040311913758 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302051E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68106, Content-Type=image/jpeg, X-Timestamp=1.361650302146E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68106
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.290942 ms, 61.78472498217688 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302146E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68028, Content-Type=image/jpeg, X-Timestamp=1.361650302164E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68028
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 19.469446 ms, 61.691997629382165 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302164E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68015, Content-Type=image/jpeg, X-Timestamp=1.361650302207E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68015
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.964618 ms, 61.72685642905711 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302207E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68098, Content-Type=image/jpeg, X-Timestamp=1.361650302242E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68098
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.135386 ms, 61.78434159870846 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302242E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68052, Content-Type=image/jpeg, X-Timestamp=1.36165030228E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68052
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.939299 ms, 61.84653303324636 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.36165030228E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67937, Content-Type=image/jpeg, X-Timestamp=1.361650302316E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67937
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.187118 ms, 61.901119996157895 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302316E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68078, Content-Type=image/jpeg, X-Timestamp=1.361650302357E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68078
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.215405 ms, 61.98167475836398 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302357E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68046, Content-Type=image/jpeg, X-Timestamp=1.361650302418E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68046
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.759267 ms, 62.046439618792434 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302418E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68066, Content-Type=image/jpeg, X-Timestamp=1.361650302534E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68066
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 13.963076 ms, 62.10488856229221 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302534E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67819, Content-Type=image/jpeg, X-Timestamp=1.361650302542E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67819
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 17.116238 ms, 62.07753882503248 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302542E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68048, Content-Type=image/jpeg, X-Timestamp=1.361650302577E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68048
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) The recognizer took 14.666667 ms, 62.11615842925325 fps, %.2f avg
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) Captured time: 1.361650302577E12
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67889, Content-Type=image/jpeg, X-Timestamp=1.361650302617E12}
+@Sat Feb 23 12:11:42 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67889
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 16.041432 ms, 62.11768689639553 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302617E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68011, Content-Type=image/jpeg, X-Timestamp=1.361650302689E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68011
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 17.466496 ms, 62.081552741207524 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302689E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68068, Content-Type=image/jpeg, X-Timestamp=1.361650302696E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68068
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 17.306979 ms, 62.05012915035792 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302696E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68007, Content-Type=image/jpeg, X-Timestamp=1.361650302724E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68007
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.216341 ms, 62.09958820160224 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302724E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68127, Content-Type=image/jpeg, X-Timestamp=1.361650302834E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68127
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.161177 ms, 62.14989071302522 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302834E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68005, Content-Type=image/jpeg, X-Timestamp=1.361650302843E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68005
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.268807 ms, 62.196826596333004 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302843E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67893, Content-Type=image/jpeg, X-Timestamp=1.361650302907E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67893
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.832411 ms, 62.25440901051155 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302907E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68027, Content-Type=image/jpeg, X-Timestamp=1.361650302947E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68027
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.536152 ms, 62.29336713804211 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302947E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67969, Content-Type=image/jpeg, X-Timestamp=1.361650302988E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67969
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 15.39789 ms, 62.30998866760906 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650302988E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68177, Content-Type=image/jpeg, X-Timestamp=1.36165030307E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68177
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 15.611252 ms, 62.32102153805157 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.36165030307E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67984, Content-Type=image/jpeg, X-Timestamp=1.361650303111E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67984
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.856087 ms, 62.375942349478755 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303111E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67751, Content-Type=image/jpeg, X-Timestamp=1.361650303119E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67751
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.768521 ms, 62.40746595493011 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303119E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67765, Content-Type=image/jpeg, X-Timestamp=1.361650303151E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67765
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 15.299922 ms, 62.425426441437914 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303151E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67743, Content-Type=image/jpeg, X-Timestamp=1.361650303187E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67743
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 15.932056 ms, 62.42757371690206 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303187E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67907, Content-Type=image/jpeg, X-Timestamp=1.361650303257E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67907
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 19.004319 ms, 62.35447641703818 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303257E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67909, Content-Type=image/jpeg, X-Timestamp=1.361650303264E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67909
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 15.293989 ms, 62.37254547977479 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303264E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68152, Content-Type=image/jpeg, X-Timestamp=1.361650303294E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68152
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.927785 ms, 62.42344912594939 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303294E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67882, Content-Type=image/jpeg, X-Timestamp=1.361650303333E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67882
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.975755 ms, 62.47265025944497 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303333E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67918, Content-Type=image/jpeg, X-Timestamp=1.361650303373E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67918
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.287583 ms, 62.51384681706999 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303373E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67741, Content-Type=image/jpeg, X-Timestamp=1.361650303413E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67741
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 17.232436 ms, 62.48440833035976 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303413E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67984, Content-Type=image/jpeg, X-Timestamp=1.361650303453E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67984
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.532996 ms, 62.542932880561935 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303453E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67890, Content-Type=image/jpeg, X-Timestamp=1.36165030349E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67890
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.979544 ms, 62.566729112684726 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.36165030349E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67808, Content-Type=image/jpeg, X-Timestamp=1.361650303528E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67808
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 20.862565 ms, 62.45255594787078 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303528E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67941, Content-Type=image/jpeg, X-Timestamp=1.361650303607E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67941
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 14.290472 ms, 62.49255248260611 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303607E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67905, Content-Type=image/jpeg, X-Timestamp=1.361650303614E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67905
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) The recognizer took 13.385942 ms, 62.553061768187796 fps, %.2f avg
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) Captured time: 1.361650303614E12
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67838, Content-Type=image/jpeg, X-Timestamp=1.361650303642E12}
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67838
+@Sat Feb 23 12:11:43 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 18.469737 ms, 62.49595568451488 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303642E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67959, Content-Type=image/jpeg, X-Timestamp=1.361650303677E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67959
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 25.829339 ms, 62.27227468422434 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303677E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68082, Content-Type=image/jpeg, X-Timestamp=1.361650303754E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68082
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 13.969978 ms, 62.31939745771724 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303754E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68058, Content-Type=image/jpeg, X-Timestamp=1.361650303762E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68058
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.328027 ms, 62.35799669383238 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303762E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68001, Content-Type=image/jpeg, X-Timestamp=1.361650303796E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68001
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.854641 ms, 62.384418411605935 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303796E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68028, Content-Type=image/jpeg, X-Timestamp=1.361650303833E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68028
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 18.980919 ms, 62.318854136576924 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303833E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67968, Content-Type=image/jpeg, X-Timestamp=1.361650303873E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67968
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.299246 ms, 62.35743332510277 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303873E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68107, Content-Type=image/jpeg, X-Timestamp=1.361650303929E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68107
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.203251 ms, 62.3977351136621 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303929E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68039, Content-Type=image/jpeg, X-Timestamp=1.361650303968E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68039
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.264664 ms, 62.436290320661364 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650303968E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68137, Content-Type=image/jpeg, X-Timestamp=1.361650304007E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68137
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 22.614892 ms, 62.29291570611008 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304007E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68106, Content-Type=image/jpeg, X-Timestamp=1.361650304102E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68106
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 17.498301 ms, 62.2617778337762 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304102E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68121, Content-Type=image/jpeg, X-Timestamp=1.361650304139E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68121
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 13.749805 ms, 62.31132142630288 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304139E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68168, Content-Type=image/jpeg, X-Timestamp=1.361650304147E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68168
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.720042 ms, 62.33967389756935 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304147E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67885, Content-Type=image/jpeg, X-Timestamp=1.361650304185E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67885
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 15.335181 ms, 62.35466962225714 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304185E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68025, Content-Type=image/jpeg, X-Timestamp=1.361650304231E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68025
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.419098 ms, 62.388882433523314 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304231E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67964, Content-Type=image/jpeg, X-Timestamp=1.361650304303E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67964
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 16.588391 ms, 62.377104565365315 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304303E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67988, Content-Type=image/jpeg, X-Timestamp=1.361650304311E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67988
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.510206 ms, 62.4089449927529 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304311E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67961, Content-Type=image/jpeg, X-Timestamp=1.361650304342E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67961
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 13.656799 ms, 62.45827486637607 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304342E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68031, Content-Type=image/jpeg, X-Timestamp=1.361650304407E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68031
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 16.168426 ms, 62.45500196008051 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304407E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67963, Content-Type=image/jpeg, X-Timestamp=1.36165030443E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67963
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.21982 ms, 62.49200156109917 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.36165030443E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67975, Content-Type=image/jpeg, X-Timestamp=1.361650304489E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67975
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 14.175721 ms, 62.52956235213426 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304489E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68017, Content-Type=image/jpeg, X-Timestamp=1.361650304527E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68017
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 21.643249 ms, 62.41409859381183 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304527E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67985, Content-Type=image/jpeg, X-Timestamp=1.361650304566E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67985
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 13.703156 ms, 62.461181920699936 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304566E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68066, Content-Type=image/jpeg, X-Timestamp=1.361650304648E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68066
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 13.958912 ms, 62.502670046056316 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304648E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68025, Content-Type=image/jpeg, X-Timestamp=1.361650304684E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68025
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) The recognizer took 15.449583 ms, 62.51374200680568 fps, %.2f avg
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) Captured time: 1.361650304684E12
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67993, Content-Type=image/jpeg, X-Timestamp=1.361650304692E12}
+@Sat Feb 23 12:11:44 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67993
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) The recognizer took 14.331512 ms, 62.54712727573383 fps, %.2f avg
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) Captured time: 1.361650304692E12
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67912, Content-Type=image/jpeg, X-Timestamp=1.361650304721E12}
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67912
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) The recognizer took 15.186039 ms, 62.563137337662575 fps, %.2f avg
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) Captured time: 1.361650304721E12
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) parsed headers {Content-Length=67848, Content-Type=image/jpeg, X-Timestamp=1.36165030476E12}
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 67848
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) No target found
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) The recognizer took 16.1276 ms, 62.560281396120345 fps, %.2f avg
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) Captured time: 1.36165030476E12
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (FINE) parsed headers {Content-Length=68137, Content-Type=image/jpeg, X-Timestamp=1.361650304832E12}
+@Sat Feb 23 12:11:45 PST 2013 in [global]: (INFO) allocating a new direct buffer of length 68137
diff --git a/971cv/src/org/spartanrobotics/private_aos_camera_jar.jar b/971cv/src/org/spartanrobotics/private_aos_camera_jar.jar
new file mode 100644
index 0000000..dc5da19
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/private_aos_camera_jar.jar
Binary files differ
diff --git a/971cv/src/org/spartanrobotics/receiveFromDS.cpp b/971cv/src/org/spartanrobotics/receiveFromDS.cpp
new file mode 100644
index 0000000..915db2b
--- /dev/null
+++ b/971cv/src/org/spartanrobotics/receiveFromDS.cpp
@@ -0,0 +1,8 @@
+//receives messages from the server that the vision code runs on the driver's station
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+
