Commit 2ebed0078ce3fc97a8834b9cb0345ab2bdbf563c

Authored by tfmoraes
1 parent c68dfbfb

ENH: Changes in raycasting clut widget affects raycasting

invesalius/data/volume.py
... ... @@ -204,7 +204,7 @@ class Volume():
204 204 ps.Publisher().sendMessage('Render volume viewer')
205 205  
206 206 def Refresh(self, pubsub_evt):
207   - self.__set_preset()
  207 + self.__update_colour_table()
208 208  
209 209 #***************
210 210 def Create16bColorTable(self, scale):
... ... @@ -361,15 +361,16 @@ class Volume():
361 361  
362 362 def ApplyConvolution(self, imagedata):
363 363 number_filters = len(self.config['convolutionFilters'])
364   - update_progress= vtk_utils.ShowProgress(number_filters)
365   - for filter in self.config['convolutionFilters']:
366   - convolve = vtk.vtkImageConvolve()
367   - convolve.SetInput(imagedata)
368   - convolve.SetKernel5x5([i/60.0 for i in Kernels[filter]])
369   - convolve.AddObserver("ProgressEvent", lambda obj,evt:
370   - update_progress(convolve, "%s ..." % filter))
371   - convolve.Update()
372   - imagedata = convolve.GetOutput()
  364 + if number_filters:
  365 + update_progress= vtk_utils.ShowProgress(number_filters)
  366 + for filter in self.config['convolutionFilters']:
  367 + convolve = vtk.vtkImageConvolve()
  368 + convolve.SetInput(imagedata)
  369 + convolve.SetKernel5x5([i/60.0 for i in Kernels[filter]])
  370 + convolve.AddObserver("ProgressEvent", lambda obj,evt:
  371 + update_progress(convolve, "%s ..." % filter))
  372 + convolve.Update()
  373 + imagedata = convolve.GetOutput()
373 374 return imagedata
374 375  
375 376 def LoadVolume(self):
... ...
invesalius/gui/default_viewers.py
... ... @@ -24,7 +24,8 @@ import wx.lib.pubsub as ps
24 24 import data.viewer_slice as slice_viewer
25 25 import data.viewer_volume as volume_viewer
26 26  
27   -from gui.widgets.clut_raycasting import CLUTRaycastingWidget
  27 +from gui.widgets.clut_raycasting import CLUTRaycastingWidget, \
  28 + EVT_CLUT_POINT_CHANGED
28 29  
29 30 class Panel(wx.Panel):
30 31 def __init__(self, parent):
... ... @@ -192,7 +193,7 @@ class VolumeInteraction(wx.Panel):
192 193 #sizer = wx.BoxSizer(wx.HORIZONTAL)
193 194 #sizer.Add(volume_viewer.Viewer(self), 1, wx.EXPAND|wx.GROW)
194 195 #self.SetSizer(sizer)
195   - #self.__bind_events_wx()
  196 + self.__bind_events_wx()
196 197 #sizer.Fit(self)
197 198  
198 199 def __init_aui_manager(self):
... ... @@ -229,10 +230,13 @@ class VolumeInteraction(wx.Panel):
229 230 self.aui_manager.Update()
230 231  
231 232 def __bind_events_wx(self):
  233 + self.clut_raycasting.Bind(EVT_CLUT_POINT_CHANGED, self.OnPointChanged)
232 234 #self.Bind(wx.EVT_SIZE, self.OnSize)
233 235 #self.Bind(wx.EVT_MAXIMIZE, self.OnMaximize)
234   - pass
235 236  
  237 + def OnPointChanged(self, evt):
  238 + ps.Publisher.sendMessage('Set raycasting refresh', None)
  239 + ps.Publisher().sendMessage('Render volume viewer', None)
236 240  
237 241 import wx.lib.platebtn as pbtn
238 242 import wx.lib.buttons as btn
... ...