diff --git a/.gitignore b/.gitignore index 1dc29ec9b..8c2e3d3d4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Python/app/handlers/__pycache__/ \.vscode/ backend/settings/ +/.vscode/ diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 92a2fa2e9..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Current File (Integrated Terminal)", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal" - }, - { - "name": "Python: Remote Attach", - "type": "python", - "request": "attach", - "port": 5678, - "host": "localhost", - "pathMappings": [ - { - "localRoot": "${workspaceFolder}", - "remoteRoot": "." - } - ] - }, - { - "name": "Python: Module", - "type": "python", - "request": "launch", - "module": "enter-your-module-name-here", - "console": "integratedTerminal" - }, - { - "name": "Python: Django", - "type": "python", - "request": "launch", - "program": "${workspaceFolder}/manage.py", - "console": "integratedTerminal", - "args": [ - "runserver", - "--noreload", - "--nothreading" - ], - "django": true - }, - { - "name": "Python: Flask", - "type": "python", - "request": "launch", - "module": "flask", - "env": { - "FLASK_APP": "app.py" - }, - "args": [ - "run", - "--no-debugger", - "--no-reload" - ], - "jinja": true - }, - { - "name": "Python: Current File (External Terminal)", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "externalTerminal" - } - ] -} \ No newline at end of file diff --git a/backend/Main.py b/backend/Main.py index 02aa2c372..91ca7f4c4 100644 --- a/backend/Main.py +++ b/backend/Main.py @@ -1,4 +1,3 @@ -from datetime import timedelta from networktables import NetworkTables import tornado.ioloop import logging @@ -7,7 +6,6 @@ from app.classes.SettingsManager import SettingsManager from tornado.options import options import threading import asyncio -from app.handlers.SocketHandler import send_all_async from app.handlers.CameraHander import CameraHandler @@ -18,13 +16,10 @@ def run_server(): print(f"Serving on port {options.port}") app.listen(options.port) tornado.ioloop.IOLoop.current().start() - tornado.ioloop.IOLoop.instance().add_timeout(timedelta(seconds=1), - send_all_async) def run(): NetworkTables.startClientTeam(team=settings_manager.general_settings.get("team_number", 1577)) - # NetworkTables.initialize("localhost") port = 5550 for cam_name in settings_manager.usb_cameras: CameraHandler(cam_name, port).run() diff --git a/backend/app/classes/SettingsManager.py b/backend/app/classes/SettingsManager.py index 75ae2182b..8a64acef2 100644 --- a/backend/app/classes/SettingsManager.py +++ b/backend/app/classes/SettingsManager.py @@ -2,9 +2,11 @@ import os import json import cv2 import cscore +import subprocess from cscore._cscore import VideoMode from .Singleton import Singleton from .Exceptions import PipelineAlreadyExistsException, NoCameraConnectedException +from ..handlers.IPHandler import ChangeIP class SettingsManager(metaclass=Singleton): @@ -27,7 +29,7 @@ class SettingsManager(metaclass=Singleton): "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], - "is_binary": "Normal", + "is_binary": 0, "sort_mode": "Largest", "target_group": 'Single', "target_intersection": 'Up', @@ -39,7 +41,8 @@ class SettingsManager(metaclass=Singleton): "connection_type": "DHCP", "ip": "", "gateway": "", - "hostname": "", + "netmask": "", + "hostname": "Chameleon-Vision", "curr_camera": "", "curr_pipeline": "" } @@ -48,6 +51,9 @@ class SettingsManager(metaclass=Singleton): self.settings_path = os.path.join(os.getcwd(), "settings") self.cams_path = os.path.join(self.settings_path, "cams") self._init_general_settings() + ChangeIP(connection_type=self.general_settings['connection_type'], hostname=self.general_settings['hostname'], + ip=self.general_settings['ip'], + netmask=self.general_settings['netmask'], gateway=self.general_settings['gateway']) self._init_cameras_info() self._init_usb_cameras() self._init_cameras() @@ -72,13 +78,10 @@ class SettingsManager(metaclass=Singleton): # Initiate our camera's settings def _init_cameras(self): for cam_name in self.usb_cameras_info: - cam = self.usb_cameras_info[cam_name] - if os.path.exists(os.path.join(self.cams_path, cam.name + '.json')): - - with open(os.path.join(self.cams_path, cam.name + '.json'), 'r') as camera: + if os.path.exists(os.path.join(self.cams_path, cam_name + '.json')): + with open(os.path.join(self.cams_path, cam_name + '.json'), 'r') as camera: self.cams[cam_name] = json.load(camera) - - if len(self.cams[cam.name]["pipelines"]) == 0: + if len(self.cams[cam_name]["pipelines"]) == 0: self.create_new_pipeline(cam_name=cam_name) else: self.create_new_cam(cam_name) @@ -188,11 +191,12 @@ class SettingsManager(metaclass=Singleton): def change_general_settings_values(self, dic): for key in dic['change_general_settings_values']: - if self.default_general_settings[key]: + if key in self.default_general_settings.keys(): self.general_settings[key] = dic['change_general_settings_values'][key] - self.settings_manager.save_settings() - #after all values has been set change settings - self.change_general_settings() + self.save_settings() + subprocess.call(['reboot']) + # after all values has been set change settings + # Creators @@ -255,7 +259,5 @@ class SettingsManager(metaclass=Singleton): with open(os.path.join(self.settings_path, 'settings.json'), 'w+') as setting_file: json.dump(self.general_settings, setting_file) - def change_general_settings(self): - pass diff --git a/backend/app/handlers/CameraHander.py b/backend/app/handlers/CameraHander.py index 8690693f4..1284f6c43 100644 --- a/backend/app/handlers/CameraHander.py +++ b/backend/app/handlers/CameraHander.py @@ -37,29 +37,37 @@ class CameraHandler: pipeline = self.settings_manager.cams[self.cam_name]["pipelines"][self.settings_manager.cams_curr_pipeline[self.cam_name]] FOV = self.settings_manager.cams[self.cam_name]["FOV"] - def change_camera_values(pipline): + def change_camera_values(pipeline): self.settings_manager.usb_cameras[self.cam_name].setBrightness(pipeline['brightness']) self.settings_manager.usb_cameras[self.cam_name].setExposureManual(pipeline['exposure']) self.settings_manager.usb_cameras[self.cam_name].setWhiteBalanceAuto() def pipeline_listener(table, key, value, is_new): asyncio.set_event_loop(asyncio.new_event_loop()) - self.settings_manager.cams_curr_pipeline[self.cam_name] = value - change_camera_values(pipeline) - if self.cam_name == self.settings_manager.general_settings['curr_camera']: - self.settings_manager.general_settings['curr_pipeline'] = value - update_settings = self.settings_manager.get_curr_pipeline() - update_settings['curr_pipeline'] = self.settings_manager.general_settings["curr_pipeline"] - send_all_async(update_settings) + if value in self.settings_manager.cams[self.cam_name]['pipelines'].keys(): + self.settings_manager.cams_curr_pipeline[self.cam_name] = value + change_camera_values(pipeline) + if self.cam_name == self.settings_manager.general_settings['curr_camera']: + self.settings_manager.general_settings['curr_pipeline'] = value + update_settings = self.settings_manager.get_curr_pipeline() + update_settings['curr_pipeline'] = self.settings_manager.general_settings["curr_pipeline"] + send_all_async(update_settings) + else: + self.table.putString('Pipeline', self.settings_manager.cams_curr_pipeline[self.cam_name]) def mode_listener(table, key, value, is_new): - change_camera_values({ - 'brightness': 25, - 'exposure': 15 - }) + if value: + change_camera_values({ + 'brightness': 25, + 'exposure': 15 + }) + else: + change_camera_values(pipeline) #setting up network table self.table = NetworkTables.getTable("/Chameleon-Vision/" + self.cam_name) + #init values for pipeline and driver mode self.table.putString('Pipeline', self.settings_manager.cams_curr_pipeline[self.cam_name]) + self.table.putBoolean('Driver_Mode', False) self.table.addEntryListenerEx(pipeline_listener, key="Pipeline", flags=networktables.NetworkTablesInstance.NotifyFlags.UPDATE) self.table.addEntryListenerEx(mode_listener, key="Driver_Mode", @@ -101,8 +109,8 @@ class CameraHandler: # send the point using network tables self.table.putNumber('pitch', self.nt_data['pitch']) self.table.putNumber('yaw', self.nt_data['yaw']) - self.table.putNumber('fps', self.nt_data['fps']) - self.table.putNumber('time_stamp', self.time_stamp) + self.table.putNumber('time_stamp', self.nt_data['time_stamp']) + self.table.putNumber('fps', self.nt_data['fps']) # if the selected camera in ui is this cam send the point to the ui except: pass @@ -132,11 +140,13 @@ class CameraHandler: #sending and reciving data from opencv sub process pipeline = self.settings_manager.cams[self.cam_name]["pipelines"][ self.settings_manager.cams_curr_pipeline[self.cam_name]] + socket.send_json(dict( - pipeline=pipeline + pipeline=pipeline, + driver_mode= self.table.getBoolean('Driver_Mode', False) ), zmq.SNDMORE) - socket.send_pyobj(self.image) + socket.send_pyobj((self.time_stamp,self.image)) self.p_image = socket.recv_pyobj() self.nt_data = socket.recv_json() @@ -174,49 +184,62 @@ class CameraHandler: while True: obj = socket.recv_json() - image = socket.recv_pyobj() - curr_pipeline = obj["pipeline"] + curr_pipeline = obj['pipeline'] + driver_mode = obj['driver_mode'] + time_stamp, image = socket.recv_pyobj() if curr_pipeline['orientation'] == "Inverted": M = cv2.getRotationMatrix2D((width / 2, height / 2), 180, 1) image = cv2.warpAffine(image, M, (width, height)) - hsv_image = self.vision_handler._hsv_threshold(curr_pipeline["hue"], - curr_pipeline["saturation"], curr_pipeline["value"], - image, curr_pipeline["erode"], curr_pipeline["dilate"]) - # if table.getBoolean("Driver_Mode", False): - contours = self.vision_handler.find_contours(hsv_image) - filtered_contours = filter_contours.filter_contours(input_contours=contours, area=curr_pipeline['area'], - ratio=curr_pipeline['ratio'], - extent=curr_pipeline['extent'], - sort_mode=curr_pipeline['sort_mode'], cam_area=cam_area, - target_grouping=curr_pipeline['target_group'], - target_intersection= - curr_pipeline['target_intersection']) - final_contour = self.vision_handler.output_contour(filtered_contours) - try: - center = final_contour[0] - center_x = (center[1] - curr_pipeline['B']) / curr_pipeline["M"] - center_y = (center[0] * curr_pipeline["M"]) + curr_pipeline["B"] - pitch = self.vision_handler.calculate_pitch(pixel_y=center[1], center_y=center_y, v_focal_length=V_FOCAL_LENGTH) - yaw = self.vision_handler.calculate_yaw(pixel_x=center[0], center_x=center_x, h_focal_length=H_FOCAL_LENGTH) - valid = True - except IndexError: + if not driver_mode: + hsv_image = self.vision_handler._hsv_threshold(curr_pipeline["hue"], + curr_pipeline["saturation"], curr_pipeline["value"], + image, curr_pipeline["erode"], curr_pipeline["dilate"]) + # if table.getBoolean("Driver_Mode", False): + contours = self.vision_handler.find_contours(hsv_image) + filtered_contours = filter_contours.filter_contours(input_contours=contours, area=curr_pipeline['area'], + ratio=curr_pipeline['ratio'], + extent=curr_pipeline['extent'], + sort_mode=curr_pipeline['sort_mode'], cam_area=cam_area, + target_grouping=curr_pipeline['target_group'], + target_intersection= + curr_pipeline['target_intersection']) + + final_contour = self.vision_handler.output_contour(filtered_contours) + + try: + center = final_contour[0] + center_x = (center[1] - curr_pipeline['B']) / curr_pipeline["M"] + center_y = (center[0] * curr_pipeline["M"]) + curr_pipeline["B"] + pitch = self.vision_handler.calculate_pitch(pixel_y=center[1], center_y=center_y, v_focal_length=V_FOCAL_LENGTH) + yaw = self.vision_handler.calculate_yaw(pixel_x=center[0], center_x=center_x, h_focal_length=H_FOCAL_LENGTH) + valid = True + except IndexError: + center = None + pitch = None + yaw = None + valid = False + + if curr_pipeline['is_binary']: + draw_image = hsv_image + else: + draw_image = image + + res = self.vision_handler.draw_image(input_image=draw_image, contour=final_contour) + else: + res = image center = None pitch = None yaw = None valid = False - if curr_pipeline['is_binary']: - draw_image = hsv_image - else: - draw_image = image - res = self.vision_handler.draw_image(input_image=draw_image, contour=final_contour) socket.send_pyobj(res) socket.send_json(dict( pitch=pitch, yaw=yaw, valid=valid, raw_point=center, - fps=fps + fps=fps, + time_stamp=time_stamp )) counter += 1 if (time.time() - start_time) > x: diff --git a/backend/app/handlers/IPHandler.py b/backend/app/handlers/IPHandler.py new file mode 100644 index 000000000..8d41f111b --- /dev/null +++ b/backend/app/handlers/IPHandler.py @@ -0,0 +1,45 @@ +import subprocess +import netifaces + + +class ChangeIP: + def __init__(self, connection_type, ip, netmask, gateway, hostname): + + adapter = self.find_adapter() + self.shutdown_adapter(adapter) + + if connection_type == "DHCP": + self.change_to_dhcp(adapter=adapter) + elif connection_type == "Static": + self.change_to_static(adapter=adapter, ip=ip, netmask=netmask, gateway=gateway) + + self.change_hostname(hostname=hostname) + self.start_adapter(adapter) + + @staticmethod + def change_to_dhcp(adapter): + subprocess.call(['dhclient',"-r", adapter]) + + @staticmethod + def change_to_static(adapter, ip, netmask, gateway): + subprocess.call(['ifconfig', adapter, ip, 'netmask', netmask]) + subprocess.call(['route', 'add', 'default', 'gw', gateway, adapter]) + + @staticmethod + def shutdown_adapter(adapter): + subprocess.call(['ifconfig', adapter, 'down']) + @staticmethod + def start_adapter(adapter): + subprocess.call(['ifconfig', adapter, 'up']) + + @staticmethod + def find_adapter(): + for i_name in netifaces.interfaces(): + interface = netifaces.ifaddresses(i_name)[netifaces.AF_INET][0] + address = interface['addr'].split('.')[0] + if address == "10": + return str(i_name) + + @staticmethod + def change_hostname(hostname): + subprocess.call(['hostnamectl', 'set-hostname', hostname]) diff --git a/backend/app/handlers/SocketHandler.py b/backend/app/handlers/SocketHandler.py index b6f54d136..df6d48a69 100644 --- a/backend/app/handlers/SocketHandler.py +++ b/backend/app/handlers/SocketHandler.py @@ -48,8 +48,8 @@ class ChameleonWebSocket(tornado.websocket.WebSocketHandler): for key in message_dic: self.actions.get(key, self.actions["change_pipeline_values"])(message_dic) print(message) - except: - print("crash " + message) + except Exception as e: + print("crash " + e) def on_close(self): self.settings_manager.save_settings() diff --git a/backend/app/handlers/VisionHandler.py b/backend/app/handlers/VisionHandler.py index b669c0177..7af59ebb5 100644 --- a/backend/app/handlers/VisionHandler.py +++ b/backend/app/handlers/VisionHandler.py @@ -10,17 +10,14 @@ class VisionHandler(): def _hsv_threshold(self, hue: list, saturation: list, value: list, img: numpy.ndarray, is_erode: bool, is_dilate: bool): - blur = cv2.blur(img, (3, 3)) - hsv = cv2.cvtColor(blur, cv2.COLOR_BGR2HSV) - lower = numpy.array([hue[0], saturation[0], value[0]]) - upper = numpy.array([hue[1], saturation[1], value[1]]) - thresh = cv2.inRange(hsv, lower, upper) + hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) + thresh = cv2.inRange(hsv, (hue[0], saturation[0], value[0]), (hue[1], saturation[1], value[1])) erode_img = cv2.erode(thresh, kernel=self.kernel, iterations=is_erode) dilate_img = cv2.dilate(erode_img, kernel=self.kernel, iterations=is_dilate) return dilate_img def find_contours(self, binary_img: numpy.ndarray): - _, contours, _ = cv2.findContours(binary_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) + _, contours, _ = cv2.findContours(binary_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_TC89_L1) return contours class Filter_Contours: diff --git a/backend/app/site/favicon.ico b/backend/app/site/favicon.ico index c7b9a43c8..bc877aaad 100644 Binary files a/backend/app/site/favicon.ico and b/backend/app/site/favicon.ico differ diff --git a/backend/app/site/index.html b/backend/app/site/index.html index 331ceb380..2a000f9bf 100644 --- a/backend/app/site/index.html +++ b/backend/app/site/index.html @@ -1 +1 @@ -Chameleon Vision
\ No newline at end of file +Chameleon Vision
\ No newline at end of file diff --git a/backend/app/site/js/app.10bc1021.js b/backend/app/site/js/app.10bc1021.js new file mode 100644 index 000000000..21f371c2f --- /dev/null +++ b/backend/app/site/js/app.10bc1021.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var s,r,o=e[0],l=e[1],u=e[2],p=0,m=[];p\n \n \n

{{title.charAt(0).toUpperCase() + title.slice(1)}} :

\n \n \n \n {{item}}\n \n \n
\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-select.vue?vue&type=template&id=c9ee7642&\"\nimport script from \"./ch-select.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"," \n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=69465486&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Header',{attrs:{\"id\":\"main-header\"}},[_c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}})],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"pipline\",\"list\":_vm.pipelineList,\"Xkey\":\"curr_pipeline\"}})],1)],1)],1),_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"top\",\"gutter\":5}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('router-view')],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('Tabs',{attrs:{\"animated\":false},on:{\"on-click\":_vm.handleImage},model:{value:(_vm.isBinary),callback:function ($$v) {_vm.isBinary=$$v},expression:\"isBinary\"}},[_c('TabPane',{attrs:{\"label\":\"Normal\"}}),_c('TabPane',{attrs:{\"label\":\"Threshold\"}})],1),_c('img',{staticClass:\"imageSize\",attrs:{\"src\":_vm.steamAdress}}),_c('h4',{staticClass:\"pointText\"},[_vm._v(_vm._s(_vm.point))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vision.vue?vue&type=template&id=2db2bf31&\"\nimport script from \"./Vision.vue?vue&type=script&lang=js&\"\nexport * from \"./Vision.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Vision.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=033196b2&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"033196b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputTab\"}},[_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"exposure\",\"Xkey\":\"exposure\"}}),_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"Brightness\",\"Xkey\":\"brightness\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Orientation\",\"Xkey\":\"orientation\",\"list\":['Normal','Inverted']}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{attrs:{\"span\":\"14\"}},[_c('Slider',{on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-slider.vue?vue&type=template&id=7e5a6bfa&\"\nimport script from \"./ch-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.list),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-IndexSelect.vue?vue&type=template&id=2c264cc6&\"\nimport script from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputTab.vue?vue&type=template&id=285b7205&scoped=true&\"\nimport script from \"./InputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputTab.vue?vue&type=style&index=0&id=285b7205&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"285b7205\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"Threshold\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Hue\",\"Xkey\":\"hue\",\"maximum\":180}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Saturation\",\"Xkey\":\"saturation\",\"maximum\":255}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Value\",\"Xkey\":\"value\",\"maximum\":255}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Erode\",\"Xkey\":\"erode\"}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Dilate\",\"Xkey\":\"dilate\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\",\"step\":_vm.steps},model:{value:(_vm.value[0]),callback:function ($$v) {_vm.$set(_vm.value, 0, $$v)},expression:\"value[0]\"}})],1),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Slider',{attrs:{\"range\":\"\",\"step\":_vm.steps,\"max\":_vm.maximum},on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{staticStyle:{\"text-align\":\"right\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-end\"},attrs:{\"size\":\"small\",\"step\":_vm.steps,\"max\":_vm.maximum},model:{value:(_vm.value[1]),callback:function ($$v) {_vm.$set(_vm.value, 1, $$v)},expression:\"value[1]\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-range.vue?vue&type=template&id=a3c890c4&\"\nimport script from \"./ch-range.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-range.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-range.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('i-switch',{staticStyle:{\"align-self\":\"flex-start\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-switch.vue?vue&type=template&id=182635d8&scoped=true&\"\nimport script from \"./ch-switch.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-switch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"182635d8\",\n null\n \n)\n\nexport default component.exports","\n \n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThresholdTab.vue?vue&type=template&id=267dfb50&scoped=true&\"\nimport script from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"267dfb50\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"SystemTab\"}},[_c('div',[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(\"Team Number:\")])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.team_number),callback:function ($$v) {_vm.team_number=$$v},expression:\"team_number\"}})],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}},[_vm._v(\"Networking\")]),_c('div',[_c('RadioGroup',{staticStyle:{\"display\":\"flex\"},model:{value:(_vm.connection_type),callback:function ($$v) {_vm.connection_type=$$v},expression:\"connection_type\"}},[_c('Radio',{attrs:{\"label\":\"DHCP\"}}),_c('Radio',{attrs:{\"label\":\"Static\"}})],1),_c('div',{staticClass:\"ipSettings\"},[_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"IP:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.ip),callback:function ($$v) {_vm.ip=$$v},expression:\"ip\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Netmask:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.netmask),callback:function ($$v) {_vm.netmask=$$v},expression:\"netmask\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Gateway:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.gateway),callback:function ($$v) {_vm.gateway=$$v},expression:\"gateway\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Hostname:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\"},model:{value:(_vm.hostname),callback:function ($$v) {_vm.hostname=$$v},expression:\"hostname\"}},[_c('span',{attrs:{\"slot\":\"prepend\"},slot:\"prepend\"},[_vm._v(\"http://Chameleon-Vision-\")]),_c('span',{attrs:{\"slot\":\"append\"},slot:\"append\"},[_vm._v(\".local\")])])],1)],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}}),_c('row',{staticStyle:{\"margin-top\":\"20px\"},attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save Changes and Restart\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputNumber\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(_vm._s(_vm.title))])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-inputNumber.vue?vue&type=template&id=672703df&scoped=true&\"\nimport script from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"672703df\",\n null\n \n)\n\nexport default component.exports","\n\n \n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SystemTab.vue?vue&type=template&id=175c3e50&\"\nimport script from \"./SystemTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SystemTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SystemTab.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"spacing\",attrs:{\"id\":\"cameraTab\"}},[_c('chselect',{attrs:{\"title\":\"select camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Resolution:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},model:{value:(_vm.resolution),callback:function ($$v) {_vm.resolution=$$v},expression:\"resolution\"}},_vm._l((_vm.resolutionList),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Diagonal FOV:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.FOV),callback:function ($$v) {_vm.FOV=$$v},expression:\"FOV\"}})],1)],1),_c('Button',{staticClass:\"buttonClass spacing\",attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save settings to current camera\")]),_c('h4',{staticClass:\"spacing\"},[_vm._v(\"Please Restart the computer Manually after saving all cameras\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CameraTab.vue?vue&type=template&id=4d25b2ea&scoped=true&\"\nimport script from \"./CameraTab.vue?vue&type=script&lang=js&\"\nexport * from \"./CameraTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d25b2ea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"ContourTab\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Area\",\"Xkey\":\"area\"}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Ratio (W/H)\",\"Xkey\":\"ratio\",\"steps\":0.1}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Extent\",\"Xkey\":\"extent\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Group\",\"Xkey\":\"target_group\",\"list\":['Single','Dual','Triple','Quadruple','Quintuple']}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Intersaction\",\"Xkey\":\"target_intersection\",\"list\":['Up','Down','Left','Right','Parallel'],\"isDisabled\":_vm.isSingle}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./contourTab.vue?vue&type=template&id=90fe5fa0&scoped=true&\"\nimport script from \"./contourTab.vue?vue&type=script&lang=js&\"\nexport * from \"./contourTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"90fe5fa0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"OutputTab\"}},[_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Sort Mode\",\"Xkey\":\"sort_mode\",\"list\":['Largest','Smallest','Highest','Lowest','Rightmost','Leftmost','Closest']}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointA}},[_vm._v(\"Take Point A\")]),_c('col',{staticStyle:{\"margin-left\":\"10px\"}}),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointB}},[_vm._v(\"Take Point B\")])],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"warning\",\"size\":\"small\"},on:{\"click\":_vm.clearPoints}},[_vm._v(\"Clear All Points\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outputTab.vue?vue&type=template&id=1abc7610&scoped=true&\"\nimport script from \"./outputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./outputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1abc7610\",\n null\n \n)\n\nexport default component.exports","import VueRouter from \"vue-router\";\nimport Vision from \"./components/Vision.vue\"\nimport Setting from \"./components/Settings.vue\"\nimport Input from \"./components/InputTab.vue\";\nimport Threshold from \"./components/ThresholdTab.vue\";\nimport System from \"./components/SystemTab.vue\";\nimport Camera from \"./components/CameraTab.vue\";\nimport Contours from \"./components/contourTab.vue\";\nimport Output from './components/outputTab.vue'\n\nconst routes = [\n { path: '/', redirect: '/vision/input'},\n { path: '/vision', component: Vision, children: [\n { path: 'input', component: Input },\n { path: 'threshold', component: Threshold },\n { path: 'contours', component: Contours },\n { path: 'output', component: Output },\n ]},\n { path: '/settings', component: Setting, children: [\n { path: 'system', component: System },\n { path: 'camera', component: Camera }\n ]}\n]\n\nconst router = new VueRouter({\n routes\n})\n\nexport default router;","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex);\nconst set = key => (state,val) =>{\n state[key] = val\n};\nexport const store = new Vuex.Store({\n\n state:{\n //header\n curr_camera:\"\",\n curr_pipeline:\"\",\n cameraList:[],\n pipelineList:[],\n //input\n exposure:54,\n brightness:0,\n orientation:0,\n resolution:0,\n resolutionList:[],\n FOV:0,\n //threshold\n hue:[0,10],\n saturation:[0,10],\n value:[0,10],\n erode: false,\n dilate: false,\n //contours\n area:[0,100],\n ratio:[0,20],\n extent:[0,100],\n sort_mode:'Largest', \n target_group:'Single', \n target_intersection:'Up',\n //Settings\n team_number:0,\n connection_type:\"DHCP\",\n ip:\"\",\n gateway:\"\",\n netmask:\"\",\n hostname:\"\",\n //live info\n port:1181,\n is_binary:0,\n //points\n raw_point:[],\n point:{}\n\n },\n mutations:{\n curr_camera (state,value){\n state['curr_camera'] = value;\n state['pipeline'] = \"0\";\n },\n curr_pipeline: set('curr_pipeline'),\n brightness: set('brightness'),\n exposure: set('exposure'),\n orientation:set('orientation'),\n resolution: set('resolution'),\n hue: set('hue'),\n saturation: set('saturation'),\n value: set('value'),\n erode: set('erode'),\n dilate: set('dilate'),\n area: set('area'),\n ratio: set('ratio'),\n extent: set('extent'),\n team_number: set('team_number'),\n connection_type: set('connection_type'),\n ip: set('ip'),\n netmask: set('netmask'),\n gateway : set('gateway'),\n hostname : set('hostname'),\n is_binary: set('is_binary'),\n cameraList : set('cameraList'),\n pipelineList: set('piplineList'),\n sort_mode: set('sort_mode'),\n target_group:set('target_group'),\n target_intersection:set('target_intersection'),\n FOV:set('FOV'),\n port:set('port'),\n raw_point:set('raw_point'),\n point:set('point')\n },\n getters:{\n curr_camera: state => state.curr_camera,\n curr_pipeline: state => state.curr_pipeline,\n brightness: state => state.brightness,\n exposure: state => state.exposure,\n orientation: state => state.orientation,\n resolution: state => state.resolution,\n hue: state => state.hue,\n saturation: state => state.saturation,\n value: state => state.value,\n erode: state => state.dilate,\n dilate: state => state.dilate,\n area: state =>state.area,\n ratio: state =>state.ratio,\n extent: state =>state.extent,\n team_number: state => state.teamValue,\n connection_type: state => state.connectionType,\n ip: state => state.ip,\n netmask: state => state.netmask,\n gateway: state => state.gateway,\n hostname: state => state.hostName,\n is_binary: state => state.is_binary,\n cameraList: state => state.cameraList,\n pipelineList: state => state.pipelineList,\n sort_mode: state => state.sort_mode,\n target_group: state => state.target_group,\n target_intersection: state => state.target_intersection,\n FOV: state => state.FOV,\n port: state => state.port,\n raw_point:state => state.raw_point,\n point: state => state.point\n\n },\n});","import Vue from 'vue'\nimport App from './App.vue'\nimport VueRouter from 'vue-router'\nimport iView from 'iview';\nimport router from \"./routes\";\nimport '../theme/index.less';\nimport VueNativeSock from 'vue-native-websocket';\nimport locale from 'iview/dist/locale/en-US';\nimport {store} from './store'\n\nVue.use(VueRouter);\nVue.use(iView , { locale });\nVue.use(VueNativeSock,'ws://'+location.hostname+':8888/websocket',{format:'JSON'});\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/backend/app/site/js/app.5bd5cd15.js b/backend/app/site/js/app.5bd5cd15.js new file mode 100644 index 000000000..7f7ab3c39 --- /dev/null +++ b/backend/app/site/js/app.5bd5cd15.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var s,r,o=e[0],l=e[1],u=e[2],p=0,m=[];p\n \n \n

{{title.charAt(0).toUpperCase() + title.slice(1)}} :

\n \n \n \n {{item}}\n \n \n
\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-select.vue?vue&type=template&id=c9ee7642&\"\nimport script from \"./ch-select.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"," \n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=69465486&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Header',{attrs:{\"id\":\"main-header\"}},[_c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}})],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"pipline\",\"list\":_vm.pipelineList,\"Xkey\":\"curr_pipeline\"}})],1)],1)],1),_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"top\",\"gutter\":5}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('router-view')],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('Tabs',{attrs:{\"animated\":false},on:{\"on-click\":_vm.handleImage},model:{value:(_vm.isBinary),callback:function ($$v) {_vm.isBinary=$$v},expression:\"isBinary\"}},[_c('TabPane',{attrs:{\"label\":\"Normal\"}}),_c('TabPane',{attrs:{\"label\":\"Threshold\"}})],1),_c('img',{staticClass:\"imageSize\",attrs:{\"src\":_vm.steamAdress}}),_c('h4',{staticClass:\"pointText\"},[_vm._v(_vm._s(_vm.point))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vision.vue?vue&type=template&id=2db2bf31&\"\nimport script from \"./Vision.vue?vue&type=script&lang=js&\"\nexport * from \"./Vision.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Vision.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=033196b2&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"033196b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputTab\"}},[_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"exposure\",\"Xkey\":\"exposure\"}}),_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"Brightness\",\"Xkey\":\"brightness\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Orientation\",\"Xkey\":\"orientation\",\"list\":['Normal','Inverted']}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{attrs:{\"span\":\"14\"}},[_c('Slider',{on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-slider.vue?vue&type=template&id=7e5a6bfa&\"\nimport script from \"./ch-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.list),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-IndexSelect.vue?vue&type=template&id=2c264cc6&\"\nimport script from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputTab.vue?vue&type=template&id=285b7205&scoped=true&\"\nimport script from \"./InputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputTab.vue?vue&type=style&index=0&id=285b7205&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"285b7205\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"Threshold\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Hue\",\"Xkey\":\"hue\",\"maximum\":180}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Saturation\",\"Xkey\":\"saturation\",\"maximum\":255}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Value\",\"Xkey\":\"value\",\"maximum\":255}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Erode\",\"Xkey\":\"erode\"}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Dilate\",\"Xkey\":\"dilate\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\",\"step\":_vm.steps},model:{value:(_vm.value[0]),callback:function ($$v) {_vm.$set(_vm.value, 0, $$v)},expression:\"value[0]\"}})],1),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Slider',{attrs:{\"range\":\"\",\"step\":_vm.steps,\"max\":_vm.maximum},on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{staticStyle:{\"text-align\":\"right\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-end\"},attrs:{\"size\":\"small\",\"step\":_vm.steps,\"max\":_vm.maximum},model:{value:(_vm.value[1]),callback:function ($$v) {_vm.$set(_vm.value, 1, $$v)},expression:\"value[1]\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-range.vue?vue&type=template&id=a3c890c4&\"\nimport script from \"./ch-range.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-range.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-range.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('i-switch',{staticStyle:{\"align-self\":\"flex-start\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-switch.vue?vue&type=template&id=182635d8&scoped=true&\"\nimport script from \"./ch-switch.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-switch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"182635d8\",\n null\n \n)\n\nexport default component.exports","\n \n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThresholdTab.vue?vue&type=template&id=267dfb50&scoped=true&\"\nimport script from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"267dfb50\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"SystemTab\"}},[_c('div',[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(\"Team Number:\")])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.team_number),callback:function ($$v) {_vm.team_number=$$v},expression:\"team_number\"}})],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}},[_vm._v(\"Networking\")]),_c('div',[_c('RadioGroup',{staticStyle:{\"display\":\"flex\"},model:{value:(_vm.connection_type),callback:function ($$v) {_vm.connection_type=$$v},expression:\"connection_type\"}},[_c('Radio',{attrs:{\"label\":\"DHCP\"}}),_c('Radio',{attrs:{\"label\":\"Static\"}})],1),_c('div',{staticClass:\"ipSettings\"},[_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"IP:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.ip),callback:function ($$v) {_vm.ip=$$v},expression:\"ip\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Netmask:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.netmask),callback:function ($$v) {_vm.netmask=$$v},expression:\"netmask\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Gateway:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.gateway),callback:function ($$v) {_vm.gateway=$$v},expression:\"gateway\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Hostname:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\"},model:{value:(_vm.hostname),callback:function ($$v) {_vm.hostname=$$v},expression:\"hostname\"}},[_c('span',{attrs:{\"slot\":\"prepend\"},slot:\"prepend\"},[_vm._v(\"http://Chameleon-Vision-\")]),_c('span',{attrs:{\"slot\":\"append\"},slot:\"append\"},[_vm._v(\".local\")])])],1)],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}}),_c('row',{staticStyle:{\"margin-top\":\"20px\"},attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save Changes and Restart\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputNumber\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(_vm._s(_vm.title))])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-inputNumber.vue?vue&type=template&id=672703df&scoped=true&\"\nimport script from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"672703df\",\n null\n \n)\n\nexport default component.exports","\n\n \n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SystemTab.vue?vue&type=template&id=25a6e22e&\"\nimport script from \"./SystemTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SystemTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SystemTab.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"spacing\",attrs:{\"id\":\"cameraTab\"}},[_c('chselect',{attrs:{\"title\":\"select camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Resolution:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},model:{value:(_vm.resolution),callback:function ($$v) {_vm.resolution=$$v},expression:\"resolution\"}},_vm._l((_vm.resolutionList),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Diagonal FOV:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.FOV),callback:function ($$v) {_vm.FOV=$$v},expression:\"FOV\"}})],1)],1),_c('Button',{staticClass:\"buttonClass spacing\",attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save settings to current camera\")]),_c('h4',{staticClass:\"spacing\"},[_vm._v(\"Please Restart the computer Manually after saving all cameras\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CameraTab.vue?vue&type=template&id=4d25b2ea&scoped=true&\"\nimport script from \"./CameraTab.vue?vue&type=script&lang=js&\"\nexport * from \"./CameraTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d25b2ea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"ContourTab\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Area\",\"Xkey\":\"area\"}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Ratio (W/H)\",\"Xkey\":\"ratio\",\"steps\":0.1}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Extent\",\"Xkey\":\"extent\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Group\",\"Xkey\":\"target_group\",\"list\":['Single','Dual','Triple','Quadruple','Quintuple']}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Intersaction\",\"Xkey\":\"target_intersection\",\"list\":['Up','Down','Left','Right','Parallel'],\"isDisabled\":_vm.isSingle}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./contourTab.vue?vue&type=template&id=90fe5fa0&scoped=true&\"\nimport script from \"./contourTab.vue?vue&type=script&lang=js&\"\nexport * from \"./contourTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"90fe5fa0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"OutputTab\"}},[_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Sort Mode\",\"Xkey\":\"sort_mode\",\"list\":['Largest','Smallest','Highest','Lowest','Rightmost','Leftmost','Closest']}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointA}},[_vm._v(\"Take Point A\")]),_c('col',{staticStyle:{\"margin-left\":\"10px\"}}),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointB}},[_vm._v(\"Take Point B\")])],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"warning\",\"size\":\"small\"},on:{\"click\":_vm.clearPoints}},[_vm._v(\"Clear All Points\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outputTab.vue?vue&type=template&id=1abc7610&scoped=true&\"\nimport script from \"./outputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./outputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1abc7610\",\n null\n \n)\n\nexport default component.exports","import VueRouter from \"vue-router\";\nimport Vision from \"./components/Vision.vue\"\nimport Setting from \"./components/Settings.vue\"\nimport Input from \"./components/InputTab.vue\";\nimport Threshold from \"./components/ThresholdTab.vue\";\nimport System from \"./components/SystemTab.vue\";\nimport Camera from \"./components/CameraTab.vue\";\nimport Contours from \"./components/contourTab.vue\";\nimport Output from './components/outputTab.vue'\n\nconst routes = [\n { path: '/', redirect: '/vision/input'},\n { path: '/vision', component: Vision, children: [\n { path: 'input', component: Input },\n { path: 'threshold', component: Threshold },\n { path: 'contours', component: Contours },\n { path: 'output', component: Output },\n ]},\n { path: '/settings', component: Setting, children: [\n { path: 'system', component: System },\n { path: 'camera', component: Camera }\n ]}\n]\n\nconst router = new VueRouter({\n routes\n})\n\nexport default router;","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex);\nconst set = key => (state,val) =>{\n state[key] = val\n};\nexport const store = new Vuex.Store({\n\n state:{\n //header\n curr_camera:\"\",\n curr_pipeline:\"\",\n cameraList:[],\n pipelineList:[],\n //input\n exposure:54,\n brightness:0,\n orientation:0,\n resolution:0,\n resolutionList:[],\n FOV:0,\n //threshold\n hue:[0,10],\n saturation:[0,10],\n value:[0,10],\n erode: false,\n dilate: false,\n //contours\n area:[0,100],\n ratio:[0,20],\n extent:[0,100],\n sort_mode:'Largest', \n target_group:'Single', \n target_intersection:'Up',\n //Settings\n team_number:0,\n connection_type:\"DHCP\",\n ip:\"\",\n gateWay:\"\",\n netmask:\"\",\n hostname:\"\",\n //live info\n port:1181,\n is_binary:0,\n //points\n raw_point:[],\n point:{}\n\n },\n mutations:{\n curr_camera (state,value){\n state['curr_camera'] = value;\n state['pipeline'] = \"0\";\n },\n curr_pipeline: set('curr_pipeline'),\n brightness: set('brightness'),\n exposure: set('exposure'),\n orientation:set('orientation'),\n resolution: set('resolution'),\n hue: set('hue'),\n saturation: set('saturation'),\n value: set('value'),\n erode: set('erode'),\n dilate: set('dilate'),\n area: set('area'),\n ratio: set('ratio'),\n extent: set('extent'),\n team_number: set('team_number'),\n connection_type: set('connection_type'),\n ip: set('ip'),\n netmask: set('netmask'),\n gateWay : set('gateway'),\n hostname : set('hostname'),\n is_binary: set('is_binary'),\n cameraList : set('cameraList'),\n pipelineList: set('piplineList'),\n sort_mode: set('sort_mode'),\n target_group:set('target_group'),\n target_intersection:set('target_intersection'),\n FOV:set('FOV'),\n port:set('port'),\n raw_point:set('raw_point'),\n point:set('point')\n },\n getters:{\n curr_camera: state => state.curr_camera,\n curr_pipeline: state => state.curr_pipeline,\n brightness: state => state.brightness,\n exposure: state => state.exposure,\n orientation: state => state.orientation,\n resolution: state => state.resolution,\n hue: state => state.hue,\n saturation: state => state.saturation,\n value: state => state.value,\n erode: state => state.dilate,\n dilate: state => state.dilate,\n area: state =>state.area,\n ratio: state =>state.ratio,\n extent: state =>state.extent,\n team_number: state => state.teamValue,\n connection_type: state => state.connectionType,\n ip: state => state.ip,\n netmask: state => state.netmask,\n gateWay: state => state.gateWay,\n hostname: state => state.hostName,\n is_binary: state => state.is_binary,\n cameraList: state => state.cameraList,\n pipelineList: state => state.pipelineList,\n sort_mode: state => state.sort_mode,\n target_group: state => state.target_group,\n target_intersection: state => state.target_intersection,\n FOV: state => state.FOV,\n port: state => state.port,\n raw_point:state => state.raw_point,\n point: state => state.point\n\n },\n});","import Vue from 'vue'\nimport App from './App.vue'\nimport VueRouter from 'vue-router'\nimport iView from 'iview';\nimport router from \"./routes\";\nimport '../theme/index.less';\nimport VueNativeSock from 'vue-native-websocket';\nimport locale from 'iview/dist/locale/en-US';\nimport {store} from './store'\n\nVue.use(VueRouter);\nVue.use(iView , { locale });\nVue.use(VueNativeSock,'ws://'+location.hostname+':8888/websocket',{format:'JSON'});\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/backend/app/site/js/app.894d02a9.js b/backend/app/site/js/app.894d02a9.js new file mode 100644 index 000000000..bb58211ac --- /dev/null +++ b/backend/app/site/js/app.894d02a9.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var s,r,o=e[0],l=e[1],u=e[2],p=0,m=[];p\n \n \n

{{title.charAt(0).toUpperCase() + title.slice(1)}} :

\n \n \n \n {{item}}\n \n \n
\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-select.vue?vue&type=template&id=c9ee7642&\"\nimport script from \"./ch-select.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"," \n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=69465486&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Header',{attrs:{\"id\":\"main-header\"}},[_c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}})],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('chselect',{attrs:{\"title\":\"pipline\",\"list\":_vm.pipelineList,\"Xkey\":\"curr_pipeline\"}})],1)],1)],1),_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"top\",\"gutter\":5}},[_c('Col',{attrs:{\"span\":\"12\"}},[_c('router-view')],1),_c('Col',{attrs:{\"span\":\"12\"}},[_c('Tabs',{attrs:{\"animated\":false},on:{\"on-click\":_vm.handleImage},model:{value:(_vm.isBinary),callback:function ($$v) {_vm.isBinary=$$v},expression:\"isBinary\"}},[_c('TabPane',{attrs:{\"label\":\"Normal\"}}),_c('TabPane',{attrs:{\"label\":\"Threshold\"}})],1),_c('img',{staticClass:\"imageSize\",attrs:{\"src\":_vm.steamAdress}}),_c('h4',{staticClass:\"pointText\"},[_vm._v(_vm._s(_vm.point))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vision.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vision.vue?vue&type=template&id=2db2bf31&\"\nimport script from \"./Vision.vue?vue&type=script&lang=js&\"\nexport * from \"./Vision.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Vision.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{attrs:{\"id\":\"main-layout\"}},[_c('Content',{attrs:{\"id\":\"main-content\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=033196b2&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"033196b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputTab\"}},[_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"exposure\",\"Xkey\":\"exposure\"}}),_c('chslider',{staticClass:\"spacing\",attrs:{\"title\":\"Brightness\",\"Xkey\":\"brightness\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Orientation\",\"Xkey\":\"orientation\",\"list\":['Normal','Inverted']}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{attrs:{\"span\":\"14\"}},[_c('Slider',{on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-slider.vue?vue&type=template&id=7e5a6bfa&\"\nimport script from \"./ch-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},_vm._l((_vm.list),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-IndexSelect.vue?vue&type=template&id=2c264cc6&\"\nimport script from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-IndexSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputTab.vue?vue&type=template&id=285b7205&scoped=true&\"\nimport script from \"./InputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputTab.vue?vue&type=style&index=0&id=285b7205&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"285b7205\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"Threshold\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Hue\",\"Xkey\":\"hue\",\"maximum\":180}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Saturation\",\"Xkey\":\"saturation\",\"maximum\":255}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Value\",\"Xkey\":\"value\",\"maximum\":255}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Erode\",\"Xkey\":\"erode\"}}),_c('chswitch',{staticClass:\"spacing\",attrs:{\"title\":\"Dilate\",\"Xkey\":\"dilate\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-start\"},attrs:{\"size\":\"small\",\"step\":_vm.steps},model:{value:(_vm.value[0]),callback:function ($$v) {_vm.$set(_vm.value, 0, $$v)},expression:\"value[0]\"}})],1),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Slider',{attrs:{\"range\":\"\",\"step\":_vm.steps,\"max\":_vm.maximum},on:{\"on-input\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('Col',{staticStyle:{\"text-align\":\"right\"},attrs:{\"span\":\"4\"}},[_c('InputNumber',{staticStyle:{\"align-self\":\"flex-end\"},attrs:{\"size\":\"small\",\"step\":_vm.steps,\"max\":_vm.maximum},model:{value:(_vm.value[1]),callback:function ($$v) {_vm.$set(_vm.value, 1, $$v)},expression:\"value[1]\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-range.vue?vue&type=template&id=a3c890c4&\"\nimport script from \"./ch-range.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-range.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ch-range.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(_vm._s(_vm.title.charAt(0).toUpperCase() + _vm.title.slice(1))+\" :\")])]),_c('Col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"span\":\"4\"}},[_c('i-switch',{staticStyle:{\"align-self\":\"flex-start\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-switch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-switch.vue?vue&type=template&id=182635d8&scoped=true&\"\nimport script from \"./ch-switch.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-switch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"182635d8\",\n null\n \n)\n\nexport default component.exports","\n \n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThresholdTab.vue?vue&type=template&id=267dfb50&scoped=true&\"\nimport script from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"267dfb50\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"SystemTab\"}},[_c('div',[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(\"Team Number:\")])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.team_number),callback:function ($$v) {_vm.team_number=$$v},expression:\"team_number\"}})],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}},[_vm._v(\"Networking\")]),_c('div',[_c('RadioGroup',{staticStyle:{\"display\":\"flex\"},model:{value:(_vm.connection_type),callback:function ($$v) {_vm.connection_type=$$v},expression:\"connection_type\"}},[_c('Radio',{attrs:{\"label\":\"DHCP\"}}),_c('Radio',{attrs:{\"label\":\"Static\"}})],1),_c('div',{staticClass:\"ipSettings\"},[_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"IP:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.ip),callback:function ($$v) {_vm.ip=$$v},expression:\"ip\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Netmask:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.netmask),callback:function ($$v) {_vm.netmask=$$v},expression:\"netmask\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Gateway:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\",\"disabled\":_vm.isConnection},model:{value:(_vm.gateway),callback:function ($$v) {_vm.gateway=$$v},expression:\"gateway\"}})],1)],1),_c('row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Hostname:\")])]),_c('Col',{attrs:{\"span\":\"10\"}},[_c('Input',{attrs:{\"size\":\"small\"},model:{value:(_vm.hostname),callback:function ($$v) {_vm.hostname=$$v},expression:\"hostname\"}},[_c('span',{attrs:{\"slot\":\"append\"},slot:\"append\"},[_vm._v(\".local\")])])],1)],1)],1),_c('Divider',{staticClass:\"divdiv\",attrs:{\"orientation\":\"left\"}}),_c('row',{staticStyle:{\"margin-top\":\"20px\"},attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\"}},[_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save Changes and Restart\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"InputNumber\"}},[_c('row',{attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('Col',{attrs:{\"span\":\"6\"}},[_c('h4',[_vm._v(_vm._s(_vm.title))])]),_c('col',{attrs:{\"span\":\"4\"}}),_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},on:{\"on-change\":_vm.handleInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-inputNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ch-inputNumber.vue?vue&type=template&id=672703df&scoped=true&\"\nimport script from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./ch-inputNumber.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"672703df\",\n null\n \n)\n\nexport default component.exports","\n\n \n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SystemTab.vue?vue&type=template&id=bf05131c&\"\nimport script from \"./SystemTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SystemTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SystemTab.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"spacing\",attrs:{\"id\":\"cameraTab\"}},[_c('chselect',{attrs:{\"title\":\"select camera\",\"list\":_vm.cameraList,\"Xkey\":\"curr_camera\"}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Resolution:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('i-select',{attrs:{\"size\":\"small\"},model:{value:(_vm.resolution),callback:function ($$v) {_vm.resolution=$$v},expression:\"resolution\"}},_vm._l((_vm.resolutionList),function(item,index){return _c('i-option',{key:index,attrs:{\"value\":index}},[_vm._v(_vm._s(item))])}),1)],1)],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":1}},[_c('Col',{attrs:{\"span\":\"4\"}},[_c('h4',[_vm._v(\"Diagonal FOV:\")])]),_c('Col',{attrs:{\"span\":\"4\"}},[_c('InputNumber',{attrs:{\"min\":0,\"size\":\"small\"},model:{value:(_vm.FOV),callback:function ($$v) {_vm.FOV=$$v},expression:\"FOV\"}})],1)],1),_c('Button',{staticClass:\"buttonClass spacing\",attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.socketSendAll}},[_vm._v(\"Save settings to current camera\")]),_c('h4',{staticClass:\"spacing\"},[_vm._v(\"Please Restart the computer Manually after saving all cameras\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CameraTab.vue?vue&type=template&id=4d25b2ea&scoped=true&\"\nimport script from \"./CameraTab.vue?vue&type=script&lang=js&\"\nexport * from \"./CameraTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d25b2ea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"ContourTab\"}},[_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Area\",\"Xkey\":\"area\"}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Ratio (W/H)\",\"Xkey\":\"ratio\",\"steps\":0.1}}),_c('chrange',{staticClass:\"spacing\",attrs:{\"title\":\"Extent\",\"Xkey\":\"extent\"}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Group\",\"Xkey\":\"target_group\",\"list\":['Single','Dual','Triple','Quadruple','Quintuple']}}),_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Target Intersaction\",\"Xkey\":\"target_intersection\",\"list\":['Up','Down','Left','Right','Parallel'],\"isDisabled\":_vm.isSingle}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./contourTab.vue?vue&type=template&id=90fe5fa0&scoped=true&\"\nimport script from \"./contourTab.vue?vue&type=script&lang=js&\"\nexport * from \"./contourTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"90fe5fa0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"OutputTab\"}},[_c('chselect',{staticClass:\"spacing\",attrs:{\"title\":\"Sort Mode\",\"Xkey\":\"sort_mode\",\"list\":['Largest','Smallest','Highest','Lowest','Rightmost','Leftmost','Closest']}}),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"justify\":\"start\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointA}},[_vm._v(\"Take Point A\")]),_c('col',{staticStyle:{\"margin-left\":\"10px\"}}),_c('Button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.takePointB}},[_vm._v(\"Take Point B\")])],1),_c('Row',{staticClass:\"spacing\",attrs:{\"type\":\"flex\",\"align\":\"middle\",\"gutter\":10}},[_c('col'),_c('Button',{attrs:{\"type\":\"warning\",\"size\":\"small\"},on:{\"click\":_vm.clearPoints}},[_vm._v(\"Clear All Points\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outputTab.vue?vue&type=template&id=1abc7610&scoped=true&\"\nimport script from \"./outputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./outputTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1abc7610\",\n null\n \n)\n\nexport default component.exports","import VueRouter from \"vue-router\";\nimport Vision from \"./components/Vision.vue\"\nimport Setting from \"./components/Settings.vue\"\nimport Input from \"./components/InputTab.vue\";\nimport Threshold from \"./components/ThresholdTab.vue\";\nimport System from \"./components/SystemTab.vue\";\nimport Camera from \"./components/CameraTab.vue\";\nimport Contours from \"./components/contourTab.vue\";\nimport Output from './components/outputTab.vue'\n\nconst routes = [\n { path: '/', redirect: '/vision/input'},\n { path: '/vision', component: Vision, children: [\n { path: 'input', component: Input },\n { path: 'threshold', component: Threshold },\n { path: 'contours', component: Contours },\n { path: 'output', component: Output },\n ]},\n { path: '/settings', component: Setting, children: [\n { path: 'system', component: System },\n { path: 'camera', component: Camera }\n ]}\n]\n\nconst router = new VueRouter({\n routes\n})\n\nexport default router;","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex);\nconst set = key => (state,val) =>{\n state[key] = val\n};\nexport const store = new Vuex.Store({\n\n state:{\n //header\n curr_camera:\"\",\n curr_pipeline:\"\",\n cameraList:[],\n pipelineList:[],\n //input\n exposure:54,\n brightness:0,\n orientation:0,\n resolution:0,\n resolutionList:[],\n FOV:0,\n //threshold\n hue:[0,10],\n saturation:[0,10],\n value:[0,10],\n erode: false,\n dilate: false,\n //contours\n area:[0,100],\n ratio:[0,20],\n extent:[0,100],\n sort_mode:'Largest', \n target_group:'Single', \n target_intersection:'Up',\n //Settings\n team_number:0,\n connection_type:\"DHCP\",\n ip:\"\",\n gateway:\"\",\n netmask:\"\",\n hostname:\"\",\n //live info\n port:1181,\n is_binary:0,\n //points\n raw_point:[],\n point:{}\n\n },\n mutations:{\n curr_camera (state,value){\n state['curr_camera'] = value;\n state['pipeline'] = \"0\";\n },\n curr_pipeline: set('curr_pipeline'),\n brightness: set('brightness'),\n exposure: set('exposure'),\n orientation:set('orientation'),\n resolution: set('resolution'),\n hue: set('hue'),\n saturation: set('saturation'),\n value: set('value'),\n erode: set('erode'),\n dilate: set('dilate'),\n area: set('area'),\n ratio: set('ratio'),\n extent: set('extent'),\n team_number: set('team_number'),\n connection_type: set('connection_type'),\n ip: set('ip'),\n netmask: set('netmask'),\n gateway : set('gateway'),\n hostname : set('hostname'),\n is_binary: set('is_binary'),\n cameraList : set('cameraList'),\n pipelineList: set('piplineList'),\n sort_mode: set('sort_mode'),\n target_group:set('target_group'),\n target_intersection:set('target_intersection'),\n FOV:set('FOV'),\n port:set('port'),\n raw_point:set('raw_point'),\n point:set('point')\n },\n getters:{\n curr_camera: state => state.curr_camera,\n curr_pipeline: state => state.curr_pipeline,\n brightness: state => state.brightness,\n exposure: state => state.exposure,\n orientation: state => state.orientation,\n resolution: state => state.resolution,\n hue: state => state.hue,\n saturation: state => state.saturation,\n value: state => state.value,\n erode: state => state.dilate,\n dilate: state => state.dilate,\n area: state =>state.area,\n ratio: state =>state.ratio,\n extent: state =>state.extent,\n team_number: state => state.teamValue,\n connection_type: state => state.connectionType,\n ip: state => state.ip,\n netmask: state => state.netmask,\n gateway: state => state.gateway,\n hostname: state => state.hostName,\n is_binary: state => state.is_binary,\n cameraList: state => state.cameraList,\n pipelineList: state => state.pipelineList,\n sort_mode: state => state.sort_mode,\n target_group: state => state.target_group,\n target_intersection: state => state.target_intersection,\n FOV: state => state.FOV,\n port: state => state.port,\n raw_point:state => state.raw_point,\n point: state => state.point\n\n },\n});","import Vue from 'vue'\nimport App from './App.vue'\nimport VueRouter from 'vue-router'\nimport iView from 'iview';\nimport router from \"./routes\";\nimport '../theme/index.less';\nimport VueNativeSock from 'vue-native-websocket';\nimport locale from 'iview/dist/locale/en-US';\nimport {store} from './store'\n\nVue.use(VueRouter);\nVue.use(iView , { locale });\nVue.use(VueNativeSock,'ws://'+location.hostname+':8888/websocket',{format:'JSON'});\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CameraTab.vue?vue&type=style&index=0&id=4d25b2ea&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputTab.vue?vue&type=style&index=0&id=1abc7610&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contourTab.vue?vue&type=style&index=0&id=90fe5fa0&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-IndexSelect.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-select.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-slider.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ch-range.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=style&index=0&id=267dfb50&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/backend/requirement.txt b/backend/requirement.txt index 47a0882ef..84e5a9010 100644 --- a/backend/requirement.txt +++ b/backend/requirement.txt @@ -1,3 +1,4 @@ tornado pyzmq -robotpy-cscore \ No newline at end of file +robotpy-cscore +netifaces \ No newline at end of file diff --git a/backend/settings/cams/USB Camera-B4.09.24.1.json b/backend/settings/cams/USB Camera-B4.09.24.1.json deleted file mode 100644 index 91187d8b0..000000000 --- a/backend/settings/cams/USB Camera-B4.09.24.1.json +++ /dev/null @@ -1 +0,0 @@ -{"pipelines": {"pipeline0": {"exposure": 50, "brightness": 15, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": true, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": 0, "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline1": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": 0, "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline2": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline3": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline4": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline5": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline6": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline7": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline8": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}, "pipeline9": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": 0, "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up", "M": 1, "B": 0}}, "path": "/dev/v4l/by-path/pci-0000:02:03.0-usb-0:1:1.0-video-index0", "video_mode": {"fps": 187, "width": 320, "height": 240, "pixel_format": "kYUYV"}, "resolution": 0, "FOV": 60.8} \ No newline at end of file diff --git a/backend/settings/cams/USB2.0 PC CAMERA.json b/backend/settings/cams/USB2.0 PC CAMERA.json deleted file mode 100644 index c26acf48d..000000000 --- a/backend/settings/cams/USB2.0 PC CAMERA.json +++ /dev/null @@ -1 +0,0 @@ -{"pipelines": {"pipeline0": {"exposure": 50, "brightness": 50, "orientation": "Normal", "hue": [0, 100], "saturation": [0, 100], "value": [0, 100], "erode": false, "dilate": false, "area": [0, 100], "ratio": [0, 20], "extent": [0, 100], "is_binary": "Normal", "sort_mode": "Largest", "target_group": "Single", "target_intersection": "Up"}}, "path": "/dev/v4l/by-path/pci-0000:02:03.0-usb-0:2:1.0-video-index0", "video_mode": {"fps": 30, "width": 640, "height": 480, "pixel_format": "kYUYV"}, "resolution": 0, "FOV": 60.8} \ No newline at end of file diff --git a/backend/settings/settings.json b/backend/settings/settings.json deleted file mode 100644 index 4768b240f..000000000 --- a/backend/settings/settings.json +++ /dev/null @@ -1 +0,0 @@ -{"team_number": 1567, "connection_type": "DHCP", "ip": "", "gateway": "", "hostname": "Chameleon-Vision", "curr_camera": "USB Camera-B4.09.24.1", "curr_pipeline": "pipeline0"} \ No newline at end of file diff --git a/chameleon-client/public/favicon.ico b/chameleon-client/public/favicon.ico old mode 100644 new mode 100755 index c7b9a43c8..bc877aaad Binary files a/chameleon-client/public/favicon.ico and b/chameleon-client/public/favicon.ico differ diff --git a/chameleon-client/src/assets/logo.png b/chameleon-client/src/assets/logo.png old mode 100644 new mode 100755 index f3d2503fc..5520ffde3 Binary files a/chameleon-client/src/assets/logo.png and b/chameleon-client/src/assets/logo.png differ diff --git a/chameleon-client/src/components/SystemTab.vue b/chameleon-client/src/components/SystemTab.vue index c08ed1918..d5cfda58f 100644 --- a/chameleon-client/src/components/SystemTab.vue +++ b/chameleon-client/src/components/SystemTab.vue @@ -25,6 +25,14 @@ + + +

Netmask:

+ + + + +

Gateway:

@@ -39,7 +47,6 @@ - http://Chameleon-Vision .local @@ -74,6 +81,7 @@ 'team_number':this.team_number, 'connection_type':this.connection_type, 'ip':this.ip, + 'netmask':this.netmask, 'gateway':this.gateway, 'hostname':this.hostname}}); } @@ -103,6 +111,14 @@ this.$store.commit('ip',value); } }, + netmask:{ + get: function(){ + return this.$store.state.netmask; + }, + set: function(value){ + this.$store.commit('netmask',value); + } + }, gateway:{ get: function(){ return this.$store.state.gateway; @@ -120,7 +136,7 @@ } }, isConnection: function(){ - if(this.connectionType == "DHCP"){ + if(this.connection_type == "DHCP"){ return true } else{ return false diff --git a/chameleon-client/src/store.js b/chameleon-client/src/store.js index e42e35de3..d6682463e 100644 --- a/chameleon-client/src/store.js +++ b/chameleon-client/src/store.js @@ -30,14 +30,15 @@ export const store = new Vuex.Store({ area:[0,100], ratio:[0,20], extent:[0,100], - sort_mode:'Largest', // - target_group:'Single', // - target_intersection:'Up', // + sort_mode:'Largest', + target_group:'Single', + target_intersection:'Up', //Settings team_number:0, connection_type:"DHCP", - ip:0, - gateWay:0, + ip:"", + gateway:"", + netmask:"", hostname:"", //live info port:1181, @@ -68,7 +69,8 @@ export const store = new Vuex.Store({ team_number: set('team_number'), connection_type: set('connection_type'), ip: set('ip'), - gateWay : set('gateway'), + netmask: set('netmask'), + gateway : set('gateway'), hostname : set('hostname'), is_binary: set('is_binary'), cameraList : set('cameraList'), @@ -99,7 +101,8 @@ export const store = new Vuex.Store({ team_number: state => state.teamValue, connection_type: state => state.connectionType, ip: state => state.ip, - gateWay: state => state.gateWay, + netmask: state => state.netmask, + gateway: state => state.gateway, hostname: state => state.hostName, is_binary: state => state.is_binary, cameraList: state => state.cameraList,