Changeset 04045f4 in sasmodels for sasmodels/sasview_model.py
- Timestamp:
- Apr 12, 2016 8:02:40 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:
- 793beb3
- Parents:
- fa5fd8d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/sasview_model.py
rfa5fd8d r04045f4 124 124 #self.is_multifunc = False 125 125 non_fittable = [] # type: List[str] 126 xlabel = model_info.profile_axes[0] if model_info.profile is not None else "" 127 variants = MultiplicityInfo(0, "", [], xlabel) 126 128 for p in parameters.kernel_parameters: 127 if p. is_control:129 if p.name == model_info.control: 128 130 non_fittable.append(p.name) 129 profile_axes = model_info.profile_axes 130 multiplicity_info = MultiplicityInfo( 131 p.limits[1], p.name, p.choices, profile_axes[0] 131 variants = MultiplicityInfo( 132 len(p.choices), p.name, p.choices, xlabel 132 133 ) 133 134 break 134 else: 135 multiplicity_info = MultiplicityInfo(0, "", [], "") 135 elif p.is_control: 136 non_fittable.append(p.name) 137 variants = MultiplicityInfo( 138 int(p.limits[1]), p.name, p.choices, xlabel 139 ) 140 break 136 141 137 142 attrs['is_structure_factor'] = model_info.structure_factor 138 143 attrs['is_form_factor'] = model_info.ER is not None 139 attrs['is_multiplicity_model'] = multiplicity_info[0] > 1 140 attrs['multiplicity_info'] = multiplicity_info 141 144 attrs['is_multiplicity_model'] = variants[0] > 1 145 attrs['multiplicity_info'] = variants 142 146 143 147 orientation_params = [] … … 228 232 ## _persistency_dict is used by sas.perspectives.fitting.basepage 229 233 ## to store dispersity reference. 230 ## TODO: _persistency_dict to persistency_dict throughout sasview231 234 self._persistency_dict = {} 232 235 236 # TODO: _persistency_dict to persistency_dict throughout sasview 237 # TODO: refactor multiplicity to encompass variants 238 # TODO: dispersion should be a class 233 239 # TODO: refactor multiplicity info 234 240 # TODO: separate profile view from multiplicity … … 240 246 # and lines to plot. 241 247 242 # TODO: refactor multiplicity to encompass variants243 # TODO: dispersion should be a class248 # Get the list of hidden parameters given the mulitplicity 249 # Don't include multiplicity in the list of parameters 244 250 self.multiplicity = multiplicity 251 if multiplicity is not None: 252 hidden = self._model_info.get_hidden_parameters(multiplicity) 253 hidden |= set([self.multiplicity_info.control]) 254 else: 255 hidden = set() 256 245 257 self.params = collections.OrderedDict() 246 258 self.dispersion = {} 247 259 self.details = {} 248 config = ({self.multiplicity_info.control: multiplicity} 249 if multiplicity is not None else {}) 250 for p in self._model_info.parameters.user_parameters(config): 251 # Don't include multiplicity in the list of parameters 252 if p.name == self.multiplicity_info.control: 260 for p in self._model_info.parameters.user_parameters(): 261 if p.name in hidden: 253 262 continue 254 263 self.params[p.name] = p.default … … 601 610 return cylinder.evalDistribution([0.1,0.1]) 602 611 612 def test_rpa(): 613 # type: () -> float 614 """ 615 Test that a sasview model (cylinder) can be run. 616 """ 617 RPA = _make_standard_model('rpa') 618 rpa = RPA(3) 619 return rpa.evalDistribution([0.1,0.1]) 620 603 621 604 622 def test_model_list():
Note: See TracChangeset
for help on using the changeset viewer.