Changeset 8ae8532 in sasmodels
- Timestamp:
- May 7, 2017 4:24:16 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- 990d8df
- Parents:
- 630156b
- Files:
-
- 2 added
- 3 deleted
- 7 edited
- 10 moved
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r2a55a6f r8ae8532 11 11 /doc/api/ 12 12 /doc/model/ 13 /doc/ ref/models13 /doc/guide/models 14 14 .mplconfig 15 15 /pylint_violations.txt -
doc/conf.py
r39674a0 r8ae8532 42 42 ] 43 43 44 # Redirect mathjax to a different CDN 45 mathjax_path = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML" 46 44 47 # Add any paths that contain templates here, relative to this directory. 45 48 templates_path = ['_templates'] -
doc/genapi.py
ra5b8477 r8ae8532 2 2 import os.path 3 3 4 MODULE_TEMPLATE =""".. Autogenerated by genmods.py4 MODULE_TEMPLATE = """.. Autogenerated by genmods.py 5 5 6 6 ****************************************************************************** … … 19 19 """ 20 20 21 INDEX_TEMPLATE =""".. Autogenerated by genmods.py21 INDEX_TEMPLATE = """.. Autogenerated by genmods.py 22 22 23 23 .. _api-index: … … 46 46 os.makedirs(dir) 47 47 48 for module, name in modules:49 with open(os.path.join(dir, module+'.rst'), 'w') as f:48 for module, name in modules: 49 with open(os.path.join(dir, module+'.rst'), 'w') as f: 50 50 f.write(MODULE_TEMPLATE%locals()) 51 51 52 rsts = "\n ".join(module+'.rst' for module, name in modules)53 with open(os.path.join(dir, 'index.rst'),'w') as f:52 rsts = "\n ".join(module+'.rst' for module, name in modules) 53 with open(os.path.join(dir, 'index.rst'), 'w') as f: 54 54 f.write(INDEX_TEMPLATE%locals()) 55 55 56 56 57 modules =[58 #('__init__', 'Top level namespace'),57 modules = [ 58 ('__init__', 'Top level namespace'), 59 59 #('alignment', 'GPU data alignment [unused]'), 60 60 ('bumps_model', 'Bumps interface'), 61 ('compare_many', 'Batch compare models on different compute engines'), 61 62 ('compare', 'Compare models on different compute engines'), 62 63 ('convert', 'Sasview to sasmodel converter'), … … 66 67 ('direct_model', 'Simple interface'), 67 68 ('exception', 'Annotate exceptions'), 68 #('frozendict', 'Freeze a dictionary to make it immutable'),69 69 ('generate', 'Model parser'), 70 70 ('kernel', 'Evaluator type definitions'), … … 79 79 ('resolution', '1-D resolution functions'), 80 80 ('resolution2d', '2-D resolution functions'), 81 ('rst2html', 'Convert doc strings the web pages'), 81 82 ('sasview_model', 'Sasview interface'), 82 83 ('sesans', 'SESANS calculation routines'), 83 #('transition', 'Model stepper for automatic model selection'),84 84 ('weights', 'Distribution functions'), 85 85 ] 86 package ='sasmodels'87 package_name ='Reference'86 package = 'sasmodels' 87 package_name = 'Reference' 88 88 genfiles(package, package_name, modules) -
doc/gentoc.py
r40a87fa r8ae8532 16 16 from sasmodels.modelinfo import ModelInfo 17 17 18 TEMPLATE ="""\18 TEMPLATE = """\ 19 19 .. 20 20 Generated from doc/gentoc.py -- DO NOT EDIT -- … … 30 30 """ 31 31 32 MODEL_TOC_PATH = " ref/models"32 MODEL_TOC_PATH = "guide/models" 33 33 34 34 def _make_category(category_name, label, title, parent=None): … … 65 65 # assume model is in sasmodels/models/name.py, and ignore the full path 66 66 model_name = basename(item)[:-3] 67 if model_name.startswith('_'): continue 67 if model_name.startswith('_'): 68 continue 68 69 model_info = load_model_info(model_name) 69 70 if model_info.category is None: 70 71 print("Missing category for", item, file=sys.stderr) 71 72 else: 72 category.setdefault(model_info.category, []).append(model_name)73 category.setdefault(model_info.category, []).append(model_name) 73 74 74 75 # Check category names 75 for k, v in category.items():76 for k, v in category.items(): 76 77 if len(v) == 1: 77 print("Category %s contains only %s"%(k, v[0]), file=sys.stderr)78 print("Category %s contains only %s"%(k, v[0]), file=sys.stderr) 78 79 79 80 # Generate category files for the table of contents. … … 86 87 # alphabetical order before them. 87 88 88 if not exists(MODEL_TOC_PATH): mkdir(MODEL_TOC_PATH) 89 if not exists(MODEL_TOC_PATH): 90 mkdir(MODEL_TOC_PATH) 89 91 model_toc = _make_category( 90 'index', 92 'index', 'Models', 'Model Functions') 91 93 #shape_toc = _make_category( 92 94 # 'shape', 'Shapes', 'Shape Functions', model_toc) 93 95 free_toc = _make_category( 94 'shape-independent', 96 'shape-independent', 'Shape-independent', 95 97 'Shape-Independent Functions') 96 98 struct_toc = _make_category( 97 'structure-factor', 99 'structure-factor', 'Structure-factor', 'Structure Factors') 98 100 custom_toc = _make_category( 99 'custom-models', 101 'custom-models', 'Custom-models', 'Custom Models') 100 102 101 103 # remember to top level categories … … 109 111 110 112 # Process the model lists 111 for k, v in sorted(category.items()):113 for k, v in sorted(category.items()): 112 114 if ':' in k: 113 cat, subcat = k.split(':')115 cat, subcat = k.split(':') 114 116 _maybe_make_category(cat, v, cat_files, model_toc) 115 117 cat_file = cat_files[cat] 116 label = "-".join((cat, subcat))118 label = "-".join((cat, subcat)) 117 119 filename = label 118 title = subcat.capitalize() +" Functions"120 title = subcat.capitalize() + " Functions" 119 121 sub_toc = _make_category(filename, label, title, cat_file) 120 122 for model in sorted(v): … … 130 132 _add_subcategory('shape-independent', model_toc) 131 133 _add_subcategory('structure-factor', model_toc) 132 _add_subcategory('custom-models', model_toc)134 #_add_subcategory('custom-models', model_toc) 133 135 134 136 # Close the top-level category files 135 137 #model_toc.close() 136 for f in cat_files.values(): f.close() 138 for f in cat_files.values(): 139 f.close() 137 140 138 141 -
doc/guide/gpu/gpu_computations.rst
r3f5a566 r8ae8532 4 4 GPU Computations 5 5 **************** 6 SasView modelevaluations can run on your graphics card (GPU) or they can run6 sasmodels evaluations can run on your graphics card (GPU) or they can run 7 7 on the processor (CPU). In general, calculations performed on the GPU will run faster. 8 8 … … 32 32 33 33 SasView prefers AMD or NVIDIA drivers for GPU, and prefers Intel or 34 Apple drivers for CPU. Both GPU and CPU are included on the assumption that CPU 34 Apple drivers for CPU. Both GPU and CPU are included on the assumption that CPU 35 35 is always available and supports double precision. 36 36 … … 63 63 64 64 65 .. note:: 66 This help document was last changed by Steve King, 08Oct2016 65 *Document History* 66 67 | 2016-10-08 Steve King 68 | 2017-05-07 Paul Kienzle -
doc/guide/index.rst
rbb6f0f3 r8ae8532 1 ********** 2 SAS Models 3 ********** 1 **************** 2 SAS Models Guide 3 **************** 4 4 5 Small angle X-ray and Neutron (SAXS and SANS) scattering examines the 6 scattering patterns produced by a beam travelling through the sample 7 and scattering at low angles. The scattering is computed as a function 8 of $q_x$ and $q_y$, which for a given beam wavelength corresponds to 9 particular scattering angles. Each pixel on the detector corresponds to 10 a different scattering angle. If the sample is unoriented, the scattering 11 pattern will appear as rings on the detector. In this case, a circular 12 average can be taken with 1-dimension data at $q = \surd (q_x^2 + q_y^2)$ 13 compared to the orientationally averaged SAS scattering pattern. 5 .. toctree:: 6 :numbered: 4 7 :maxdepth: 4 14 8 15 Models have certain features in common. 16 17 Every model has a *scale* and a *background*. 18 19 Talk about orientation, with diagrams for orientation so that we don't need 20 a link on every model page? 21 22 .. _orientation: 23 24 .. figure: img/orientation1.jpg 25 26 Orientation in 3D 27 28 .. figure: img/orientation2.jpg 29 30 Orientation cross sections 31 32 Talk about polydispersity. 33 34 Talk about magnetism, converting the magnetism help file to inline text here, 35 with links so that models can point back to it. 36 37 Need to talk about structure factors even though we don't have any 38 implemented yet. 9 intro.rst 10 gpu/gpu_computations.rst 11 gpu/opencl_installation.rst 12 magnetism/magnetism.rst 13 sesans/sans_to_sesans.rst 14 sesans/sesans_fitting.rst 15 refs.rst -
doc/guide/sesans/sesans_fitting.rst
r3330bb4 r8ae8532 7 7 =================== 8 8 9 .. note:: A proper installation of the developers setup of SasView (http://trac.sasview.org/wiki/AnacondaSetup) is a prerequisite for using these instructions. 9 .. note:: 10 11 A proper installation of the developers setup of SasView 12 (http://trac.sasview.org/wiki/AnacondaSetup) is a prerequisite for 13 using these instructions. 10 14 11 15 It is possible to fit SESANS measurements from the command line in Python. … … 13 17 Simple Fits 14 18 ........... 15 In the folder sasmodels/example the file sesans_sphere_2micron.py gives an example of how to fit a shape to a measurement. 19 In the folder sasmodels/example the file sesans_sphere_2micron.py gives 20 an example of how to fit a shape to a measurement. 16 21 17 22 The command:: … … 23 28 .. image:: sesans_img/SphereLineFitSasView.png 24 29 25 All the parameters and names in sesans_sphere_2micron.py (shown below) can be adjusted to fit your own problem:: 30 All the parameters and names in sesans_sphere_2micron.py (shown below) can 31 be adjusted to fit your own problem:: 26 32 27 33 """ … … 64 70 # Constraints 65 71 # model.param_name = f(other params) 66 # EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius and scale are model functions and phi is67 # a custom parameter72 # EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius 73 # and scale are model functions and phi is a custom parameter 68 74 model.scale = phi*(1-phi) 69 75 … … 74 80 Incorporating a Structure Factor 75 81 ................................ 76 An example of how to also include a structure factor can be seen in the following example taken from Washington et al., 77 *Soft Matter*\, (2014), 10, 3016 (dx.doi.org/10.1039/C3SM53027B). These are time-of-flight measurements, which is the 78 reason that not the polarisation is plotted, but the :math:`\frac{log(P/P_0)}{\lambda^2}` . The sample is a dispersion 79 of core-shell colloids at a high volume fraction with hard sphere interactions. 82 An example of how to also include a structure factor can be seen in the 83 following example taken from Washington et al., *Soft Matter*\, (2014), 10, 3016 84 (dx.doi.org/10.1039/C3SM53027B). These are time-of-flight measurements, which 85 is the reason that not the polarisation is plotted, but the 86 :math:`\frac{log(P/P_0)}{\lambda^2}` . The sample is a dispersion of 87 core-shell colloids at a high volume fraction with hard sphere interactions. 80 88 81 89 The fit can be started by:: … … 87 95 .. image:: sesans_img/HardSphereLineFitSasView.png 88 96 89 The code sesans_parameters_css-hs.py can then be used as a template for a fitting problem with a structure factor:: 97 The code sesans_parameters_css-hs.py can then be used as a template for a 98 fitting problem with a structure factor:: 90 99 91 100 """ … … 131 140 # Constraints 132 141 # model.param_name = f(other params) 133 # EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius and scale are model functions and phi is134 # a custom parameter142 # EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius 143 # and scale are model functions and phi is a custom parameter 135 144 model.scale = phi*(1-phi) 136 145 model.volfraction = phi -
doc/index.rst
r7bb290c r8ae8532 1 Introduction 2 ============ 1 sasmodels 2 ========= 3 Small angle X-ray and Neutron scattering (SAXS and SANS) examines the 4 scattering patterns produced by a beam travelling through the sample 5 and scattering at low angles. The scattering is computed as a function 6 of reciprocal space $q$, which arises from a combination of beam wavelength 7 and scattering angles. Each pixel on the detector corresponds to 8 a different scattering angle, and has a distinct $q_x$ and $q_y$. If the 9 sample is unoriented, the scattering pattern will appear as rings on the 10 detector. In this case, a circular average can be taken with 1-dimension 11 data at $q = \surd (q_x^2 + q_y^2)$ compared to the orientationally 12 averaged SAS scattering pattern. 13 3 14 The sasmodels package provides theory functions for small angle scattering 4 calculations. 15 calculations for different shapes, including the effects of resolution, 16 polydispersity and orientational dispersion. 5 17 6 18 .. htmlonly:: … … 15 27 16 28 guide/index.rst 29 guide/models/index.rst 17 30 developer/index.rst 18 ref/index.rst19 ref/models/index.rst20 31 api/index.rst 21 32 … … 28 39 .. htmlonly:: 29 40 * :ref:`search` 30 31 32 33 34 35 -
sasmodels/rst2html.py
rf2f5413 r8ae8532 38 38 - mathml 39 39 - mathjax 40 See ` http://docutils.sourceforge.net/docs/user/config.html#math-output`_40 See `<http://docutils.sourceforge.net/docs/user/config.html#math-output>`_ 41 41 for details. 42 42
Note: See TracChangeset
for help on using the changeset viewer.