Changeset 48882d1 in sasview for park_integration/test
- Timestamp:
- Aug 22, 2008 5:51:05 PM (16 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 3c404d3
- Parents:
- d6513cd
- Location:
- park_integration/test
- Files:
-
- 2 added
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
park_integration/test/test_large_model.py
rf44dbc7 r48882d1 5 5 from sans.guitools.plottables import Theory1D 6 6 from sans.guitools.plottables import Data1D 7 7 from sans.fit.AbstractFitEngine import Data,Model 8 8 import math 9 9 class testFitModule(unittest.TestCase): 10 10 """ test fitting """ 11 12 13 def testfit_11Data_1Model(self): 14 """ test fitting for one data and one model park vs scipy""" 11 def test_cylinder_park(self): 12 """ test fitting large model with park""" 15 13 #load data 16 14 from sans.fit.Loader import Load … … 18 16 load.set_filename("cyl_testdata.txt") 19 17 load.set_values() 20 data1 = Data1D(x=[], y=[],dx=None, dy=None) 21 load.load_data(data1) 18 data11 = Data1D(x=[], y=[],dx=None, dy=None) 19 load.load_data(data11) 20 data1=Data(sans_data=data11) 22 21 23 load.set_filename("testdata_line1.txt")24 load.set_values()25 data2 = Data1D(x=[], y=[],dx=None, dy=None)26 load.load_data(data2)27 22 28 23 #Importing the Fit module … … 33 28 from sans.models.CylinderModel import CylinderModel 34 29 model1 = CylinderModel() 35 #model2 = CylinderModel()30 model =Model(model1) 36 31 37 32 #Do the fit SCIPY 38 33 fitter.set_data(data1,1) 39 34 import math 40 pars1={'background':0,'contrast':3*math.pow(10, -6),\ 41 'cyl_phi':1,'cyl_theta':1,'length':400,'radius':20,'scale':1} 42 fitter.set_model(model1,"M1",1,pars1) 35 #pars1=['background','contrast', 'length'] 36 pars1=['background','contrast',\ 37 'cyl_phi','cyl_theta','length','radius','scale'] 38 pars1.sort() 39 fitter.set_model(model,"M1",1,pars1) 40 fitter.set_data(data1,1) 41 42 result=fitter.fit() 43 print "park",result.fitness,result.cov, result.pvec 44 self.assert_(result.fitness) 43 45 44 #fitter.set_data(data2,2) 45 #fitter.set_model(model1,"M1",2,pars1) 46 47 def test_cylinder_scipy(self): 48 """ test fitting large model with scipy""" 49 #load data 50 from sans.fit.Loader import Load 51 load= Load() 52 load.set_filename("cyl_testdata.txt") 53 load.set_values() 54 data11 = Data1D(x=[], y=[],dx=None, dy=None) 55 load.load_data(data11) 56 data1=Data(sans_data=data11) 46 57 47 chisqr1, out1, cov1=fitter.fit()48 print "park",chisqr1, out1, cov149 self.assert_(chisqr1)50 58 51 59 #Importing the Fit module 60 from sans.fit.Fitting import Fit 61 fitter= Fit('scipy') 62 63 # Receives the type of model for the fitting 64 from sans.models.CylinderModel import CylinderModel 65 model1 = CylinderModel() 66 model =Model(model1) 67 68 #Do the fit SCIPY 69 fitter.set_data(data1,1) 70 import math 71 #pars1=['background','contrast', 'length'] 72 pars1=['background','contrast',\ 73 'cyl_phi','cyl_theta','length','radius','scale'] 74 pars1.sort() 75 fitter.set_model(model,"M1",1,pars1) 76 fitter.set_data(data1,1) 52 77 78 result=fitter.fit() 79 print "scipy",result.fitness,result.cov, result.pvec 80 self.assert_(result.fitness) 81 82 -
park_integration/test/testfitting.py
r985c88b r48882d1 5 5 from sans.guitools.plottables import Theory1D 6 6 from sans.guitools.plottables import Data1D 7 7 from sans.fit.AbstractFitEngine import Data, Model 8 8 import math 9 9 class testFitModule(unittest.TestCase): … … 15 15 from sans.fit.Loader import Load 16 16 load= Load() 17 18 17 load.set_filename("testdata_line.txt") 19 18 self.assertEqual(load.get_filename(),"testdata_line.txt") … … 23 22 dx=[] 24 23 dy=[] 25 26 24 x,y,dx,dy = load.get_values() 27 28 25 # test that values have been loaded 29 26 self.assertNotEqual(x, None) … … 59 56 load.set_filename("testdata_line.txt") 60 57 load.set_values() 61 data1 = Data1D(x=[], y=[],dx=None, dy=None)62 load.load_data(data1 )58 data11 = Data1D(x=[], y=[],dx=None, dy=None) 59 load.load_data(data11) 63 60 64 61 #Importing the Fit module … … 68 65 # Receives the type of model for the fitting 69 66 from sans.guitools.LineModel import LineModel 70 model1 = LineModel()71 model2 = LineModel()67 model11 = LineModel() 68 model22 = LineModel() 72 69 73 70 #Do the fit SCIPY 74 model1.setParam( 'A', 2) 75 model1.setParam( 'B', 1) 71 model11.setParam( 'A', 2) 72 model11.setParam( 'B', 1) 73 data1=Data(sans_data=data11) 74 model1 =Model(model11) 75 model2 =Model(model22) 76 76 77 fitter.set_data(data1,1) 77 78 fitter.set_model(model1,"M1",1,['A','B']) 78 79 79 chisqr1, out1, cov1=fitter.fit() 80 result= fitter.fit() 81 out1=result.pvec 82 chisqr1=result.fitness 83 cov1=result.cov 84 print "scipy",chisqr1, out1, cov1 80 85 """ testing SCIPy results""" 81 86 self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2) … … 87 92 #Do the fit 88 93 fitter.set_data(data1,1) 89 model2.setParam ( 'A', 2)90 model2.setParam( 'B', 1)94 model2.setParams( [2,1]) 95 91 96 fitter.set_model(model2,"M1",1,['A','B']) 92 97 93 chisqr2, out2, cov2,result=fitter.fit(None,None) 94 98 result2=fitter.fit(None,None) 99 out2=result2.pvec 100 chisqr2=result2.fitness 101 cov2=result2.cov 95 102 self.assert_(math.fabs(out2[1]-2.5)/math.sqrt(cov2[1][1]) < 2) 96 103 self.assert_(math.fabs(out2[0]-4.0)/math.sqrt(cov2[0][0]) < 2) … … 103 110 self.assertAlmostEquals(cov1[1][1], cov2[1][1],1) 104 111 self.assertAlmostEquals(chisqr1, chisqr2) 112 113 def testfit_1Data_1Model(self): 114 """ test fitting for one data and one model cipy""" 115 #load data 116 from sans.fit.Loader import Load 117 load= Load() 118 load.set_filename("testdata_line.txt") 119 load.set_values() 120 data11 = Data1D(x=[], y=[],dx=None, dy=None) 121 load.load_data(data11) 122 data1=Data(sans_data=data11) 123 124 #Importing the Fit module 125 from sans.fit.Fitting import Fit 126 fitter= Fit('scipy') 127 128 # Receives the type of model for the fitting 129 from sans.guitools.LineModel import LineModel 130 model1 = LineModel() 131 model =Model(model1) 132 133 #Do the fit SCIPY 134 fitter.set_data(data1,1) 135 import math 105 136 137 pars1=['A','B'] 138 pars1.sort() 139 fitter.set_model(model,"M1",1,pars1) 140 result=fitter.fit() 141 print "scipy",result.fitness,result.cov, result.pvec 142 143 self.assert_(result.fitness) 144 145 146 106 147
Note: See TracChangeset
for help on using the changeset viewer.