Commit 9bbd13653e18798d01156585746925c6cb4f5928

Authored by Paulo Henrique Junqueira Amorim
1 parent d72423d8

ENH: Redesigned way to store the values of window and level

invesalius/control.py
... ... @@ -79,6 +79,9 @@ class Controller():
79 79 proj.window = window = const.WINDOW_LEVEL['Bone'][0]
80 80 proj.level = level = const.WINDOW_LEVEL['Bone'][1]
81 81  
  82 + ps.Publisher().sendMessage('Update window level value',\
  83 + (proj.window, proj.level))
  84 +
82 85 if not imagedata:
83 86 print "Sorry, but there are no medical images supported on this dir."
84 87 else:
... ... @@ -86,9 +89,9 @@ class Controller():
86 89 proj.SetAcquisitionModality(acquisition_modality)
87 90 proj.imagedata = imagedata
88 91 proj.original_orientation = orientation
89   - proj.window = float(window)
90   - proj.level = float(level)
91   -
  92 + proj.window = window = float(window)
  93 + proj.level = level = float(level)
  94 +
92 95  
93 96 threshold_range = proj.imagedata.GetScalarRange()
94 97 const.THRESHOLD_OUTVALUE = threshold_range[0]
... ... @@ -103,6 +106,9 @@ class Controller():
103 106 #Initial Window and Level
104 107 ps.Publisher().sendMessage('Bright and contrast adjustment image',\
105 108 (proj.window, proj.level))
  109 +
  110 + ps.Publisher().sendMessage('Update window level value',\
  111 + (proj.window, proj.level))
106 112  
107 113 # Call frame so it shows slice and volume related panels
108 114 ps.Publisher().sendMessage('Show content panel')
... ...
invesalius/data/viewer_slice.py
... ... @@ -226,24 +226,24 @@ class Viewer(wx.Panel):
226 226 self.acum_achange_level += mouse_y - self.last_y
227 227 self.last_x, self.last_y = mouse_x, mouse_y
228 228  
229   - proj = project.Project()
230   - proj.window = self.acum_achange_window
231   - proj.level = self.acum_achange_level
232   -
233 229 ps.Publisher().sendMessage('Bright and contrast adjustment image',
234   - (proj.window, proj.level))
  230 + (self.acum_achange_window, self.acum_achange_level))
235 231  
236 232 ps.Publisher().sendMessage('Update window and level text',\
237   - "WL: %d WW: %d"%(proj.level, proj.window))
  233 + "WL: %d WW: %d"%(self.acum_achange_window,\
  234 + self.acum_achange_level))
238 235 self.interactor.Render()
239 236  
240 237  
241 238 def OnWindowLevelClick(self, evt, obj):
242   - proj = project.Project()
243   - self.acum_achange_window, self.acum_achange_level = (proj.window, proj.level)
244 239 self.last_x, self.last_y = self.interactor.GetLastEventPosition()
245 240 self.mouse_pressed = 1
246 241  
  242 + def UpdateWindowLevelValue(self, pubsub_evt):
  243 + window, level = pubsub_evt.data
  244 + self.acum_achange_window, self.acum_achange_level = (window, level)
  245 +
  246 +
247 247 def OnChangeSliceMove(self, evt, obj):
248 248  
249 249 min = 0
... ... @@ -656,8 +656,8 @@ class Viewer(wx.Panel):
656 656 ####
657 657 ps.Publisher().subscribe(self.UpdateText,\
658 658 'Update window and level text')
659   - #ps.Publisher().subscribe(self.UpdateCkeckPopUpMenu,\
660   - # 'Update ckeck popup menu')
  659 + ps.Publisher().subscribe(self.UpdateWindowLevelValue,\
  660 + 'Update window level value')
661 661  
662 662 def ChangeBrushOperation(self, pubsub_evt):
663 663 print pubsub_evt.data
... ...