Changeset 9258c43c in sasview for src/sas/sasgui/perspectives/calculator
- Timestamp:
- Jun 3, 2018 6:33:35 AM (7 years ago)
- Branches:
- master, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, unittest-saveload
- Children:
- 316b9c1
- Parents:
- de43192 (diff), 8b89396 (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. - git-author:
- Paul Butler <butlerpd@…> (06/03/18 06:33:35)
- git-committer:
- GitHub <noreply@…> (06/03/18 06:33:35)
- Location:
- src/sas/sasgui/perspectives/calculator
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/calculator/model_editor.py
rc6dfb9f r9258c43c 663 663 Do the layout for parameter related widgets 664 664 """ 665 param_txt = wx.StaticText(self, -1, 'Fit Parameters NOT requiring' + \ 666 ' polydispersity (if any): ') 667 668 param_tip = "#Set the parameters NOT requiring polydispersity " + \ 669 "and their initial values.\n" 665 param_txt = wx.StaticText(self, -1, 'Fit Parameters: ') 666 667 param_tip = "#Set the parameters and their initial values.\n" 670 668 param_tip += "#Example:\n" 671 669 param_tip += "A = 1\nB = 1" … … 681 679 (self.param_tcl, 1, wx.EXPAND | wx.ALL, 10)]) 682 680 683 # Parameters with polydispersity684 pd_param_txt = wx.StaticText(self, -1, 'Fit Parameters requiring ' + \685 'polydispersity (if any): ')686 687 pd_param_tip = "#Set the parameters requiring polydispersity and " + \688 "their initial values.\n"689 pd_param_tip += "#Example:\n"690 pd_param_tip += "C = 2\nD = 2"691 newid = wx.NewId()692 self.pd_param_tcl = EditWindow(self, newid, wx.DefaultPosition,693 wx.DefaultSize,694 wx.CLIP_CHILDREN | wx.SUNKEN_BORDER)695 self.pd_param_tcl.setDisplayLineNumbers(True)696 self.pd_param_tcl.SetToolTipString(pd_param_tip)697 698 self.param_sizer.AddMany([(pd_param_txt, 0, wx.LEFT, 10),699 (self.pd_param_tcl, 1, wx.EXPAND | wx.ALL, 10)])700 681 701 682 def _layout_function(self): … … 899 880 description = self.desc_tcl.GetValue() 900 881 param_str = self.param_tcl.GetText() 901 pd_param_str = self.pd_param_tcl.GetText()902 882 func_str = self.function_tcl.GetText() 903 883 # No input for the model function … … 905 885 if func_str.count('return') > 0: 906 886 self.write_file(self.fname, name, description, param_str, 907 pd_param_str,func_str)887 func_str) 908 888 try: 909 889 result, msg = check_model(self.fname), None … … 945 925 self.warning = msg 946 926 947 def write_file(self, fname, name, desc_str, param_str, pd_param_str,func_str):927 def write_file(self, fname, name, desc_str, param_str, func_str): 948 928 """ 949 929 Write content in file … … 952 932 :param desc_str: content of the description strings 953 933 :param param_str: content of params; Strings 954 :param pd_param_str: content of params requiring polydispersity; Strings955 934 :param func_str: content of func; Strings 956 935 """ … … 966 945 # Write out parameters 967 946 param_names = [] # to store parameter names 968 pd_params = []969 947 out_f.write('parameters = [ \n') 970 948 out_f.write('# ["name", "units", default, [lower, upper], "type", "description"],\n') … … 973 951 out_f.write(" ['%s', '', %s, [-inf, inf], '', '%s'],\n" 974 952 % (pname, pvalue, desc)) 975 for pname, pvalue, desc in self.get_param_helper(pd_param_str):976 param_names.append(pname)977 pd_params.append(pname)978 out_f.write(" ['%s', '', %s, [-inf, inf], 'volume', '%s'],\n"979 % (pname, pvalue, desc))980 953 out_f.write(' ]\n') 981 954 982 955 # Write out function definition 956 out_f.write('\n') 983 957 out_f.write('def Iq(%s):\n' % ', '.join(['x'] + param_names)) 984 958 out_f.write(' """Absolute scattering"""\n') … … 990 964 out_f.write(' import numpy as np') 991 965 for func_line in func_str.split('\n'): 992 out_f.write('%s%s\n' % ( spaces4, func_line))966 out_f.write('%s%s\n' % (' ', func_line)) 993 967 out_f.write('## uncomment the following if Iq works for vector x\n') 994 968 out_f.write('#Iq.vectorized = True\n') 995 996 # If polydisperse, create place holders for form_volume, ER and VR997 if pd_params:998 out_f.write('\n')999 out_f.write(CUSTOM_TEMPLATE_PD % {'args': ', '.join(pd_params)})1000 969 1001 970 # Create place holder for Iqxy … … 1128 1097 description = """%(description)s""" 1129 1098 1130 '''1131 1132 CUSTOM_TEMPLATE_PD = '''\1133 def form_volume(%(args)s):1134 """1135 Volume of the particles used to compute absolute scattering intensity1136 and to weight polydisperse parameter contributions.1137 """1138 return 0.01139 1140 def ER(%(args)s):1141 """1142 Effective radius of particles to be used when computing structure factors.1143 1144 Input parameters are vectors ranging over the mesh of polydispersity values.1145 """1146 return 0.01147 1148 def VR(%(args)s):1149 """1150 Volume ratio of particles to be used when computing structure factors.1151 1152 Input parameters are vectors ranging over the mesh of polydispersity values.1153 """1154 return 1.01155 1099 ''' 1156 1100 -
src/sas/sasgui/perspectives/calculator/resolution_calculator_panel.py
r7432acb r1cf490b6 18 18 matplotlib.use('WXAgg') 19 19 from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas 20 from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx as Toolbar20 from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as Toolbar 21 21 from matplotlib.backend_bases import FigureManagerBase 22 22 # Wx-Pylab magic for displaying plots within an application's window.
Note: See TracChangeset
for help on using the changeset viewer.