Commit 8f2dbda6d199d2dd04218bb9e7a0aca96d2ad966
1 parent
14a26332
Exists in
master
and in
68 other branches
ADD: added part of the code to change window and level image
Showing
1 changed file
with
23 additions
and
5 deletions
Show diff stats
invesalius/data/viewer_slice.py
| @@ -102,7 +102,7 @@ class Viewer(wx.Panel): | @@ -102,7 +102,7 @@ class Viewer(wx.Panel): | ||
| 102 | def append_mode(self, mode): | 102 | def append_mode(self, mode): |
| 103 | 103 | ||
| 104 | #TODO: Temporary | 104 | #TODO: Temporary |
| 105 | - #self.modes = [] | 105 | + self.modes = [] |
| 106 | 106 | ||
| 107 | # Retrieve currently set modes | 107 | # Retrieve currently set modes |
| 108 | self.modes.append(mode) | 108 | self.modes.append(mode) |
| @@ -195,8 +195,8 @@ class Viewer(wx.Panel): | @@ -195,8 +195,8 @@ class Viewer(wx.Panel): | ||
| 195 | 195 | ||
| 196 | def WindowLevelMode(self, pubsub_evt): | 196 | def WindowLevelMode(self, pubsub_evt): |
| 197 | self.append_mode('WINDOWLEVEL') | 197 | self.append_mode('WINDOWLEVEL') |
| 198 | - proj = project.Project() | ||
| 199 | - self.interactor.Render() | 198 | + self.mouse_pressed = 0 |
| 199 | + self.interactor.SetCursor(wx.StockCursor(wx.CURSOR_SIZING)) | ||
| 200 | 200 | ||
| 201 | def ChangeSliceMode(self, pubsub_evt): | 201 | def ChangeSliceMode(self, pubsub_evt): |
| 202 | self.append_mode('CHANGESLICE') | 202 | self.append_mode('CHANGESLICE') |
| @@ -204,10 +204,28 @@ class Viewer(wx.Panel): | @@ -204,10 +204,28 @@ class Viewer(wx.Panel): | ||
| 204 | self.interactor.SetCursor(wx.StockCursor(wx.CURSOR_SIZENS)) | 204 | self.interactor.SetCursor(wx.StockCursor(wx.CURSOR_SIZENS)) |
| 205 | 205 | ||
| 206 | def OnWindowLevelMove(self, evt, obj): | 206 | def OnWindowLevelMove(self, evt, obj): |
| 207 | - print 'Move...' | 207 | + if self.mouse_pressed: |
| 208 | + position = self.interactor.GetLastEventPosition() | ||
| 209 | + mouse_x, mouse_y = self.interactor.GetEventPosition() | ||
| 210 | + self.acum_achange_window += mouse_x - self.last_x | ||
| 211 | + self.acum_achange_level += mouse_y - self.last_y | ||
| 212 | + self.last_x, self.last_y = mouse_x, mouse_y | ||
| 213 | + | ||
| 214 | + proj = project.Project() | ||
| 215 | + proj.window = self.acum_achange_window | ||
| 216 | + proj.level = self.acum_achange_level | ||
| 217 | + | ||
| 218 | + ps.Publisher().sendMessage('Bright and contrast adjustment image', | ||
| 219 | + (proj.window, proj.level)) | ||
| 220 | + self.interactor.Render() | ||
| 221 | + #ps.Publisher().sendMessage('Update slice viewer') | ||
| 222 | + | ||
| 208 | 223 | ||
| 209 | def OnWindowLevelClick(self, evt, obj): | 224 | def OnWindowLevelClick(self, evt, obj): |
| 210 | - print 'Click' | 225 | + proj = project.Project() |
| 226 | + self.acum_achange_window, self.acum_achange_level = (proj.window, proj.level) | ||
| 227 | + self.last_x, self.last_y = self.interactor.GetLastEventPosition() | ||
| 228 | + self.mouse_pressed = 1 | ||
| 211 | 229 | ||
| 212 | def OnChangeSliceMove(self, evt, obj): | 230 | def OnChangeSliceMove(self, evt, obj): |
| 213 | 231 |