Changeset b12404e in sasview for src/sas/qtgui
- Timestamp:
- May 16, 2018 5:41:14 AM (7 years ago)
- Branches:
- ESS_GUI, 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
- Children:
- 2e27cdb6
- Parents:
- d3b57a0 (diff), 2f539b2 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- src/sas/qtgui
- Files:
-
- 6 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Calculators/media/gen_gui_help.png
- Property mode changed from 100755 to 100644
-
src/sas/qtgui/Calculators/media/sas_calculator_help.rst
r417c03f r2f539b2 24 24 25 25 Assuming that all the pixel sizes are the same, the elastic scattering 26 intensity from the particle is 26 intensity from the particle is defined as 27 27 28 28 .. image:: gen_i.png … … 33 33 the position of the $j^\text{th}$ pixel respectively. 34 34 35 The total volume $V$ 35 The total volume $V$ is equal to 36 36 37 37 .. math:: … … 43 43 density * Avogadro number) for the atomic structures). 44 44 45 $V$ can be corrected by users. This correction is useful especially for an 46 atomic structure (such as taken from a PDB file) to get the right normalization. 47 48 *NOTE! $\beta_j$ displayed in the GUI may be incorrect but this will not 49 affect the scattering computation if the correction of the total volume V is made.* 45 $V$ can be corrected by users (input parameter `Total volume`). This correction 46 is useful especially for an atomic structure (such as taken from a PDB file) 47 to get the right normalization. 48 49 *NOTE! $\beta_j$ displayed in the GUI may be incorrect (input parameter 50 `solvent_SLD`) but this will not affect the scattering computation if the 51 correction of the total volume V is made.* 50 52 51 53 The scattering length density (SLD) of each pixel, where the SLD is uniform, is … … 99 101 .. image:: mxp.png 100 102 103 104 101 105 .. image:: myp.png 102 106 107 108 103 109 .. image:: mzp.png 104 110 111 112 105 113 .. image:: mqx.png 106 114 115 116 107 117 .. image:: mqy.png 108 118 109 Here the $M 0_x$, $M0_y$ and $M0_z$ are the $x$, $y$ and $z$119 Here the $M_{0x}$, $M_{0y}$ and $M_{0z}$ are the $x$, $y$ and $z$ 110 120 components of the magnetisation vector in the laboratory $xyz$ frame. 121 122 123 .. .. image:: Mxyzp.png 124 111 125 112 126 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 115 129 -------------- 116 130 117 .. image:: gen_gui_help.png 118 119 After computation the result will appear in the *Theory* box in the SasView 131 .. figure:: gen_gui_help.png 132 133 .. 134 135 1) Load .sld, .txt, or .omf datafile 136 2) Select default shape of sample 137 3) Draw magnetization with arrows (not recommended for a large number of 138 pixels). 139 4) Ratio of (+/total) neutrons after analyser 140 5) Ratio of (+/total) neutrons before sample 141 6) Polarization angle in degrees 142 7) Default volume calculated from the pixel info 143 (or natural density of pdf file) 144 8) Compute the scattering pattern 145 9) Reset GUI to initial state 146 10) Display mean values or enter a new value if enabled 147 11) Save the sld data as sld format 148 149 .. After computation the result will appear in the *Theory* box in the SasView 120 150 *Data Explorer* panel. 121 151 … … 126 156 of neutrons before the sample and at the analyzer, respectively. 127 157 128 *NOTE 1. The values of * Up_frac_in *and* Up_frac_out *must be in the range158 *NOTE 1. The values of Up_frac_in and Up_frac_out must be in the range 129 159 0.0 to 1.0. Both values are 0.5 for unpolarized neutrons.* 130 160 … … 133 163 134 164 *NOTE 3. For the nuclear scattering length density, only the real component 135 is taken account.*165 is taken into account.* 136 166 137 167 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 151 181 152 182 where $v_j \beta_j \equiv b_j$ is the scattering 153 length of the $j^\text{th}$ atom. The calculation output is passed to the *Data Explorer* 183 length of the $j^\text{th}$ atom. 184 .. The calculation output is passed to the *Data Explorer* 154 185 for further use. 155 186 156 .. image:: pdb_combo.jpg 187 .. figure:: pdb_combo.png 188 189 .. 190 191 1) PDB file loaded 192 2) disabled input for *Up_frac_in*, *Up_frac_oupt*, *Up_theta* 193 3) option to perform the calculations using "Fixed orientations" (2D output) 194 or "Averaging over all orientations using Debye equation" (1D output). 195 This choice is only available for PDB files. 196 197 157 198 158 199 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -
src/sas/qtgui/Calculators/DensityPanel.py
raed0532 rd813cf9a 16 16 17 17 from sas.qtgui.Utilities.GuiUtils import enum 18 from sas.qtgui.Utilities.GuiUtils import formatNumber 18 19 19 20 MODEL = enum( … … 98 99 if index == MODEL.MOLECULAR_FORMULA: 99 100 molarMass = toMolarMass(self.model.item(MODEL.MOLECULAR_FORMULA).text()) 101 molarMass = formatNumber(molarMass, high=True) 100 102 self.model.item(MODEL.MOLAR_MASS).setText(molarMass) 101 103 … … 120 122 121 123 molarDensity = molarMass / molarVolume 124 molarDensity = formatNumber(molarDensity, high=True) 122 125 self.model.item(MODEL.MASS_DENSITY).setText(str(molarDensity)) 123 126 … … 131 134 132 135 molarVolume = molarMass / molarDensity 136 molarVolume = formatNumber(molarVolume, high=True) 133 137 self.model.item(MODEL.MOLAR_VOLUME).setText(str(molarVolume)) 134 138 -
src/sas/qtgui/Calculators/UnitTesting/DensityCalculatorTest.py
re90988c rbc3debf8 78 78 79 79 # Assure the mass density field is set 80 self.assertEqual(self.widget.ui.editMassDensity.text(), '18.015 3')80 self.assertEqual(self.widget.ui.editMassDensity.text(), '18.015') 81 81 82 82 # Change mass density … … 88 88 89 89 # Assure the molar volume field got updated 90 self.assertEqual(self.widget.ui.editMolarVolume.text(), '1.12 595625')90 self.assertEqual(self.widget.ui.editMolarVolume.text(), '1.126') 91 91 92 92 def testComplexEntryAndReset(self): … … 113 113 114 114 self.assertEqual(self.widget.ui.editMolecularFormula.text(), "H2O") 115 self.assertEqual(self.widget.ui.editMolarMass.text(), "18.015 3")115 self.assertEqual(self.widget.ui.editMolarMass.text(), "18.015") 116 116 self.assertEqual(self.widget.ui.editMolarVolume.text(), "") 117 117 self.assertEqual(self.widget.ui.editMassDensity.text(), "") -
src/sas/qtgui/Calculators/media/data_oper_pic.png
- Property mode changed from 100755 to 100644
-
src/sas/qtgui/Calculators/media/density_calculator_help.rst
r417c03f r5a731c63 27 27 then type in an input value. 28 28 29 4) Click the 'Calculate' buttonto perform the calculation.29 4) Press Tab button or click out to perform the calculation. 30 30 31 31 .. image:: density_tutor.png -
src/sas/qtgui/Calculators/media/density_tutor.png
- Property mode changed from 100755 to 100644
-
src/sas/qtgui/MainWindow/GuiManager.py
rfa05c6c1 rc889a3e 65 65 # Add signal callbacks 66 66 self.addCallbacks() 67 68 # Assure model categories are available 69 self.addCategories() 67 70 68 71 # Create the data manager … … 142 145 self.ResolutionCalculator = ResolutionCalculatorPanel(self) 143 146 self.DataOperation = DataOperationUtilityPanel(self) 147 148 def addCategories(self): 149 """ 150 Make sure categories.json exists and if not compile it and install in ~/.sasview 151 """ 152 try: 153 from sas.sascalc.fit.models import ModelManager 154 from sas.qtgui.Utilities.CategoryInstaller import CategoryInstaller 155 model_list = ModelManager().cat_model_list() 156 CategoryInstaller.check_install(model_list=model_list) 157 except Exception: 158 logger.error("%s: could not load SasView models") 159 logger.error(traceback.format_exc()) 144 160 145 161 def statusBarSetup(self): -
src/sas/qtgui/Perspectives/Fitting/media/fitting_help.rst
r417c03f rb31b7e2 52 52 53 53 Use the *Category* drop-down menu to chose a category of model, then select 54 a model from the drop-down menu beneath. A graph of the chosen model, calculated 55 using default parameter values, will appear. The graph will update dynamically 56 as the parameter values are changed. 54 a model from the drop-down menu to the right. The "Show Plot" button on the 55 bottom of the dialog will become active. If you click on it, 56 a graph of the chosen model, calculated using default parameter values, will appear. 57 The graph will update dynamically as the parameter values are changed. 57 58 58 59 You can decide your own model categorizations using the :ref:`Category_Manager`. 59 60 60 Once you have selected a model you can read its help documentation by clicking 61 on the *Description* button to the right. 61 Once you have selected a model you can read its help documentation by right clicking 62 on the empty space in the parameter table. 63 64 .. image:: descr_fig.png 62 65 63 66 Show 1D/2D … … 69 72 *NB: Magnetic scattering can only be fitted in SasView in 2D.* 70 73 71 To activate 2D fitting mode, click the *Show 2D* buttonon the *Fit Page*. To72 return to 1D fitting model, click the same button (which will now say *Show 1D*).74 To activate 2D fitting mode, select the *2D view* checkbox on the *Fit Page*. To 75 return to 1D fitting model, de-select the same checkbox. 73 76 74 77 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 136 139 * By copying/editing an existing model (this can include models generated by 137 140 the New Plugin Model* dialog) in the :ref:`Python_shell` or 138 :ref:` Advanced_Plugin_Editor` (suitable for all use cases)141 :ref:`Plugin_Editor` (suitable for all use cases) 139 142 * By writing a model from scratch outside of SasView (only recommended for code 140 143 monkeys!) … … 151 154 ----------------------- 152 155 153 From the *Fitting* option in the menu bar, select *Plugin Model Operations*156 From the *Fitting* option in the menu bar, select one of the options: 154 157 155 158 .. image:: edit_model_menu.png 156 159 157 and then one of the sub-options 158 159 * *New Plugin Model* - to create a plugin model template with a helper dialog 160 * *Sum|Multi(p1,p2)* - to create a plugin model by summing/multiplying *existing models* in the model library 161 * *Advanced Plugin Editor* - to create/edit a plugin model in a Python shell 162 * *Delete Plugin Models* - to delete a plugin model 163 * *Load Plugin Models* - to (re-)load plugin models 160 * *Add Custom Model* - to create a plugin model template with a helper dialog 161 * *Edit Custom Model* - to edit a plugin model in an editor window 162 * *Manage Custom Models* - to open a custom model manager allowing for a number of actions to be taken on custom models: listing, adding, deleteing, duplicating, editing 163 * *Add/Multiply Models* - to create a plugin model by summing/multiplying *existing models* in the model library 164 164 165 165 .. _New_Plugin_Model: 166 166 167 New PluginModel167 Add Custom Model 168 168 ^^^^^^^^^^^^^^^^ 169 169 170 170 Relatively straightforward models can be programmed directly from the SasView 171 GUI using the * New Plugin Model Function*.171 GUI using the *Plugin Definition* Function. 172 172 173 173 .. image:: new_model.png … … 185 185 186 186 A model file generated by this option can be viewed and further modified using 187 the :ref:` Advanced_Plugin_Editor`.187 the :ref:`Model_Editor`. 188 188 189 189 **SasView version 4.2** made it possible to specify whether a plugin created with … … 217 217 a P(Q) model has been selected). 218 218 219 Sum|Multi(p1,p2) 220 ^^^^^^^^^^^^^^^^ 219 220 .. Model_Editor: 221 222 Model Editor 223 ^^^^^^^^^^^^ 224 225 Selecting "Edit Custom Model" option opens the editor window. 226 227 .. image :: model_editor_empty.png 228 229 Initially, the editor is empty. A custom model can be loaded by clicking on the *Load plugin...* button and choosing one of the existing custom plugins. 230 231 Once the model is loaded, it can be edited and saved with *Save* button. 232 Saving the model will perform the validation and only when the model is correct it will be saved to a file. 233 Successful model check is indicated by a SasView status bar message. 234 235 When *Cancel* is clicked, any changes to the model are discarded and the window is closed. 236 237 238 For details of the SasView plugin model format see :ref:`Writing_a_Plugin` . 239 240 To use the model, go to the relevant *Fit Page*, select the *Plugin Models* 241 category and then select the model from the drop-down menu. 242 243 244 .. Plugin_Manager: 245 246 Plugin Manager 247 ^^^^^^^^^^^^^^ 248 249 Selecting the *Manage Custom Models* option shows a list of all the plugin models in the plugin model folder, on Windows this is 250 251 *C:\\Users\\{username}\\.sasview\\plugin_models* 252 253 You can add, edit, duplicate and delete these models using buttons on the right side of the list. 254 255 .. image:: plugin_manager.png 256 257 258 Add a model 259 ^^^^^^^^^^^ 260 261 Clicking the "Add" button opens the Model Editor window, allowing you to create a new plugin as described above. 262 263 Duplicate a model 264 ^^^^^^^^^^^^^^^^^ 265 266 Clicking the "Duplicate" button will create a copy of the selected model(s). Naming of the duplicate follows the standard, with added * (n)* to the plugin model name, with *n* being the first unused yet integer. 267 268 Edit a model 269 ^^^^^^^^^^^^ 270 271 When a single model is selected, clicking this button will open the Advanced *Model Editor* allowing you to edit the 272 Python code of the model. 273 If no models or multiple models are selected, the *Edit* button is disabled. 274 275 Delete Plugin Models 276 ^^^^^^^^^^^^^^^^^^^^ 277 278 Simply highlight the plugin model(s) to be removed and click on the "Delete" button. The operation is final. 279 280 *NB: Models shipped with SasView cannot be removed in this way.* 281 282 283 Add/Multiply Models 284 ^^^^^^^^^^^^^^^^^^^ 221 285 222 286 .. image:: sum_model.png … … 230 294 Plugin Model = scale_factor * (model1 * model2) + background 231 295 232 In the * Easy Sum/Multi Editor* give the new model a function name and brief296 In the *Add/Multiply Models* give the new model a function name and brief 233 297 description (to appear under the *Details* button on the *FitPage*). Then select 234 two existing models, as p1 and p2, and the required operator, '+' or '*' between298 two existing models, as model_1 and model_2, and the required operator, '+' or '*' between 235 299 them. Finally, click the *Apply* button to generate and test the model and then click *Close*. 236 300 237 Any changes to a plugin model generated in this way only become effective *after* it is re-selected238 from the plugin models drop-down menu on the FitPage. If the model is not listed you can force a239 recompilation of the plugins by selecting *Fitting* > *Plugin Model Operations* > *Load Plugin Models*.240 301 241 302 **SasView version 4.2** introduced a much simplified and more extensible structure for plugin models 242 generated through the Easy Sum/Multi Editor. For example, the code for a combination of a sphere model303 generated through the Add/Multiply Models editor. For example, the code for a combination of a sphere model 243 304 with a power law model now looks like this:: 244 305 … … 275 336 that was not possible in earlier versions of SasView. 276 337 277 .. _Advanced_Plugin_Editor: 278 279 Advanced Plugin Editor 280 ^^^^^^^^^^^^^^^^^^^^^^ 281 282 Selecting this option shows all the plugin models in the plugin model folder, on Windows this is 283 284 *C:\\Users\\{username}\\.sasview\\plugin_models* 285 286 You can edit, modify, and save the Python code in any of these models using the 287 *Advanced Plugin Model Editor*. Note that this is actually the same tool as the :ref:`Python_shell` . 288 289 For details of the SasView plugin model format see :ref:`Writing_a_Plugin` . 290 291 .. note:: Model files generated with the Sum/Multi option are still using the SasView 3.x model format. Unless you are confident about what you are doing, it is recommended that you only modify lines denoted with the ## <----- comments! 292 293 When editing is complete, select *Run* > *Check Model* from the *Advanced Plugin Model Editor* menu bar. An *Info* box will appear with the results of the compilation and model unit tests. The model will only be usable if the tests 'pass'. 294 295 .. image:: ../calculator/new_pycrust_example_2.png 296 297 To use the model, go to the relevant *Fit Page*, select the *Plugin Models* 298 category and then select the model from the drop-down menu. 299 300 Any changes to a plugin model generated in this way only become effective *after* it is re-selected from the model drop-down menu on the FitPage. 301 302 Delete Plugin Models 303 ^^^^^^^^^^^^^^^^^^^^ 304 305 Simply highlight the plugin model to be removed. The operation is final!!! 306 307 *NB: Models shipped with SasView cannot be removed in this way.* 308 309 Load Plugin Models 310 ^^^^^^^^^^^^^^^^^^ 311 312 This option loads (or re-loads) all models present in the 313 *~\\.sasview\\plugin_models* folder. 338 314 339 315 340 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 317 342 .. _Fitting_Options: 318 343 319 Fit ting Options344 Fit Algorithms 320 345 --------------- 321 346 … … 323 348 to modify some of the configurational parameters for each optimiser. 324 349 325 From *Fitting* in the menu bar select *Fit Options*, then select one of the following350 From *Fitting* in the menu bar select *Fit Algorithms*, then select one of the following 326 351 optimisers: 327 352 … … 332 357 * Nelder-Mead Simplex 333 358 359 .. image:: fit_algorithms.png 360 334 361 The DREAM optimiser is the most sophisticated, but may not necessarily be the best 335 362 option for fitting simple models. If uncertain, try the Levenberg-Marquardt optimiser … … 348 375 sub-region of the data for fitting. 349 376 350 In a *FitPage* or *BatchPage* change the *Q* values in the *Min* and/or *Max* 351 text boxes. Vertical coloured bars will appear on the graph with the data and 352 'theory' indicating the current *Q* limits (red = *Qmin*, purple = *Qmax*). 377 In a *FitPage* or *BatchPage* change the tab to *Fit Options* and then change 378 the *Q* values in the *Min* and/or *Max* 379 text boxes. 380 381 .. 382 Vertical coloured bars will appear on the graph with the data and 383 'theory' indicating the current *Q* limits (red = *Qmin*, purple = *Qmax*). 353 384 354 385 To return to including all data in the fit, click the *Reset* button. … … 356 387 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 357 388 358 359 Shortcuts 360 --------- 361 362 Copy/Paste Parameters 363 ^^^^^^^^^^^^^^^^^^^^^ 364 365 It is possible to copy the parameters from one *Fit Page* and to paste them into 366 another *Fit Page* using the same model. 367 368 To *copy* parameters, either: 369 370 * Select *Edit -> Copy Params* from the menu bar, or 371 * Use Ctrl(Cmd on Mac) + Left Mouse Click on the *Fit Page*. 372 373 To *paste* parameters, either: 374 375 * Select *Edit -> Paste Params* from the menu bar, or 376 * Use Ctrl(Cmd on Mac) + Shift + Left-click on the *Fit Page*. 377 378 If either operation is successful a message will appear in the info line at the 379 bottom of the SasView window. 380 381 Bookmark 382 ^^^^^^^^ 383 384 To *Bookmark* a *Fit Page* either: 385 386 * Select a *Fit Page* and then click on *Bookmark* in the tool bar, or 387 * Right-click and select the *Bookmark* in the popup menu. 389 .. 390 391 Shortcuts 392 --------- 393 394 Copy/Paste Parameters 395 ^^^^^^^^^^^^^^^^^^^^^ 396 397 It is possible to copy the parameters from one *Fit Page* and to paste them into 398 another *Fit Page* using the same model. 399 400 To *copy* parameters, either: 401 402 * Select *Edit -> Copy Params* from the menu bar, or 403 * Use Ctrl(Cmd on Mac) + Left Mouse Click on the *Fit Page*. 404 405 To *paste* parameters, either: 406 407 * Select *Edit -> Paste Params* from the menu bar, or 408 * Use Ctrl(Cmd on Mac) + Shift + Left-click on the *Fit Page*. 409 410 If either operation is successful a message will appear in the info line at the 411 bottom of the SasView window. 412 413 Bookmark 414 ^^^^^^^^ 415 416 To *Bookmark* a *Fit Page* either: 417 418 * Select a *Fit Page* and then click on *Bookmark* in the tool bar, or 419 * Right-click and select the *Bookmark* in the popup menu. 388 420 389 421 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 391 423 .. _Status_bar: 392 424 393 Status Bar & Console394 -------------------- 425 Status Bar & Log Explorer 426 ------------------------- 395 427 396 428 The status bar is located at the bottom of the SasView window and displays 397 messages, hints,warnings and errors.398 399 At the right-hand side of the status bar is a button marked *Console*. The *Console* 400 displays available message history and some run-time traceback information. 401 402 During a long task the *Console* can also be used to monitor the progress.429 messages, warnings and errors. 430 431 .. image:: log_explorer.png 432 433 The bottom part of the SasView application window contains the *Log Explorer*. 434 The *Log Explorer* displays available message history and run-time traceback information. 403 435 404 436 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 409 441 --------------- 410 442 411 *NB: Before proceeding, ensure that the Single Mode radio buttonat the bottom of*412 *the Data Explorer is checked (see the section* :ref:`Loading_data` *).*443 *NB: Before proceeding, ensure that the Batch mode checkbox at the bottom of* 444 *the Data Explorer is unchecked (see the section* :ref:`Loading_data` *).* 413 445 414 446 This mode fits one data set. 415 447 416 When data is sent to the fitting it is plotted in a graph window as markers. 448 .. When data is sent to the fitting it is plotted in a graph window as markers. 449 When data is sent to the fitting, the Fit Page will show the dataset name. 450 451 .. image:: dataset_name.png 452 453 Clicking on the *Show Plot* will cause the data can be plotted in a graph window as markers. 417 454 418 455 If a graph does not appear, or a graph window appears but is empty, then the data … … 420 457 or in the *Console* window. 421 458 422 Assuming the data has loaded correctly, when a model is selected a greenmodel459 Assuming the data has loaded correctly, when a model is selected a blue model 423 460 calculation (or what SasView calls a 'Theory') line will appear in the earlier graph 424 461 window, and a second graph window will appear displaying the residuals (the … … 440 477 *'correlated').* 441 478 442 In the bottom left corner of the *Fit Page* is a box displaying the normalised value479 In the bottom right corner of the *Fit Page* is a box displaying the normalised value 443 480 of the statistical $\chi^2$ parameter returned by the optimiser. 444 481 -
src/sas/qtgui/Utilities/CategoryInstaller.py
rcee5c78 rc889a3e 174 174 model_enabled_dict) 175 175 176 json.dump(master_category_dict, open(serialized_file, 'wb'))176 json.dump(master_category_dict, open(serialized_file, "w", encoding="utf8")) 177 177 -
src/sas/qtgui/Utilities/TabbedModelEditor.py
raed0532 rf9214aa 241 241 # Run the model test in sasmodels 242 242 try: 243 model_results = self.checkModel(full_path)243 model_results = GuiUtils.checkModel(full_path) 244 244 logging.info(model_results) 245 245 except Exception as ex:
Note: See TracChangeset
for help on using the changeset viewer.