Commit 693979e22bbc81857a9e39944d1ee512b10547e0

Authored by tfmoraes
1 parent 423f557b

TEST: Testing svn keyword Revision

Showing 1 changed file with 62 additions and 7 deletions   Show diff stats
invesalius/project.py
@@ -42,20 +42,20 @@ class Project(object): @@ -42,20 +42,20 @@ class Project(object):
42 # coordinate systems. It might be used, as well, for 3D raycasting. 42 # coordinate systems. It might be used, as well, for 3D raycasting.
43 # rendering. 43 # rendering.
44 # TODO: Discuss when this will be used. 44 # TODO: Discuss when this will be used.
45 - self.imagedata = None 45 + self.imagedata = ''
46 46
47 # Masks are related to vtkImageData 47 # Masks are related to vtkImageData
48 self.mask_dict = {} 48 self.mask_dict = {}
49 # Predefined threshold values 49 # Predefined threshold values
50 - self.min_threshold = None  
51 - self.max_threshold = None 50 + self.min_threshold = ''
  51 + self.max_threshold = ''
52 52
53 - self.window = None  
54 - self.level = None 53 + self.window = ''
  54 + self.level = ''
55 55
56 self.presets = Presets() 56 self.presets = Presets()
57 57
58 - self.original_orientation = None 58 + self.original_orientation = ''
59 # MRI ? CT? 59 # MRI ? CT?
60 self.threshold_modes = self.presets.thresh_ct 60 self.threshold_modes = self.presets.thresh_ct
61 61
@@ -85,9 +85,10 @@ class Project(object): @@ -85,9 +85,10 @@ class Project(object):
85 # self.render_mode = {} 85 # self.render_mode = {}
86 86
87 # The raycasting preset setted in this project 87 # The raycasting preset setted in this project
88 - self.raycasting_preset = None 88 + self.raycasting_preset = ''
89 89
90 self.debug = 0 90 self.debug = 0
  91 + self.version = "$Revision$"
91 92
92 ####### MASK OPERATIONS 93 ####### MASK OPERATIONS
93 94
@@ -119,3 +120,57 @@ class Project(object): @@ -119,3 +120,57 @@ class Project(object):
119 path = os.path.join(RAYCASTING_PRESETS_DIRECTORY, label + '.plist') 120 path = os.path.join(RAYCASTING_PRESETS_DIRECTORY, label + '.plist')
120 preset = plistlib.readPlist(path) 121 preset = plistlib.readPlist(path)
121 ps.Publisher.sendMessage('Set raycasting preset', preset) 122 ps.Publisher.sendMessage('Set raycasting preset', preset)
  123 +
  124 + def SavePlistProjectOld(self, filename):
  125 + project = {}
  126 +
  127 + for key in self.__dict__:
  128 + if getattr(self.__dict__[key], 'SavePlist'):
  129 + project[key] = {'path': self.__dict__[key].SavePlist('.')}
  130 + else:
  131 + project[key] = self.__dict__[key]
  132 +
  133 + masks = {}
  134 + for index in self.mask_dict:
  135 + masks[str(index)] = "self.mask_dict[index]"
  136 + print index
  137 +
  138 + surfaces = {}
  139 + for index in self.surface_dict:
  140 + surfaces[str(index)] = "self.surface_dict[index]"
  141 + print index
  142 +
  143 + project['surface_dict'] = surfaces
  144 + project['mask_dict'] = masks
  145 + project['imagedata'] = 'imagedata'
  146 +
  147 + plistlib.writePlist(project, filename)
  148 +
  149 + def SavePlistProject(self, filename, object=None):
  150 + if object is None:
  151 + object = self
  152 + supported_types = (str, int, float, bool, tuple, list, dict,
  153 + plistlib.Data)
  154 + project = {}
  155 + for key in object.__dict__:
  156 + prop = object.__dict__[key]
  157 + if isinstance(prop, supported_types):
  158 + project[key] = prop
  159 + print key
  160 + print project
  161 + plistlib.writePlist(project, filename)
  162 +
  163 + def OpenPlistProject(self, filename):
  164 + project = plistlib.readPlist(filename)
  165 + masks = project['masks']
  166 + for index in masks:
  167 + self.mask_dict[index] = masks[index]
  168 +
  169 + surfaces = project['surfaces']
  170 + for index in surfaces:
  171 + self.surface_dict[index] = surfaces[index]
  172 +
  173 + self.min_threshold = project['min threshold']
  174 + self.max_threshold = project['max threshold']
  175 + self.window = project['window']
  176 + self.level = project['level']