Changeset 6d6508e in sasmodels for sasmodels/sasview_model.py
- Timestamp:
- Apr 7, 2016 6:57:33 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- d2fc9a4
- Parents:
- 3707eee
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/sasview_model.py
ree8f734 r6d6508e 27 27 from . import generate 28 28 from . import weights 29 from . import details 30 from . import modelinfo 29 31 30 32 def load_standard_models(): … … 49 51 """ 50 52 kernel_module = custom.load_custom_kernel_module(path) 51 model_info = generate.make_model_info(kernel_module)53 model_info = modelinfo.make_model_info(kernel_module) 52 54 return _make_model_from_info(model_info) 53 55 … … 62 64 """ 63 65 kernel_module = generate.load_kernel_module(name) 64 model_info = generate.make_model_info(kernel_module)66 model_info = modelinfo.make_model_info(kernel_module) 65 67 return _make_model_from_info(model_info) 66 68 … … 73 75 SasviewModel.__init__(self) 74 76 attrs = dict(__init__=__init__, _model_info=model_info) 75 ConstructedModel = type(model_info ['name'], (SasviewModel,), attrs)77 ConstructedModel = type(model_info.name, (SasviewModel,), attrs) 76 78 return ConstructedModel 77 79 … … 85 87 self._model = None 86 88 model_info = self._model_info 87 parameters = model_info ['parameters']88 89 self.name = model_info ['name']90 self.description = model_info ['description']89 parameters = model_info.parameters 90 91 self.name = model_info.name 92 self.description = model_info.description 91 93 self.category = None 92 94 #self.is_multifunc = False 93 95 for p in parameters.kernel_parameters: 94 96 if p.is_control: 95 profile_axes = model_info ['profile_axes']97 profile_axes = model_info.profile_axes 96 98 self.multiplicity_info = [ 97 99 p.limits[1], p.name, p.choices, profile_axes[0] … … 132 134 133 135 ## independent parameter name and unit [string] 134 self.input_name = model_info.get("input_name", "Q")135 self.input_unit = model_info.get("input_unit", "A^{-1}")136 self.output_name = model_info.get("output_name", "Intensity")137 self.output_unit = model_info.get("output_unit", "cm^{-1}")136 self.input_name = "Q", #model_info.get("input_name", "Q") 137 self.input_unit = "A^{-1}" #model_info.get("input_unit", "A^{-1}") 138 self.output_name = "Intensity" #model_info.get("output_name", "Intensity") 139 self.output_unit = "cm^{-1}" #model_info.get("output_unit", "cm^{-1}") 138 140 139 141 ## _persistency_dict is used by sas.perspectives.fitting.basepage … … 248 250 # TODO: fix test so that parameter order doesn't matter 249 251 ret = ['%s.%s' % (p.name.lower(), ext) 250 for p in self._model_info ['parameters'].user_parameters()252 for p in self._model_info.parameters.user_parameters() 251 253 for ext in ('npts', 'nsigmas', 'width') 252 254 if p.polydisperse] … … 323 325 # Check whether we have a list of ndarrays [qx,qy] 324 326 qx, qy = qdist 325 if not self._model_info ['parameters'].has_2d:327 if not self._model_info.parameters.has_2d: 326 328 return self.calculate_Iq(np.sqrt(qx ** 2 + qy ** 2)) 327 329 else: … … 350 352 kernel = self._model.make_kernel(q_vectors) 351 353 pairs = [self._get_weights(p) 352 for p in self._model_info ['parameters'].call_parameters]353 details, weights, values = core.build_details(kernel, pairs)354 result = kernel( details, weights, values, cutoff=self.cutoff)354 for p in self._model_info.parameters.call_parameters] 355 call_details, weights, values = details.build_details(kernel, pairs) 356 result = kernel(call_details, weights, values, cutoff=self.cutoff) 355 357 kernel.q_input.release() 356 358 kernel.release() … … 363 365 :return: the value of the effective radius 364 366 """ 365 ER = self._model_info.get('ER', None) 366 if ER is None: 367 if model_info.ER is None: 367 368 return 1.0 368 369 else: 369 370 values, weights = self._dispersion_mesh() 370 fv = ER(*values)371 fv = model_info.ER(*values) 371 372 #print(values[0].shape, weights.shape, fv.shape) 372 373 return np.sum(weights * fv) / np.sum(weights) … … 378 379 :return: the value of the volf ratio 379 380 """ 380 VR = self._model_info.get('VR', None) 381 if VR is None: 381 if model_info.VR is None: 382 382 return 1.0 383 383 else: 384 384 values, weights = self._dispersion_mesh() 385 whole, part = VR(*values)385 whole, part = model_info.VR(*values) 386 386 return np.sum(weights * part) / np.sum(weights * whole) 387 387 … … 422 422 parameter set in the vector. 423 423 """ 424 pars = self._model_info ['partype']['volume']425 return core.dispersion_mesh([self._get_weights(p) for p in pars])424 pars = self._model_info.partype['volume'] 425 return details.dispersion_mesh([self._get_weights(p) for p in pars]) 426 426 427 427 def _get_weights(self, par):
Note: See TracChangeset
for help on using the changeset viewer.