diff --git a/invesalius/data/volume.py b/invesalius/data/volume.py index ddebdf2..b72d20e 100755 --- a/invesalius/data/volume.py +++ b/invesalius/data/volume.py @@ -204,7 +204,7 @@ class Volume(): ps.Publisher().sendMessage('Render volume viewer') def Refresh(self, pubsub_evt): - self.__set_preset() + self.__update_colour_table() #*************** def Create16bColorTable(self, scale): @@ -361,15 +361,16 @@ class Volume(): def ApplyConvolution(self, imagedata): number_filters = len(self.config['convolutionFilters']) - update_progress= vtk_utils.ShowProgress(number_filters) - for filter in self.config['convolutionFilters']: - convolve = vtk.vtkImageConvolve() - convolve.SetInput(imagedata) - convolve.SetKernel5x5([i/60.0 for i in Kernels[filter]]) - convolve.AddObserver("ProgressEvent", lambda obj,evt: - update_progress(convolve, "%s ..." % filter)) - convolve.Update() - imagedata = convolve.GetOutput() + if number_filters: + update_progress= vtk_utils.ShowProgress(number_filters) + for filter in self.config['convolutionFilters']: + convolve = vtk.vtkImageConvolve() + convolve.SetInput(imagedata) + convolve.SetKernel5x5([i/60.0 for i in Kernels[filter]]) + convolve.AddObserver("ProgressEvent", lambda obj,evt: + update_progress(convolve, "%s ..." % filter)) + convolve.Update() + imagedata = convolve.GetOutput() return imagedata def LoadVolume(self): diff --git a/invesalius/gui/default_viewers.py b/invesalius/gui/default_viewers.py index 1bafeb3..262b288 100755 --- a/invesalius/gui/default_viewers.py +++ b/invesalius/gui/default_viewers.py @@ -24,7 +24,8 @@ import wx.lib.pubsub as ps import data.viewer_slice as slice_viewer import data.viewer_volume as volume_viewer -from gui.widgets.clut_raycasting import CLUTRaycastingWidget +from gui.widgets.clut_raycasting import CLUTRaycastingWidget, \ + EVT_CLUT_POINT_CHANGED class Panel(wx.Panel): def __init__(self, parent): @@ -192,7 +193,7 @@ class VolumeInteraction(wx.Panel): #sizer = wx.BoxSizer(wx.HORIZONTAL) #sizer.Add(volume_viewer.Viewer(self), 1, wx.EXPAND|wx.GROW) #self.SetSizer(sizer) - #self.__bind_events_wx() + self.__bind_events_wx() #sizer.Fit(self) def __init_aui_manager(self): @@ -229,10 +230,13 @@ class VolumeInteraction(wx.Panel): self.aui_manager.Update() def __bind_events_wx(self): + self.clut_raycasting.Bind(EVT_CLUT_POINT_CHANGED, self.OnPointChanged) #self.Bind(wx.EVT_SIZE, self.OnSize) #self.Bind(wx.EVT_MAXIMIZE, self.OnMaximize) - pass + def OnPointChanged(self, evt): + ps.Publisher.sendMessage('Set raycasting refresh', None) + ps.Publisher().sendMessage('Render volume viewer', None) import wx.lib.platebtn as pbtn import wx.lib.buttons as btn -- libgit2 0.21.2