Factoring out camera_params.proto.

Change-Id: Idf886f9cb33764d505d5cff11ca766cea96d2024
diff --git a/y2016/vision/BUILD b/y2016/vision/BUILD
index e8d0b17..d8ca87c 100644
--- a/y2016/vision/BUILD
+++ b/y2016/vision/BUILD
@@ -143,7 +143,7 @@
     "//aos/vision/events:tcp_client",
     "//aos/vision/events:epoll_events",
     "//aos/vision/events:gtk_event",
-    "//aos/vision/debug:debug_viewer",
+    "//aos/vision/debug:debug_window",
     "//aos/vision/blob:range_image",
     "//aos/vision/blob:codec",
     "//aos/vision/blob:stream_view",
diff --git a/y2016/vision/debug_receiver.cc b/y2016/vision/debug_receiver.cc
index 7039c53..d3c527c 100644
--- a/y2016/vision/debug_receiver.cc
+++ b/y2016/vision/debug_receiver.cc
@@ -12,7 +12,6 @@
 #include "aos/vision/events/socket_types.h"
 #include "aos/vision/events/tcp_client.h"
 #include "aos/vision/events/epoll_events.h"
-#include "aos/vision/debug/debug_viewer.h"
 #include "aos/vision/blob/range_image.h"
 #include "aos/vision/blob/codec.h"
 #include "aos/vision/blob/stream_view.h"
@@ -69,9 +68,9 @@
 
  private:
   void DrawCross(PixelLinesOverlay &overlay, Vector<2> center, PixelRef color) {
-    overlay.add_line(Vector<2>(center.x() - 50, center.y()),
+    overlay.AddLine(Vector<2>(center.x() - 50, center.y()),
                      Vector<2>(center.x() + 50, center.y()), color);
-    overlay.add_line(Vector<2>(center.x(), center.y() - 50),
+    overlay.AddLine(Vector<2>(center.x(), center.y() - 50),
                      Vector<2>(center.x(), center.y() + 50), color);
   }
 
diff --git a/y2016/vision/target_sender.cc b/y2016/vision/target_sender.cc
index 2790a83..85e62c4 100644
--- a/y2016/vision/target_sender.cc
+++ b/y2016/vision/target_sender.cc
@@ -1,5 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/stat.h>
 #include <fstream>
 #include <iostream>
 #include <memory>
@@ -37,13 +38,15 @@
 using aos::events::DataSocket;
 using aos::vision::ImageFormat;
 
-::camera::CameraParams GetCameraParams(const Calibration &calibration) {
-  return ::camera::CameraParams{.width = calibration.camera_image_width(),
-                                .height = calibration.camera_image_height(),
-                                .exposure = calibration.camera_exposure(),
-                                .brightness = calibration.camera_brightness(),
-                                .gain = calibration.camera_gain(),
-                                .fps = calibration.camera_fps()};
+::aos::vision::CameraParams GetCameraParams(const Calibration &calibration) {
+  ::aos::vision::CameraParams params;
+  params.set_width(calibration.camera_image_width());
+  params.set_height(calibration.camera_image_height());
+  params.set_exposure(calibration.camera_exposure());
+  params.set_brightness(calibration.camera_brightness());
+  params.set_gain(calibration.camera_gain());
+  params.set_fps(calibration.camera_fps());
+  return params;
 }
 
 int64_t Nanos(aos::monotonic_clock::duration time_diff) {
@@ -62,13 +65,14 @@
 
 class ImageSender : public ImageStreamEvent {
  public:
-  ImageSender(int camera_index, camera::CameraParams params,
+  ImageSender(int camera_index, aos::vision::CameraParams params,
               const std::string &fname, const std::string &ipadder, int port)
       : ImageStreamEvent(fname, params),
         camera_index_(camera_index),
         udp_serv_(ipadder, 8080),
         tcp_serv_(port),
-        blob_filt_(ImageFormat(params.width, params.height), 40, 750, 250000),
+        blob_filt_(ImageFormat(params.width(), params.height()), 40, 750,
+                   250000),
         finder_(0.25, 35) {
     int index = 0;
     while (true) {
@@ -94,9 +98,8 @@
     DecodeJpeg(data, &image_);
     auto fmt = image_.fmt();
 
-    RangeImage rimg = DoThreshold(image_.get(), [](PixelRef &px) {
-      return (px.g > 88);
-    });
+    RangeImage rimg =
+        DoThreshold(image_.get(), [](PixelRef &px) { return (px.g > 88); });
 
     // flip the right image as this camera is mount backward
     if (camera_index_ == 0) {
@@ -202,11 +205,11 @@
  private:
 };
 
-void RunCamera(int camera_index, camera::CameraParams params,
+void RunCamera(int camera_index, aos::vision::CameraParams params,
                const std::string &device, const std::string &ip_addr,
                int port) {
-  printf("Creating camera %d (%d, %d).\n", camera_index, params.width,
-         params.height);
+  printf("Creating camera %d (%d, %d).\n", camera_index, params.width(),
+         params.height());
   ImageSender strm(camera_index, params, device, ip_addr, port);
 
   aos::events::EpollLoop loop;
diff --git a/y2016/vision/tools/BUILD b/y2016/vision/tools/BUILD
index a9e25ac..a7824c7 100644
--- a/y2016/vision/tools/BUILD
+++ b/y2016/vision/tools/BUILD
@@ -9,7 +9,7 @@
     "//aos/vision/events:epoll_events",
     "//aos/vision/events:gtk_event",
     "//aos/vision/events:tcp_server",
-    "//aos/vision/debug:debug_viewer",
+    "//aos/vision/debug:debug_window",
     "//aos/vision/blob:range_image",
     "//aos/vision/blob:stream_view",
     "//y2016/vision:blob_filters",
diff --git a/y2016/vision/tools/blob_stream_replay.cc b/y2016/vision/tools/blob_stream_replay.cc
index f972fae..acf4d4b 100644
--- a/y2016/vision/tools/blob_stream_replay.cc
+++ b/y2016/vision/tools/blob_stream_replay.cc
@@ -4,6 +4,7 @@
 #include <vector>
 #include <memory>
 #include <endian.h>
+#include <sys/stat.h>
 #include <fstream>
 #include <gdk/gdk.h>
 #include <gtk/gtk.h>
@@ -13,7 +14,6 @@
 #include "aos/vision/image/image_stream.h"
 #include "aos/vision/events/epoll_events.h"
 #include "aos/vision/events/tcp_server.h"
-#include "aos/vision/debug/debug_viewer.h"
 #include "aos/vision/blob/stream_view.h"
 #include "y2016/vision/blob_filters.h"
 // #include "y2016/vision/process_targets.h"
@@ -362,57 +362,57 @@
   void DrawSuperSpeed() {
     PixelRef color = {0, 255, 255};
     // S
-    overlay_.add_line(Vector<2>(200, 100), Vector<2>(100, 100), color);
-    overlay_.add_line(Vector<2>(100, 100), Vector<2>(100, 300), color);
-    overlay_.add_line(Vector<2>(100, 300), Vector<2>(200, 300), color);
-    overlay_.add_line(Vector<2>(200, 300), Vector<2>(200, 500), color);
-    overlay_.add_line(Vector<2>(200, 500), Vector<2>(100, 500), color);
+    overlay_.AddLine(Vector<2>(200, 100), Vector<2>(100, 100), color);
+    overlay_.AddLine(Vector<2>(100, 100), Vector<2>(100, 300), color);
+    overlay_.AddLine(Vector<2>(100, 300), Vector<2>(200, 300), color);
+    overlay_.AddLine(Vector<2>(200, 300), Vector<2>(200, 500), color);
+    overlay_.AddLine(Vector<2>(200, 500), Vector<2>(100, 500), color);
     // U
-    overlay_.add_line(Vector<2>(250, 100), Vector<2>(250, 500), color);
-    overlay_.add_line(Vector<2>(250, 500), Vector<2>(350, 500), color);
-    overlay_.add_line(Vector<2>(350, 500), Vector<2>(350, 100), color);
+    overlay_.AddLine(Vector<2>(250, 100), Vector<2>(250, 500), color);
+    overlay_.AddLine(Vector<2>(250, 500), Vector<2>(350, 500), color);
+    overlay_.AddLine(Vector<2>(350, 500), Vector<2>(350, 100), color);
     // P
-    overlay_.add_line(Vector<2>(400, 100), Vector<2>(400, 500), color);
-    overlay_.add_line(Vector<2>(400, 100), Vector<2>(500, 100), color);
-    overlay_.add_line(Vector<2>(500, 100), Vector<2>(500, 300), color);
-    overlay_.add_line(Vector<2>(500, 300), Vector<2>(400, 300), color);
+    overlay_.AddLine(Vector<2>(400, 100), Vector<2>(400, 500), color);
+    overlay_.AddLine(Vector<2>(400, 100), Vector<2>(500, 100), color);
+    overlay_.AddLine(Vector<2>(500, 100), Vector<2>(500, 300), color);
+    overlay_.AddLine(Vector<2>(500, 300), Vector<2>(400, 300), color);
     // E
-    overlay_.add_line(Vector<2>(550, 100), Vector<2>(550, 500), color);
-    overlay_.add_line(Vector<2>(550, 100), Vector<2>(650, 100), color);
-    overlay_.add_line(Vector<2>(550, 300), Vector<2>(650, 300), color);
-    overlay_.add_line(Vector<2>(550, 500), Vector<2>(650, 500), color);
+    overlay_.AddLine(Vector<2>(550, 100), Vector<2>(550, 500), color);
+    overlay_.AddLine(Vector<2>(550, 100), Vector<2>(650, 100), color);
+    overlay_.AddLine(Vector<2>(550, 300), Vector<2>(650, 300), color);
+    overlay_.AddLine(Vector<2>(550, 500), Vector<2>(650, 500), color);
     // R
-    overlay_.add_line(Vector<2>(700, 100), Vector<2>(700, 500), color);
-    overlay_.add_line(Vector<2>(700, 100), Vector<2>(800, 100), color);
-    overlay_.add_line(Vector<2>(800, 100), Vector<2>(800, 300), color);
-    overlay_.add_line(Vector<2>(800, 300), Vector<2>(700, 300), color);
-    overlay_.add_line(Vector<2>(700, 350), Vector<2>(800, 500), color);
+    overlay_.AddLine(Vector<2>(700, 100), Vector<2>(700, 500), color);
+    overlay_.AddLine(Vector<2>(700, 100), Vector<2>(800, 100), color);
+    overlay_.AddLine(Vector<2>(800, 100), Vector<2>(800, 300), color);
+    overlay_.AddLine(Vector<2>(800, 300), Vector<2>(700, 300), color);
+    overlay_.AddLine(Vector<2>(700, 350), Vector<2>(800, 500), color);
     // S
-    overlay_.add_line(Vector<2>(200, 550), Vector<2>(100, 550), color);
-    overlay_.add_line(Vector<2>(100, 550), Vector<2>(100, 750), color);
-    overlay_.add_line(Vector<2>(100, 750), Vector<2>(200, 750), color);
-    overlay_.add_line(Vector<2>(200, 750), Vector<2>(200, 950), color);
-    overlay_.add_line(Vector<2>(200, 950), Vector<2>(100, 950), color);
+    overlay_.AddLine(Vector<2>(200, 550), Vector<2>(100, 550), color);
+    overlay_.AddLine(Vector<2>(100, 550), Vector<2>(100, 750), color);
+    overlay_.AddLine(Vector<2>(100, 750), Vector<2>(200, 750), color);
+    overlay_.AddLine(Vector<2>(200, 750), Vector<2>(200, 950), color);
+    overlay_.AddLine(Vector<2>(200, 950), Vector<2>(100, 950), color);
     // P
-    overlay_.add_line(Vector<2>(250, 550), Vector<2>(250, 950), color);
-    overlay_.add_line(Vector<2>(250, 550), Vector<2>(350, 550), color);
-    overlay_.add_line(Vector<2>(350, 550), Vector<2>(350, 750), color);
-    overlay_.add_line(Vector<2>(350, 750), Vector<2>(250, 750), color);
+    overlay_.AddLine(Vector<2>(250, 550), Vector<2>(250, 950), color);
+    overlay_.AddLine(Vector<2>(250, 550), Vector<2>(350, 550), color);
+    overlay_.AddLine(Vector<2>(350, 550), Vector<2>(350, 750), color);
+    overlay_.AddLine(Vector<2>(350, 750), Vector<2>(250, 750), color);
     // E
-    overlay_.add_line(Vector<2>(400, 550), Vector<2>(400, 950), color);
-    overlay_.add_line(Vector<2>(400, 550), Vector<2>(500, 550), color);
-    overlay_.add_line(Vector<2>(400, 750), Vector<2>(500, 750), color);
-    overlay_.add_line(Vector<2>(400, 950), Vector<2>(500, 950), color);
+    overlay_.AddLine(Vector<2>(400, 550), Vector<2>(400, 950), color);
+    overlay_.AddLine(Vector<2>(400, 550), Vector<2>(500, 550), color);
+    overlay_.AddLine(Vector<2>(400, 750), Vector<2>(500, 750), color);
+    overlay_.AddLine(Vector<2>(400, 950), Vector<2>(500, 950), color);
     // E
-    overlay_.add_line(Vector<2>(550, 550), Vector<2>(550, 950), color);
-    overlay_.add_line(Vector<2>(550, 550), Vector<2>(650, 550), color);
-    overlay_.add_line(Vector<2>(550, 750), Vector<2>(650, 750), color);
-    overlay_.add_line(Vector<2>(550, 950), Vector<2>(650, 950), color);
+    overlay_.AddLine(Vector<2>(550, 550), Vector<2>(550, 950), color);
+    overlay_.AddLine(Vector<2>(550, 550), Vector<2>(650, 550), color);
+    overlay_.AddLine(Vector<2>(550, 750), Vector<2>(650, 750), color);
+    overlay_.AddLine(Vector<2>(550, 950), Vector<2>(650, 950), color);
     // D
-    overlay_.add_line(Vector<2>(700, 550), Vector<2>(700, 950), color);
-    overlay_.add_line(Vector<2>(700, 550), Vector<2>(800, 575), color);
-    overlay_.add_line(Vector<2>(800, 575), Vector<2>(800, 925), color);
-    overlay_.add_line(Vector<2>(800, 925), Vector<2>(700, 950), color);
+    overlay_.AddLine(Vector<2>(700, 550), Vector<2>(700, 950), color);
+    overlay_.AddLine(Vector<2>(700, 550), Vector<2>(800, 575), color);
+    overlay_.AddLine(Vector<2>(800, 575), Vector<2>(800, 925), color);
+    overlay_.AddLine(Vector<2>(800, 925), Vector<2>(700, 950), color);
   }
 
   void UpdateNewTime(int new_delta) {
@@ -524,9 +524,9 @@
   }
 
   void DrawCross(PixelLinesOverlay &overlay, Vector<2> center, PixelRef color) {
-    overlay.add_line(Vector<2>(center.x() - 25, center.y()),
+    overlay.AddLine(Vector<2>(center.x() - 25, center.y()),
                      Vector<2>(center.x() + 25, center.y()), color);
-    overlay.add_line(Vector<2>(center.x(), center.y() - 25),
+    overlay.AddLine(Vector<2>(center.x(), center.y() - 25),
                      Vector<2>(center.x(), center.y() + 25), color);
   }