Commit 49f5b7b7af604807a68331ee2b1326d6c2b624fe

Authored by Thiago Franco de Moraes
1 parent 8f68c9cd

Testings

Showing 1 changed file with 30 additions and 12 deletions   Show diff stats
invesalius/data/viewer_slice.py
@@ -156,7 +156,7 @@ class CanvasRendererCTX: @@ -156,7 +156,7 @@ class CanvasRendererCTX:
156 156
157 def _init_canvas(self): 157 def _init_canvas(self):
158 w, h = self._size 158 w, h = self._size
159 - self._array = np.empty((h, w, 4), dtype=np.uint8) 159 + self._array = np.zeros((h, w, 4), dtype=np.uint8)
160 160
161 self._cv_image = converters.np_rgba_to_vtk(self._array) 161 self._cv_image = converters.np_rgba_to_vtk(self._array)
162 162
@@ -172,11 +172,14 @@ class CanvasRendererCTX: @@ -172,11 +172,14 @@ class CanvasRendererCTX:
172 172
173 self.canvas_renderer.AddActor2D(self.actor) 173 self.canvas_renderer.AddActor2D(self.actor)
174 174
  175 + self.bitmap = wx.EmptyBitmapRGBA(w, h)
  176 +
175 def _resize_canvas(self, w, h): 177 def _resize_canvas(self, w, h):
176 - self._array = np.empty((h, w, 4), dtype=np.uint8) 178 + self._array = np.zeros((h, w, 4), dtype=np.uint8)
177 self._cv_image = converters.np_rgba_to_vtk(self._array) 179 self._cv_image = converters.np_rgba_to_vtk(self._array)
178 self.mapper.SetInputData(self._cv_image) 180 self.mapper.SetInputData(self._cv_image)
179 self.mapper.Update() 181 self.mapper.Update()
  182 + self.bitmap = wx.EmptyBitmapRGBA(w, h)
180 183
181 def OnPaint(self, evt, obj): 184 def OnPaint(self, evt, obj):
182 size = self.canvas_renderer.GetSize() 185 size = self.canvas_renderer.GetSize()
@@ -185,11 +188,26 @@ class CanvasRendererCTX: @@ -185,11 +188,26 @@ class CanvasRendererCTX:
185 self._size = size 188 self._size = size
186 self._resize_canvas(w, h) 189 self._resize_canvas(w, h)
187 190
188 - self._array[:] = 0  
189 - self._array[150:500, 150:500, 0] = 255  
190 - self._array[150:500, 150:500, 3] = 127 191 + pen = wx.Pen(wx.Colour(255, 0, 0, 255), 10, wx.SOLID)
  192 + memorydc = wx.MemoryDC(self.bitmap)
  193 + # memorydc.SelectObject(self.bitmap)
  194 + memorydc.SetPen(pen)
  195 + memorydc.SetBrush(wx.Brush(wx.Colour(255, 255, 0, 255)))
  196 + # self.memorydc.Clear()
  197 + # self.memorydc.BeginDrawing()
  198 + memorydc.DrawCircle(100, 100, self.viewer.slice_data.number * 5)
  199 + memorydc.DrawCircle(500, 500, 500)
  200 + memorydc.DrawRectangle(0, 0, w, h)
  201 + # self.memorydc.EndDrawing()
  202 + memorydc.SelectObject(wx.NullBitmap)
  203 + # self.bitmap.CopyToBuffer(self._array, wx.BitmapBufferFormat_RGBA)
  204 +
191 self._cv_image.Modified() 205 self._cv_image.Modified()
192 206
  207 + self.canvas_renderer.Render()
  208 +
  209 + img = self.bitmap.ConvertToImage()
  210 + img.SaveFile('/tmp/manolo.png', wx.BITMAP_TYPE_PNG)
193 211
194 class Viewer(wx.Panel): 212 class Viewer(wx.Panel):
195 213
@@ -1241,14 +1259,14 @@ class Viewer(wx.Panel): @@ -1241,14 +1259,14 @@ class Viewer(wx.Panel):
1241 for actor in self.actors_by_slice_number[index]: 1259 for actor in self.actors_by_slice_number[index]:
1242 self.slice_data.renderer.AddActor(actor) 1260 self.slice_data.renderer.AddActor(actor)
1243 1261
1244 - for (m, mr) in self.measures.get(self.orientation, self.slice_data.number):  
1245 - for actor in mr.GetActors():  
1246 - self.slice_data.renderer.RemoveActor(actor) 1262 + # for (m, mr) in self.measures.get(self.orientation, self.slice_data.number):
  1263 + # for actor in mr.GetActors():
  1264 + # self.slice_data.renderer.RemoveActor(actor)
1247 1265
1248 - for (m, mr) in self.measures.get(self.orientation, index):  
1249 - mr.renderer = self.slice_data.renderer  
1250 - for actor in mr.GetActors():  
1251 - self.slice_data.renderer.AddActor(actor) 1266 + # for (m, mr) in self.measures.get(self.orientation, index):
  1267 + # mr.renderer = self.slice_data.renderer
  1268 + # for actor in mr.GetActors():
  1269 + # self.slice_data.renderer.AddActor(actor)
1252 1270
1253 if self.slice_._type_projection == const.PROJECTION_NORMAL: 1271 if self.slice_._type_projection == const.PROJECTION_NORMAL:
1254 self.slice_data.SetNumber(index) 1272 self.slice_data.SetNumber(index)