Changeset 3e1c9e5 in sasview for src/sas


Ignore:
Timestamp:
Oct 10, 2016 5:52:25 PM (8 years ago)
Author:
smk78
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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
d472e86, 49e000b
Parents:
f2261c2
Message:

Disinfected menu_bar.rst, fitting_help.rst and plugin.rst of 'custom
model' in favour of 'plugin model' and re-wrote sections of the
documentation to match it to the functionality of the program with
particular emphasis on creating/testing plugin models.

Location:
src/sas/sasgui/perspectives/fitting/media
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/media/fitting_help.rst

    rafb93df r3e1c9e5  
    1818======= 
    1919 
     20.. note:: If some code blocks are not readable, expand the documentation window 
     21 
    2022.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    2123 
     
    116118--------------- 
    117119 
    118 For a complete list of all the library models available in SasView, see the Model Documentation. 
     120For a complete list of all the library models available in SasView, see the `Model Documentation <../../../index.html>`_ . 
    119121 
    120122It is also possible to add your own models. 
     
    124126.. _Adding_your_own_models: 
    125127 
    126 Adding your own models 
     128Adding your own Models 
    127129---------------------- 
    128130 
    129 There are currently two ways to add your own models to SasView: 
    130  
    131 * Using the :ref:`Custom_Model_Editor` 
    132 * By :ref:`Writing_a_Plugin` 
    133  
    134 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    135  
    136 .. _Custom_Model_Editor: 
    137  
    138 Custom Model Editor 
    139 ------------------- 
    140  
    141 From the *Fitting* option in the menu bar, select *Edit Custom Model*. 
     131There are essentially three ways to generate new fitting models for SasView: 
     132 
     133* Using the SasView :ref:`New_Plugin_Model` helper dialog (best for beginners and/or relatively simple models) 
     134* By copying/editing an existing model (this can include models generated by the *New Plugin Model* dialog) in the :ref:`Python_shell` or :ref:`Advanced_Plugin_Editor` (suitable for all use cases) 
     135* By writing a model from scratch outside of SasView (only recommended for code monkeys!) 
     136 
     137Please read the guidance on :ref:`Writing_a_Plugin` before proceeding. 
     138 
     139**To be found by SasView your model must reside in the *~\\.sasview\\plugin_models* folder.** 
     140 
     141.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
     142 
     143.. _Plugin_Model_Operations: 
     144 
     145Plugin Model Operations 
     146----------------------- 
     147 
     148From the *Fitting* option in the menu bar, select *Plugin Model Operations* 
    142149 
    143150.. image:: edit_model_menu.png 
    144151 
    145 and then one of the options 
    146  
    147 *  *New* - to create a custom model template with a help dialog 
    148 *  *Sum|Multi(p1,p2)* - to create a custom model by summing/multiplying *existing models* in the model library 
    149 *  *Advanced* - to create/edit a custom model in a Python shell 
    150 *  *Delete* - to delete a custom model 
    151 *  *Load* - to (re-)load custom models 
    152  
    153 New 
    154 ^^^^ 
     152and then one of the sub-options 
     153 
     154*  *New Plugin Model* - to create a plugin model template with a helper dialog 
     155*  *Sum|Multi(p1,p2)* - to create a plugin model by summing/multiplying *existing models* in the model library 
     156*  *Advanced Plugin Editor* - to create/edit a plugin model in a Python shell 
     157*  *Delete Plugin Models* - to delete a plugin model 
     158*  *Load Plugin Models* - to (re-)load plugin models 
     159 
     160.. _New_Plugin_Model: 
     161 
     162New Plugin Model 
     163^^^^^^^^^^^^^^^^ 
    155164 
    156165.. image:: new_model.bmp 
    157166 
    158167A model template generated by this option can be viewed and further modified using 
    159 the :ref:`Advanced` option. 
     168the :ref:`Advanced_Plugin_Editor` . 
    160169 
    161170*NB: "Fit Parameters" has been split into two sections, those which can be 
     
    168177.. image:: sum_model.bmp 
    169178 
    170 This option creates a custom model of the form 
    171  
    172 Custom Model = scale_factor \* (model1 +/\* model2) 
    173  
    174 In the *Easy Sum/Multi Editor* give the new custom model a function name and brief 
    175 description (to appear under the *Details* button on the *Fit Page*). Then select 
     179This option creates a custom model of the form:: 
     180 
     181     Custom Model = scale_factor \* {(scale_1 \* model_1) \+ (scale_2 \* model_2)} \+ background 
     182 
     183or:: 
     184 
     185     Custom Model = scale_factor \* model_1 \* model_2 \+ background 
     186 
     187In the *Easy Sum/Multi Editor* give the new model a function name and brief 
     188description (to appear under the *Details* button on the *FitPage*). Then select 
    176189two existing models, as p1 and p2, and the required operator, '+' or '*' between 
    177190them. Finally, click the *Apply* button to generate the model and then click *Close*. 
    178191 
    179 *NB: Any changes to a custom model generated in this way only become effective after* 
    180 *it is re-selected from the model drop-down menu on the Fit Page.* 
    181  
    182 .. _Advanced: 
    183  
    184 Advanced 
    185 ^^^^^^^^ 
    186  
    187 Selecting this option shows all the custom models in the plugin model folder, on Windows this is 
     192Any 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. 
     193 
     194.. _Advanced_Plugin_Editor: 
     195 
     196Advanced Plugin Editor 
     197^^^^^^^^^^^^^^^^^^^^^^ 
     198 
     199Selecting this option shows all the plugin models in the plugin model folder, on Windows this is 
    188200 
    189201  *C:\\Users\\{username}\\.sasview\\plugin_models* 
    190202 
    191203You can edit, modify, and save the Python code in any of these models using the 
    192 *Advanced Custom Model Editor*. Note that this is actually the same tool as the :ref:`Python_shell` . 
     204*Advanced Plugin Model Editor*. Note that this is actually the same tool as the :ref:`Python_shell` . 
    193205 
    194206For details of the SasView plugin model format see :ref:`Writing_a_Plugin` . 
     
    196208.. 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! 
    197209 
    198 When editing is complete, select *Run* > *Check Model* from the *Advanced Custom 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'. 
    199  
    200 To use the model, go to the relevant *Fit Page*, select the *Customized Models* 
     210When 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'. 
     211 
     212.. image:: ../calculator/new_pycrust_example_2.png 
     213 
     214To use the model, go to the relevant *Fit Page*, select the *Plugin Models* 
    201215category and then select the model from the drop-down menu. 
    202216 
    203 Any changes to a custom model generated in this way only become effective *after* it is re-selected from the model drop-down menu on the FitPage. 
    204  
    205 Delete 
    206 ^^^^^^ 
    207  
    208 Simply highlight the custom model to be removed. This operation is final! 
    209  
    210 *NB: Custom models shipped with SasView cannot be removed in this way.* 
    211  
    212 Load 
    213 ^^^^ 
    214  
    215 This option loads (or re-loads) all models present in the plugin model folder. 
     217Any 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. 
     218 
     219Delete Plugin Models 
     220^^^^^^^^^^^^^^^^^^^^ 
     221 
     222Simply highlight the plugin model to be removed. The operation is final!!! 
     223 
     224*NB: Plugin models shipped with SasView cannot be removed in this way.* 
     225 
     226Load Plugin Models 
     227^^^^^^^^^^^^^^^^^^ 
     228 
     229This option loads (or re-loads) all models present in the *~\\.sasview\\plugin_models* folder. 
    216230 
    217231.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
     
    601615.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    602616 
    603 .. note::  This help document was last changed by Steve King, 04Jun2015 
     617.. note::  This help document was last changed by Steve King, 10Oct2016 
  • src/sas/sasgui/perspectives/fitting/media/plugin.rst

    r7e6bdf9 r3e1c9e5  
    99^^^^^^^^^^^^ 
    1010 
    11 There are currently two ways to add your own models to SasView: 
    12  
    13 * Using the :ref:`Custom_Model_Editor` 
    14 * By Writing a Plugin Model 
    15  
    16 The Custom Model Editor lets you combine *existing* SasView library models. For anything more  
    17 complex, or if you want to apply polydispersity to parameters, you will need to write a Plugin Model.   
     11There are essentially three ways to generate new fitting models for SasView: 
     12 
     13* Using the SasView :ref:`New_Plugin_Model` helper dialog (best for beginners and/or relatively simple models) 
     14* By copying/editing an existing model (this can include models generated by the *New Plugin Model* dialog) in the :ref:`Python_shell` or :ref:`Advanced_Plugin_Editor` as described below (suitable for all use cases) 
     15* By writing a model from scratch outside of SasView (only recommended for code monkeys!) 
    1816 
    1917Overview 
     
    2220If you write your own model and save it to the the SasView *plugin_models* folder 
    2321 
    24   *C:\\Users\\[username]\\.sasview\\plugin_models* (on Windows) 
     22  *C:\\Users\\{username}\\.sasview\\plugin_models* (on Windows) 
    2523 
    2624the next time SasView is started it will compile the plugin and add 
    27 it to the list of *Customized Models* in a FitPage. 
    28  
    29 SasView has three ways of writing models: 
    30  
    31 - As a pure python model : Example - 
     25it to the list of *Plugin Models* in a FitPage. 
     26 
     27SasView models can be of three types: 
     28 
     29- A pure python model : Example - 
    3230  `broadpeak.py <https://github.com/SasView/sasmodels/blob/master/sasmodels/models/broad_peak.py>`_ 
    33 - As a python model with embedded C : Example - 
     31- A python model with embedded C : Example - 
    3432  `sphere.py <https://github.com/SasView/sasmodels/blob/master/sasmodels/models/sphere.py>`_ 
    35 - As a python wrapper with separate C code : Example - 
     33- A python wrapper with separate C code : Example - 
    3634  `cylinder.py <https://github.com/SasView/sasmodels/blob/master/sasmodels/models/cylinder.py>`_, 
    3735  `cylinder.c <https://github.com/SasView/sasmodels/blob/master/sasmodels/models/cylinder.c>`_ 
     
    671669^^^^^^^^^^^^^^^^^^^ 
    672670 
    673 Installed SasView 
    674 ................. 
    675  
    676 If you are editing your model from the SasView GUI, you can test it 
    677 by selecting *Run > Check Model* from the *Model Editor* menu bar. An 
    678 *Info* box will appear with the results of the compilation and a 
    679 check that the model runs. 
    680  
    681  
    682 Built SasView 
    683 ............. 
     671Minimal Testing 
     672............... 
     673 
     674Either open the :ref:`Python_shell` (*Tools* > *Python Shell/Editor*) or the :ref:`Advanced_Plugin_Editor` (*Fitting* > *Plugin Model Operations* > *Advanced  
     675Plugin Editor*), load your model, and then select *Run > Check Model* from the  
     676menu bar. 
     677 
     678An *Info* box will appear with the results of the compilation and a check that  
     679the model runs. 
     680 
     681Recommended Testing 
     682................... 
    684683 
    685684If the model compiles and runs, you can next run the unit tests that 
     
    802801consider adding your model to the 
    803802`Model Marketplace <http://marketplace.sasview.org/>`_ so that others may use it! 
     803 
     804.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
     805 
     806.. note::  This help document was last changed by Steve King, 10Oct2016 
Note: See TracChangeset for help on using the changeset viewer.