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() | ... | ... |