Commit 973bc3c11dab085b1cfae4820e5b79c4048eab81
1 parent
794ea503
Exists in
measure_improvements
Created an class to keep measurements data
Showing
1 changed file
with
30 additions
and
1 deletions
Show diff stats
invesalius/data/measures.py
@@ -22,6 +22,35 @@ LOCATION = {const.SURFACE: _(u"3D"), | @@ -22,6 +22,35 @@ LOCATION = {const.SURFACE: _(u"3D"), | ||
22 | } | 22 | } |
23 | 23 | ||
24 | 24 | ||
25 | +class MeasureData: | ||
26 | + """ | ||
27 | + Responsible to keep measures data. | ||
28 | + """ | ||
29 | + def __init__(self): | ||
30 | + self.measures = {const.SURFACE: {}, | ||
31 | + const.AXIAL: {}, | ||
32 | + const.CORONAL: {}, | ||
33 | + const.SAGITAL: {}} | ||
34 | + self._list_measures = [] | ||
35 | + | ||
36 | + def append(self, m): | ||
37 | + print m[0].location, m[0].slice_number | ||
38 | + try: | ||
39 | + self.measures[m[0].location][m[0].slice_number].append(m) | ||
40 | + except KeyError: | ||
41 | + self.measures[m[0].location][m[0].slice_number] = [m, ] | ||
42 | + | ||
43 | + self._list_measures.append(m) | ||
44 | + | ||
45 | + def pop(self, idx): | ||
46 | + m = self._list_measures.pop(idx) | ||
47 | + self.measures[m[0].location][m[0].slice_number].remove(m) | ||
48 | + return m | ||
49 | + | ||
50 | + def __len__(self): | ||
51 | + return len(self._list_measures) | ||
52 | + | ||
53 | + | ||
25 | class MeasurementManager(object): | 54 | class MeasurementManager(object): |
26 | """ | 55 | """ |
27 | A class to manage the use (Addition, remotion and visibility) from | 56 | A class to manage the use (Addition, remotion and visibility) from |
@@ -29,7 +58,7 @@ class MeasurementManager(object): | @@ -29,7 +58,7 @@ class MeasurementManager(object): | ||
29 | """ | 58 | """ |
30 | def __init__(self): | 59 | def __init__(self): |
31 | self.current = None | 60 | self.current = None |
32 | - self.measures = [] | 61 | + self.measures = MeasureData() |
33 | self._bind_events() | 62 | self._bind_events() |
34 | 63 | ||
35 | def _bind_events(self): | 64 | def _bind_events(self): |