Commit 32368b96db9753e46114a919a99e4020b7630e2b
1 parent
e23f8647
Exists in
master
and in
56 other branches
When changing the number_slices or projection type it reloads the slice
Showing
1 changed file
with
16 additions
and
5 deletions
Show diff stats
invesalius/data/viewer_slice.py
| ... | ... | @@ -64,7 +64,7 @@ class Viewer(wx.Panel): |
| 64 | 64 | self.left_pressed = 0 |
| 65 | 65 | self.right_pressed = 0 |
| 66 | 66 | |
| 67 | - self.number_slices = 10 | |
| 67 | + self._number_slices = 10 | |
| 68 | 68 | |
| 69 | 69 | self.spined_image = False #Use to control to spin |
| 70 | 70 | self.paned_image = False |
| ... | ... | @@ -984,6 +984,16 @@ class Viewer(wx.Panel): |
| 984 | 984 | max_slice_number) |
| 985 | 985 | self.set_scroll_position(0) |
| 986 | 986 | |
| 987 | + @property | |
| 988 | + def number_slices(self): | |
| 989 | + return self._number_slices | |
| 990 | + | |
| 991 | + @number_slices.setter | |
| 992 | + def number_slices(self, val): | |
| 993 | + self._number_slices = val | |
| 994 | + buffer_ = self.slice_.buffer_slices[self.orientation] | |
| 995 | + buffer_.discard_buffer() | |
| 996 | + | |
| 987 | 997 | def set_scroll_position(self, position): |
| 988 | 998 | self.scroll.SetThumbPosition(position) |
| 989 | 999 | self.OnScrollBar() |
| ... | ... | @@ -1046,17 +1056,18 @@ class Viewer(wx.Panel): |
| 1046 | 1056 | elif (evt.GetKeyCode() == wx.WXK_NUMPAD_ADD): |
| 1047 | 1057 | self.number_slices += 1 |
| 1048 | 1058 | print "ADDing", self.number_slices |
| 1049 | - self.OnScrollBar() | |
| 1059 | + self.ReloadActualSlice() | |
| 1050 | 1060 | |
| 1051 | 1061 | elif (evt.GetKeyCode() == wx.WXK_NUMPAD_SUBTRACT): |
| 1052 | 1062 | if self.number_slices > 1: |
| 1053 | 1063 | self.number_slices -= 1 |
| 1054 | 1064 | print "Subtracting", self.number_slices |
| 1055 | - self.OnScrollBar() | |
| 1065 | + self.ReloadActualSlice() | |
| 1056 | 1066 | |
| 1057 | 1067 | elif evt.GetKeyCode() in projections: |
| 1058 | 1068 | print "PROJECTION MANOLO!" |
| 1059 | - self.slice_._type_projection = projections[evt.GetKeyCode()] | |
| 1069 | + self.slice_.SetTypeProjection(projections[evt.GetKeyCode()]) | |
| 1070 | + self.ReloadActualSlice() | |
| 1060 | 1071 | |
| 1061 | 1072 | self.UpdateSlice3D(pos) |
| 1062 | 1073 | self.interactor.Render() |
| ... | ... | @@ -1139,7 +1150,7 @@ class Viewer(wx.Panel): |
| 1139 | 1150 | coord[index] = extent_min[index] |
| 1140 | 1151 | return coord |
| 1141 | 1152 | |
| 1142 | - def ReloadActualSlice(self, pubsub_evt): | |
| 1153 | + def ReloadActualSlice(self, pubsub_evt=None): | |
| 1143 | 1154 | pos = self.scroll.GetThumbPosition() |
| 1144 | 1155 | self.set_slice_number(pos) |
| 1145 | 1156 | self.interactor.Render() | ... | ... |