def __init__(self, datasource=None, buffer=25, vtype='plot'): if datasource is None: self.datasource = ds.RealTimeData() else: self.datasource = datasource self.DEFAULT_X = ["Time"] self.DEFAULT_Y = list(PLOT_META.keys()) self.DEFAULT_VIEWTYPE = vtype self.figure, self.ax = plt.subplots() self.__bounds = [0, 100] self.plt_method = {} self._buffer_size = buffer L = [] for i in range(buffer): L.append(datasource.to_dict()) self.data = pd.DataFrame(L) self.color = {} Y = list(self.data.columns.values) for e in Y: if e not in PLOT_META.keys(): self.plt_method[e] = "plot" self.color[e] = tuple( [random.randrange(255) / 255 for i in range(3)]) continue if PLOT_META[e]["plot_method"]: self.plt_method[e] = PLOT_META[e]["plot_method"] else: self.plt_method[e] = "plot" if PLOT_META[e]["color"]: self.color[e] = PLOT_META[e]["color"] else: self.color[e] = tuple( [random.randrange(255) / 255 for i in range(3)])
def __init__(self, X="Time", Y="Temperature", title='', bufSize=10, color="red", datasource=None): if datasource is None: self.dataSource = ds.RealTimeData() else: self.dataSource = datasource self.x = [X] self.y = [Y] self.inputX = [self.dataSource.to_dict()[X]] * (bufSize + 1) #self.inputX.append(self.dataSource.to_dict()[X]) self.inputY = [self.dataSource.to_dict()[Y]] * (bufSize + 1) #self.inputY.append(self.dataSource.to_dict()[Y]) self.history = [time.strftime('%M:%S', time.gmtime())] * len(X) self.__bufSize = bufSize + 1 self.__title = title self.trace = plt.plot self.plot = None self.__fig = None self.__canvas = None self.fig = None self.color = color self.__freq = 10
def __init__(self, host='0.0.0.0', port=5001, system=None): super(Server, self).__init__(__name__, template_folder='../templates', static_folder='../static') self.RTData = ds.RealTimeData(server=self) self.host = host self.port = port if system is not None: self.system = system else: self.system = AlertSystem(server=self) self.add_url_rule('/', view_func=self.default_page) self.add_url_rule('/auth', view_func=self.authenticate, methods=["POST", "GET"]) if self.host == '0.0.0.0': webbrowser.open('http://127.0.0.1:' + str(self.port) + '/') else: webbrowser.open('http://' + self.host + ':' + str(self.port) + '/')
def visualizer(self): print() params = { 'Cam': [ f.replace('_', ' ').title() for f in dir(eff) if not (f.startswith('__') and f.endswith('__')) and f not in ['cv2', 'np'] ], 'Ptypes': ['Bar', 'Derived', 'Plot'] } self.RTData = ds.RealTimeData(server=self) def func(): return float(self.RTData.state["Fire"]) self.awake_agent = FetchAgent(unique_id=0, model=self.system, func=func) self.awake_agent.set_threshold(0) self.add_url_rule('/video_feed', view_func=self.video_feed, methods=["POST", "GET"]) self.add_url_rule('/graph_feed', view_func=self.graph_feed, methods=["POST", "GET"]) self.add_url_rule('/score_feed', view_func=self.score_feed, methods=["POST", "GET"]) self.add_url_rule('/notif_feed', view_func=self.notif_feed, methods=["POST", "GET"]) self.add_url_rule('/realtime_feed', view_func=self.data_feed, methods=["POST", "GET"]) self.add_url_rule('/rest_classifier', view_func=self.classify_frame, methods=["POST", "GET"]) return render_template('visualizer.html', **params)