- Timestamp:
- Oct 10, 2017 11:39:39 AM (7 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:
- 09141ff
- Parents:
- b76191e
- Location:
- example
- Files:
-
- 2 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
example/oriented_usans.py
r1cd24b4 r74b0495 6 6 7 7 # Spherical particle data, not ellipsoids 8 sans, usans = load_data(' ../../sasview/sasview/test/1d_data/latex_smeared.xml')8 sans, usans = load_data('latex_smeared.xml', index='all') 9 9 usans.qmin, usans.qmax = np.min(usans.x), np.max(usans.x) 10 10 usans.mask = (usans.x < 0.0) -
example/simul_fit.py
r1a4d4c0 r74b0495 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 4 # To Sasview/documents/scripts5 6 1 from bumps.names import * 7 2 from sasmodels.core import load_model … … 9 4 from sasmodels.data import load_data, plot_data 10 5 6 # latex data, same sample usans and sans 7 # particles radius ~2300, uniform dispersity 8 datasets = load_data('latex_smeared.xml', index='all') 9 #[print(data) for data in datasets] 11 10 12 """ IMPORT THE DATA USED """ 13 datafiles = ['latex_smeared_out_0.txt', 'latex_smeared_out_1.txt'] 14 datasets = [load_data(el) for el in datafiles] 11 # A single sphere model to share between the datasets. We will use 12 # FreeVariables below to set the parameters that are independent between 13 # the datasets. 14 kernel = load_model('sphere') 15 pars = dict(scale=0.01, background=0.0, sld=5.0, sld_solvent=0.0, radius=1500., 16 #radius_pd=0.1, radius_pd_n=35, 17 ) 18 model = Model(kernel, **pars) 15 19 16 for data in datasets: 17 data.qmin = 0.0 18 data.qmax = 10.0 20 # radius and polydispersity (if any) are shared 21 model.radius.range(0, inf) 22 #model.radius_pd.range(0, 1) 19 23 20 #sphere model 21 kernel = load_model('sphere', dtype="single") 22 pars = dict(scale=0.01, background=0.0, sld=1.0, sld_solvent=6.0, radius=1500.) 23 model = Model(kernel, **pars) 24 model.radius.range(0, inf) 25 #model.background.range(-inf, inf) 26 #model.scale.range(0, inf) 27 model.sld.range(-inf, inf) 28 model.sld_solvent.range(-inf, inf) 24 # Contrast and dilution are the same for both measurements, but are not 25 # separable with a single measurement (i.e., I(q) ~ F(q) contrast^2 Vf), 26 # so fit one of scale, sld or solvent sld. With absolute scaling from 27 # data reduction, can use the same parameter for both datasets. 28 model.scale.range(0, inf) 29 #model.sld.range(-inf, inf) 30 #model.sld_solvent.range(-inf, inf) 29 31 32 # Background is different for sans and usans so set it as a free variable 33 # in the model. 30 34 free = FreeVariables( 31 names=[data. filenamefor data in datasets],35 names=[data.run[0] for data in datasets], 32 36 background=model.background, 33 scale=model.scale,34 37 ) 35 38 free.background.range(-inf, inf) 36 free.scale.range(0, inf)37 39 38 M = [Experiment(data=data, model=model) for data in datasets] 40 # Note: can access the parameters for the individual models using 41 # free.background[0] and free.background[1], setting constraints or 42 # ranges as appropriate. 43 44 # For more complex systems where different datasets require independent models, 45 # separate models can be defined, with parameters tied together using 46 # constraint expressions. For example, the following could be used to fit 47 # data set 1 to spheres and data set 2 to cylinders of the same volume: 48 # model1 = Model(load_model('sphere')) 49 # model2 = Model(load_model('cylinder')) 50 # model1.sld = model2.sld 51 # model1.sld_solvent = model2.sld_solvent 52 # model1.scale = model2.scale 53 # # set cylinders and spheres to the same volume 54 # model1.radius = (3/4*model2.radius**2*model2.length)**(1/3) 55 # model1.background.range(0, 2) 56 # model2.background.range(0, 2) 57 58 # Setup the experiments, sharing the same model across all datasets. 59 M = [Experiment(data=data, model=model, name=data.run[0]) for data in datasets] 39 60 40 61 problem = FitProblem(M, freevars=free) 41 42 print(problem._parameters)
Note: See TracChangeset
for help on using the changeset viewer.