MCPcopy
hub / github.com/yosinski/deep-visualization-toolbox / init_window

Method init_window

live_vis.py:83–116  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

81
82
83 def init_window(self):
84 cv2.namedWindow(self.window_name)
85 max_i, max_j = 0, 0
86 if len(self.settings.window_panes) == 0:
87 raise ImproperlyConfigured('settings.window_panes is empty.')
88 self.panes = OrderedDict()
89 for pane_name, pane_dimensions in self.settings.window_panes:
90 if len(pane_dimensions) != 4:
91 raise ImproperlyConfigured('pane dimensions should be a tuple of length 4, but it is "%s"' % repr(pane_dimensions))
92 i_begin, j_begin, i_size, j_size = pane_dimensions
93 max_i = max(max_i, i_begin + i_size)
94 max_j = max(max_j, j_begin + j_size)
95 if pane_name in self.panes:
96 raise Exception('Duplicate pane name in settings: %s' % pane_name)
97 self.panes[pane_name] = Pane(i_begin, j_begin, i_size, j_size)
98 self.buffer_height = max_i
99 self.buffer_width = max_j
100
101 self.window_buffer = np.tile(np.array(np.array(self.settings.window_background) * 255, 'uint8'),
102 (max_i,max_j,1))
103 #print 'BUFFER IS:', self.window_buffer.shape, self.window_buffer.min(), self.window_buffer.max()
104
105 for _,pane in self.panes.iteritems():
106 pane.data = self.window_buffer[pane.i_begin:pane.i_end, pane.j_begin:pane.j_end]
107
108 # Allocate help pane
109 for ll in self.settings.help_pane_loc:
110 assert ll >= 0 and ll <= 1, 'help_pane_loc values should be in [0,1]'
111 self.help_pane = Pane(int(self.settings.help_pane_loc[0]*max_i),
112 int(self.settings.help_pane_loc[1]*max_j),
113 int(self.settings.help_pane_loc[2]*max_i),
114 int(self.settings.help_pane_loc[3]*max_j))
115 self.help_buffer = self.window_buffer.copy() # For rendering help mode
116 self.help_pane.data = self.help_buffer[self.help_pane.i_begin:self.help_pane.i_end, self.help_pane.j_begin:self.help_pane.j_end]
117
118 def run_loop(self):
119 self.quit = False

Callers 1

run_loopMethod · 0.95

Calls 2

PaneClass · 0.85

Tested by

no test coverage detected