Changeset 2dbb681 in sasview for sansview/perspectives/fitting/models.py
- Timestamp:
- Oct 21, 2008 12:30:12 PM (16 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 5893cdb
- Parents:
- b3328d8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/models.py
r00561739 r2dbb681 6 6 (ModelEvent, EVT_MODEL) = wx.lib.newevent.NewEvent() 7 7 8 class ModelInfo(object): 9 """ 10 this class contains description for a given model 11 """ 12 def __init__(self,model,description=None): 13 self.model=model 14 self.description=description 15 16 def set_description(self, descrition): 17 self.description =str(description) 18 19 def get_description(self): 20 return self.description 8 21 9 22 10 … … 84 72 self.model_list = {} 85 73 self.model_list_box = {} 86 87 model_info="shape-based models" 74 88 75 89 76 from sans.models.SphereModel import SphereModel 90 self.model_list[str(wx.NewId())] = ModelInfo(SphereModel , model_info)77 self.model_list[str(wx.NewId())] = SphereModel 91 78 92 79 from sans.models.CylinderModel import CylinderModel 93 self.model_list[str(wx.NewId())] = ModelInfo(CylinderModel , model_info)80 self.model_list[str(wx.NewId())] =CylinderModel 94 81 95 82 from sans.models.CoreShellModel import CoreShellModel 96 self.model_list[str(wx.NewId())] = ModelInfo(CoreShellModel , model_info)83 self.model_list[str(wx.NewId())] = CoreShellModel 97 84 98 85 from sans.models.CoreShellCylinderModel import CoreShellCylinderModel 99 self.model_list[str(wx.NewId())] = ModelInfo(CoreShellCylinderModel , model_info)86 self.model_list[str(wx.NewId())] =CoreShellCylinderModel 100 87 101 88 from sans.models.EllipticalCylinderModel import EllipticalCylinderModel 102 self.model_list[str(wx.NewId())] = ModelInfo(EllipticalCylinderModel , model_info)89 self.model_list[str(wx.NewId())] =EllipticalCylinderModel 103 90 104 91 from sans.models.EllipsoidModel import EllipsoidModel 105 self.model_list[str(wx.NewId())] = ModelInfo(EllipsoidModel , model_info)92 self.model_list[str(wx.NewId())] = EllipsoidModel 106 93 107 94 from sans.guitools.LineModel import LineModel 108 self.model_list[str(wx.NewId())] = ModelInfo(LineModel , model_info)95 self.model_list[str(wx.NewId())] = LineModel 109 96 110 97 … … 112 99 113 100 from sans.models.BEPolyelectrolyte import BEPolyelectrolyte 114 self.indep_model.append( ModelInfo( BEPolyelectrolyte , model_info))101 self.indep_model.append(BEPolyelectrolyte ) 115 102 116 103 from sans.models.DABModel import DABModel 117 self.indep_model.append( ModelInfo(DABModel , model_info+ 118 "\n Evaluates F(x) = scale/( 1 + (x*L)^2 )^(2) +bkd") ) 104 self.indep_model.append(DABModel ) 119 105 120 106 from sans.models.DebyeModel import DebyeModel 121 self.indep_model.append( ModelInfo(DebyeModel , model_info+ 122 "\n Evaluates F(x) = 2( exp(-x)+x -1 )/x**2") ) 107 self.indep_model.append(DebyeModel ) 123 108 124 109 from sans.models.FractalModel import FractalModel … … 126 111 def _Fractal(self, x): 127 112 return FractalModel._Fractal(self, math.fabs(x)) 128 self.indep_model.append( ModelInfo(FractalAbsModel , model_info))113 self.indep_model.append(FractalAbsModel) 129 114 130 115 from sans.models.LorentzModel import LorentzModel 131 self.indep_model.append( ModelInfo(LorentzModel , model_info+ 132 "\n Evaluates F(x)= scale/( 1 + (x*L)^2 ) + bkd ") ) 116 self.indep_model.append( LorentzModel) 133 117 134 118 from sans.models.PowerLawModel import PowerLawModel … … 139 123 except: 140 124 print sys.exc_value 141 self.indep_model.append( ModelInfo(PowerLawAbsModel , model_info+ 142 "\n Evaluates abs(F(x)) \n with F(x) = scale* (x)^(m) + bkd ") ) 143 144 125 self.indep_model.append( PowerLawAbsModel ) 145 126 from sans.models.TeubnerStreyModel import TeubnerStreyModel 146 self.indep_model.append( ModelInfo(TeubnerStreyModel , model_info) ) 147 148 149 150 151 152 153 127 self.indep_model.append(TeubnerStreyModel ) 128 154 129 #Looking for plugins 155 130 self.plugins = findModels() … … 169 144 self._getModelList() 170 145 self.event_owner = event_owner 171 172 146 shape_submenu= wx.Menu() 173 147 indep_submenu = wx.Menu() 174 148 added_models = wx.Menu() 175 176 149 for id_str,value in self.model_list.iteritems(): 177 item = self.model_list[id_str] 178 name = item. model.__name__150 item = self.model_list[id_str]() 151 name = item.__class__.__name__ 179 152 if hasattr(item, "name"): 180 name = item. model.name181 self.model_list_box[name] =value .model153 name = item.name 154 self.model_list_box[name] =value 182 155 shape_submenu.Append(int(id_str), name, name) 183 156 wx.EVT_MENU(event_owner, int(id_str), self._on_model) 184 157 modelmenu.AppendMenu(wx.NewId(), "Shapes...", shape_submenu, "List of shape-based models") 185 186 158 id = wx.NewId() 187 159 if len(self.indep_model_list) == 0: 188 for item in self.indep_model:160 for items in self.indep_model: 189 161 #if item not in self.indep_model_list.values(): 190 162 #self.indep_model_list[str(id)] = item 191 self.model_list[str(id)]=item 192 name = item.model.__name__ 163 self.model_list[str(id)]=items 164 item=items() 165 name = item.__class__.__name__ 193 166 if hasattr(item, "name"): 194 name = item. model.name167 name = item.name 195 168 indep_submenu.Append(id,name, name) 196 self.model_list_box[name] =item .model169 self.model_list_box[name] =items 197 170 wx.EVT_MENU(event_owner, int(id), self._on_model) 198 171 id = wx.NewId() 199 172 modelmenu.AppendMenu(wx.NewId(), "Shape-independent...", indep_submenu, "List of shape-independent models") 200 201 202 203 model_info="additional models"204 173 id = wx.NewId() 205 174 if len(self.custom_models) == 0: 206 for item in self.plugins:175 for items in self.plugins: 207 176 #if item not in self.custom_models.values(): 208 177 #self.custom_models[str(id)] = item 209 self.model_list[str(id)]=ModelInfo(item,model_info) 210 name = item.__name__ 178 self.model_list[str(id)]=items 179 item=items() 180 name = item.__class__.__name__ 211 181 if hasattr(item, "name"): 212 182 name = item.name 213 183 added_models.Append(id, name, name) 214 self.model_list_box[name] =item 184 self.model_list_box[name] =items 215 185 wx.EVT_MENU(event_owner, int(id), self._on_model) 216 186 id = wx.NewId() … … 231 201 232 202 model = self.model_list[str(evt.GetId())] 233 evt = ModelEvent(model info=model)203 evt = ModelEvent(model= model ) 234 204 wx.PostEvent(self.event_owner, evt) 235 205
Note: See TracChangeset
for help on using the changeset viewer.