Changes in / [d84bc69:83d6249] in sasview
- Location:
- src/sas/qtgui/Perspectives/Fitting
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py
r83d6249 r83d6249 1 1 import sys 2 import json3 import os4 2 from PyQt4 import QtGui 5 3 from PyQt4 import QtCore 6 4 7 5 from UI.FittingUI import Ui_FittingUI 8 9 from sasmodels import generate10 from sasmodels import modelinfo11 12 from collections import defaultdict13 from sas.sasgui.guiframe.CategoryInstaller import CategoryInstaller14 6 15 7 class FittingWindow(QtGui.QDialog, Ui_FittingUI): … … 21 13 self.setupUi(self) 22 14 23 self._readCategoryInfo()24 cat_list = sorted(self.master_category_dict.keys())25 self.comboBox.addItems(cat_list)26 15 self.tableView.setModel(self._model_model) 27 28 model_list = self.master_category_dict['Cylinder'] 29 for (model, enabled) in model_list: 30 self.comboBox_2.addItem(model) 31 self.setModelModel('barbell') 16 self.setModelModel() 32 17 33 18 self.pushButton.setEnabled(False) … … 50 35 self.tableView_2.setIndexWidget(i,c) 51 36 52 def _readCategoryInfo(self):53 """54 Reads the categories in from file55 """56 self.master_category_dict = defaultdict(list)57 self.by_model_dict = defaultdict(list)58 self.model_enabled_dict = defaultdict(bool)59 60 try:61 categorization_file = CategoryInstaller.get_user_file()62 if not os.path.isfile(categorization_file):63 categorization_file = CategoryInstaller.get_default_file()64 cat_file = open(categorization_file, 'rb')65 self.master_category_dict = json.load(cat_file)66 self._regenerate_model_dict()67 cat_file.close()68 except IOError:69 raise70 print 'Problem reading in category file.'71 print 'We even looked for it, made sure it was there.'72 print 'An existential crisis if there ever was one.'73 74 def _regenerate_model_dict(self):75 """76 regenerates self.by_model_dict which has each model name as the77 key and the list of categories belonging to that model78 along with the enabled mapping79 """80 self.by_model_dict = defaultdict(list)81 for category in self.master_category_dict:82 for (model, enabled) in self.master_category_dict[category]:83 self.by_model_dict[model].append(category)84 self.model_enabled_dict[model] = enabled85 86 37 87 def setModelModel(self , model_name):38 def setModelModel(self): 88 39 # Crete/overwrite model items 89 40 90 model_name = str(model_name) 91 kernel_module = generate.load_kernel_module(model_name) 92 parameters = modelinfo.make_parameter_table(getattr(kernel_module, 'parameters', [])) 41 parameters=[] 42 p=["scale", "1", "0", "inf", ""] 43 for i in xrange(1): 44 #for parameter in parameters.keys(): 45 item1 = QtGui.QStandardItem("background") 46 item1.setCheckable(True) 47 item2 = QtGui.QStandardItem("0.001") 48 item3 = QtGui.QStandardItem("-inf") 49 item4 = QtGui.QStandardItem("inf") 50 item5 = QtGui.QStandardItem("1/cm") 51 self._model_model.appendRow([item1, item2, item3, item4, item5]) 93 52 94 #TODO: scaale and background are implicit in sasmodels and needs to be added 95 item1 = QtGui.QStandardItem('scale') 96 item1.setCheckable(True) 97 item2 = QtGui.QStandardItem('1.0') 98 item3 = QtGui.QStandardItem('0.0') 99 item4 = QtGui.QStandardItem('inf') 100 item5 = QtGui.QStandardItem('') 101 self._model_model.appendRow([item1, item2, item3, item4, item5]) 53 item1 = QtGui.QStandardItem("l_radius") 54 item1.setCheckable(True) 55 item2 = QtGui.QStandardItem("100") 56 item3 = QtGui.QStandardItem("0") 57 item4 = QtGui.QStandardItem("inf") 58 item5 = QtGui.QStandardItem("A") 59 self._model_model.appendRow([item1, item2, item3, item4, item5]) 102 60 103 item1 = QtGui.QStandardItem('background')104 item1.setCheckable(True)105 item2 = QtGui.QStandardItem('0.001')106 item3 = QtGui.QStandardItem('-inf')107 item4 = QtGui.QStandardItem('inf')108 item5 = QtGui.QStandardItem('1/cm')109 self._model_model.appendRow([item1, item2, item3, item4, item5])61 item1 = QtGui.QStandardItem("ls_sld") 62 item1.setCheckable(True) 63 item2 = QtGui.QStandardItem("3.5e-06") 64 item3 = QtGui.QStandardItem("0") 65 item4 = QtGui.QStandardItem("inf") 66 item5 = QtGui.QStandardItem("1/A^2") 67 self._model_model.appendRow([item1, item2, item3, item4, item5]) 110 68 111 #TODO: iq_parameters are used here. If orientation paramateres or magnetic are needed kernel_paramters should be used instead 112 #For orientation and magentic parameters param.type needs to be checked 113 for param in parameters.iq_parameters: 114 item1 = QtGui.QStandardItem(param.name) 69 item1 = QtGui.QStandardItem("s_radius") 115 70 item1.setCheckable(True) 116 item2 = QtGui.QStandardItem(str(param.default)) 117 item3 = QtGui.QStandardItem(str(param.limits[0])) 118 item4 = QtGui.QStandardItem(str(param.limits[1])) 119 item5 = QtGui.QStandardItem(param.units) 71 item2 = QtGui.QStandardItem("25") 72 item3 = QtGui.QStandardItem("0") 73 item4 = QtGui.QStandardItem("inf") 74 item5 = QtGui.QStandardItem("A") 75 self._model_model.appendRow([item1, item2, item3, item4, item5]) 76 77 item1 = QtGui.QStandardItem("solvent_sld") 78 item1.setCheckable(True) 79 item2 = QtGui.QStandardItem("6.36e-06") 80 item3 = QtGui.QStandardItem("0") 81 item4 = QtGui.QStandardItem("inf") 82 item5 = QtGui.QStandardItem("1/A^2") 83 self._model_model.appendRow([item1, item2, item3, item4, item5]) 84 85 item1 = QtGui.QStandardItem("vol_frac_ls") 86 item1.setCheckable(True) 87 item2 = QtGui.QStandardItem("0.1") 88 item3 = QtGui.QStandardItem("0") 89 item4 = QtGui.QStandardItem("inf") 90 item5 = QtGui.QStandardItem("") 120 91 self._model_model.appendRow([item1, item2, item3, item4, item5]) 121 92 -
src/sas/qtgui/Perspectives/Fitting/UI/FittingUI.ui
r83d6249 r83d6249 7 7 <x>0</x> 8 8 <y>0</y> 9 <width>6 74</width>9 <width>613</width> 10 10 <height>723</height> 11 11 </rect> … … 133 133 </item> 134 134 <item row="1" column="0"> 135 <widget class="QComboBox" name="comboBox"/> 135 <widget class="QComboBox" name="comboBox"> 136 <item> 137 <property name="text"> 138 <string>Shapes</string> 139 </property> 140 </item> 141 <item> 142 <property name="text"> 143 <string>Shape-independent</string> 144 </property> 145 </item> 146 </widget> 136 147 </item> 137 148 <item row="1" column="1"> 138 <widget class="QComboBox" name="comboBox_2"/> 149 <widget class="QComboBox" name="comboBox_2"> 150 <item> 151 <property name="text"> 152 <string>Binary HS Model</string> 153 </property> 154 </item> 155 <item> 156 <property name="text"> 157 <string>None</string> 158 </property> 159 </item> 160 </widget> 139 161 </item> 140 162 <item row="1" column="2">
Note: See TracChangeset
for help on using the changeset viewer.