- Timestamp:
- Feb 20, 2015 3:02:38 AM (10 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:
- cda1cf8
- Parents:
- 018582f
- Location:
- test
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
test/park_integration/test/batch_fit.py
r35ec279 r386ffe1 42 42 self.qmax = qmax 43 43 44 def _reset_helper(self, path=None, engine=" scipy", npts=NPTS):44 def _reset_helper(self, path=None, engine="bumps", npts=NPTS): 45 45 """ 46 46 Set value to fitter engine and prepare inputs for map function … … 77 77 self.list_of_mapper.append(classMapper) 78 78 79 def reset_value(self, engine=' scipy'):79 def reset_value(self, engine='bumps'): 80 80 """ 81 81 Initialize inputs for the map function -
test/park_integration/test/utest_fit_cylinder.py
ra10364b r386ffe1 27 27 self.pars1 =['length','radius','scale'] 28 28 29 def _fit(self, name=" scipy"):29 def _fit(self, name="bumps"): 30 30 """ return fit result """ 31 31 fitter = Fit(name) … … 45 45 46 46 47 def test_scipy(self):48 """ Simple cylinder model fit (scipy) """49 self._fit("scipy")50 51 52 def test_park(self):53 """ Simple cylinder model fit (park) """54 self._fit("park")55 56 47 def test_bumps(self): 57 """ Simple cylinder model fit (park)"""48 """ Simple cylinder model fit """ 58 49 self._fit("bumps") 59 50 … … 90 81 91 82 def test_constrained_bumps(self): 92 """ Simultaneous cylinder model fit (park)"""83 """ Simultaneous cylinder model fit """ 93 84 self._run_fit(Fit('bumps')) 94 85 95 86 #@unittest.skip("") 96 def test_constrained_park(self):97 """ Simultaneous cylinder model fit (park) """98 self._run_fit(Fit('park'))99 100 87 def _run_fit(self, fitter): 101 88 result1, result2 = self._fit(fitter) … … 105 92 106 93 for n, v, dv in zip(result1.param_list, result1.pvec, result1.stderr): 107 print "%s M1.%s = %s +/- %s"%(fitter._engine.__class__.__name__,n,v,dv)94 #print "%s M1.%s = %s +/- %s"%(fitter._engine.__class__.__name__,n,v,dv) 108 95 if n == "length": 109 96 self.assertTrue( math.fabs(v-400.0)/3.0 < dv ) … … 113 100 self.assertTrue( math.fabs(v-1.0)/3.0 < dv ) 114 101 for n, v, dv in zip(result2.param_list, result2.pvec, result2.stderr): 115 print "%s M2.%s = %s +/- %s"%(fitter._engine.__class__.__name__,n,v,dv)102 #print "%s M2.%s = %s +/- %s"%(fitter._engine.__class__.__name__,n,v,dv) 116 103 if n=='radius': 117 104 self.assertTrue( math.fabs(v-40.0)/3.0 < dv ) -
test/park_integration/test/utest_fit_line.py
r35ec279 r386ffe1 32 32 assert str(exc).startswith('parameter param1') 33 33 else: 34 raise AssertionError("No error raised for scipyfitting with wrong parameters name to fit")34 raise AssertionError("No error raised for fitting with wrong parameters name to fit") 35 35 36 36 def fit_single(self, fitter_name, isdream=False): … … 45 45 model1.name = "M1" 46 46 model = Model(model1,data) 47 #fit with scipy test48 47 49 48 pars1= ['A','B'] … … 92 91 self.fit_bumps('lm') 93 92 94 def test_scipy(self):95 #print "fitting scipy"96 self.fit_single('scipy')97 98 def test_park(self):99 #print "fitting park"100 self.fit_single('park')101 102 103 93 def test2(self): 104 94 """ fit 2 data and 2 model with no constrainst""" … … 112 102 113 103 #Importing the Fit module 114 fitter = Fit(' scipy')104 fitter = Fit('bumps') 115 105 # Receives the type of model for the fitting 116 106 model11 = LineModel() … … 121 111 model1 = Model(model11,data1) 122 112 model2 = Model(model22,data2) 123 #fit with scipy test124 113 pars1= ['A','B'] 125 114 fitter.set_data(data1,1) … … 129 118 fitter.set_model(model2,2,pars1) 130 119 fitter.select_problem_for_fit(id=2,value=0) 131 120 132 121 try: result1, = fitter.fit(handler=FitHandler()) 133 122 except RuntimeError,msg: 134 assert str(msg)=="No Assembly scheduled for Scipy fitting." 135 else: raise AssertionError,"No error raised for scipy fitting with no model" 136 fitter.select_problem_for_fit(id=1,value=1) 137 fitter.select_problem_for_fit(id=2,value=1) 138 try: result1, = fitter.fit(handler=FitHandler()) 139 except RuntimeError,msg: 140 assert str(msg)=="Scipy can't fit more than a single fit problem at a time." 141 else: raise AssertionError,"No error raised for scipy fitting with more than 2 models" 142 143 #fit with park test 144 fitter = Fit('park') 145 fitter.set_data(data1,1) 146 fitter.set_model(model1,1,pars1) 147 fitter.set_data(data2,2) 148 fitter.set_model(model2,2,pars1) 123 assert str(msg)=="Nothing to fit" 124 else: raise AssertionError,"No error raised for fitting with no model" 149 125 fitter.select_problem_for_fit(id=1,value=1) 150 126 fitter.select_problem_for_fit(id=2,value=1) … … 156 132 157 133 158 def test 3(self):134 def test_constraints(self): 159 135 """ fit 2 data and 2 model with 1 constrainst""" 160 136 #load data … … 180 156 model1.set(B=3) 181 157 # Constraint the constant value to be equal to parameter B (the real value is 2.5) 182 model2.set(value='line.B') 183 #fit with scipy test 158 #model2.set(value='line.B') 184 159 pars1= ['A','B'] 185 160 pars2= ['value'] 186 161 187 162 #Importing the Fit module 188 fitter = Fit(' park')163 fitter = Fit('bumps') 189 164 fitter.set_data(data1,1) 190 165 fitter.set_model(model1,1,pars1) 191 166 fitter.set_data(data2,2,smearer=None) 192 fitter.set_model(model2,2,pars2 )167 fitter.set_model(model2,2,pars2,constraints=[("value","line.B")]) 193 168 fitter.select_problem_for_fit(id=1,value=1) 194 169 fitter.select_problem_for_fit(id=2,value=1) … … 216 191 model = Model(model1,data1) 217 192 218 #fit with scipy test 219 pars1= ['A','B'] 220 #Importing the Fit module 221 fitter = Fit('scipy') 222 fitter.set_data(data1,1,qmin=0, qmax=7) 223 fitter.set_model(model,1,pars1) 224 fitter.set_data(data2,1,qmin=1,qmax=10) 225 fitter.select_problem_for_fit(id=1,value=1) 226 227 result1, = fitter.fit(handler=FitHandler()) 228 #print(result1) 229 self.assert_(result1) 230 231 self.assertTrue( math.fabs(result1.pvec[0]-4)/3 <= result1.stderr[0] ) 232 self.assertTrue( math.fabs(result1.pvec[1]-2.5)/3 <= result1.stderr[1]) 233 self.assertTrue( result1.fitness/len(data1.x) < 2 ) 234 235 #fit with park test 236 fitter = Fit('park') 193 pars1= ['A','B'] 194 #Importing the Fit module 195 196 fitter = Fit('bumps') 237 197 fitter.set_data(data1,1,qmin=0, qmax=7) 238 198 fitter.set_model(model,1,pars1) … … 245 205 self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3 <= result2.stderr[1] ) 246 206 self.assertTrue( result2.fitness/len(data1.x) < 2) 247 # compare fit result result for scipy and park248 self.assertAlmostEquals( result1.pvec[0], result2.pvec[0] )249 self.assertAlmostEquals( result1.pvec[1],result2.pvec[1] )250 self.assertAlmostEquals( result1.stderr[0],result2.stderr[0] )251 self.assertAlmostEquals( result1.stderr[1],result2.stderr[1] )252 self.assertTrue( result2.fitness/(len(data2.x)+len(data1.x)) < 2 )253 207 254 208 -
test/park_integration/test/utest_fit_smeared.py
r35ec279 r386ffe1 17 17 """ test fitting """ 18 18 19 def test_ scipy(self):20 """ Simple cylinder model fit (scipy)"""19 def test_without_resolution(self): 20 """ Simple cylinder model fit """ 21 21 22 22 out=Loader().load("cyl_400_20.txt") … … 24 24 #out.dy = out.y 25 25 26 fitter = Fit(' scipy')26 fitter = Fit('bumps') 27 27 fitter.set_data(out,1) 28 28 … … 53 53 self.assertTrue( result1.fitness < 1.0 ) 54 54 55 def test_park_dispersion(self): 56 """ 57 Cylinder fit with dispersion 58 """ 59 self._dispersion(fitter = Fit('park')) 60 61 def test_bumps_dispersion(self): 55 def test_dispersion(self): 62 56 """ 63 57 Cylinder fit with dispersion … … 69 63 fitters.FIT_OPTIONS[alg].options.update(monitors=[]) 70 64 self._dispersion(fitter = Fit('bumps')) 71 72 def test_scipy_dispersion(self):73 """74 Cylinder fit with dispersion75 """76 self._dispersion(fitter = Fit('scipy'))77 65 78 66 def _dispersion(self, fitter): … … 148 136 149 137 # Fit 150 fitter = Fit(' scipy')138 fitter = Fit('bumps') 151 139 152 140 # Data: right now this is the only way to set the smearer object … … 179 167 self.assertEqual(smear.__class__.__name__, 'SlitSmearer') 180 168 181 fitter = Fit(' scipy')169 fitter = Fit('bumps') 182 170 183 171 # Data: right now this is the only way to set the smearer object -
test/park_integration/test/utest_small_test.py
r35ec279 r386ffe1 6 6 from sas.fit.Fitting import Fit 7 7 from sas.dataloader.loader import Loader 8 import bumps.fitters 9 bumps.fitters.FIT_DEFAULT = 'lm' 8 10 9 11 class testFitModule(unittest.TestCase): 10 12 """ test fitting """ 11 def test_ park(self):12 """ Simple cylinder model fit (scipy)"""13 def test_cylinder_fit(self): 14 """ Simple cylinder model fit """ 13 15 14 16 out= Loader().load("cyl_400_20.txt") 15 17 16 fitter = Fit(' scipy')18 fitter = Fit('bumps') 17 19 # Receives the type of model for the fitting 18 20 from sas.models.CylinderModel import CylinderModel … … 20 22 model.setParam('sldCyl', 1) 21 23 model.setParam('sldSolv', 0) 24 model.setParam('scale', 1e-10) 22 25 23 26 pars1 =['length','radius','scale'] 24 27 fitter.set_data(out,1) 25 model.setParam('scale', 1e-10)26 28 fitter.set_model(model,1,pars1, constraints=()) 27 29 fitter.select_problem_for_fit(id=1,value=1) … … 33 35 self.assertTrue(len(result1.pvec)>0 or len(result1.pvec)==0 ) 34 36 self.assertTrue(len(result1.stderr)> 0 or len(result1.stderr)==0) 35 36 #print result1.pvec[0]-400.0, result1.pvec[0] 37 #print math.fabs(result1.pvec[0]-400.0)/3.0 37 38 38 self.assertTrue( math.fabs(result1.pvec[0]-400.0)/3.0 < result1.stderr[0] ) 39 39 self.assertTrue( math.fabs(result1.pvec[1]-20.0)/3.0 < result1.stderr[1] ) -
test/pr_inversion/test/test_output.txt
r400155b r386ffe1 3 3 #alpha=0.0007 4 4 #chi2=836.797 5 #elapsed=0 5 #elapsed=0.00100017 6 6 #qmin=None 7 7 #qmax=None -
test/sasmodels/test/utest_models.py
r8c9ffde r386ffe1 59 59 60 60 def test2D(self): 61 """ Test 2D model of a cylinder """ 61 """ Test 2D model of a cylinder """ 62 62 self.comp.setParam('cyl_theta', 10.0) 63 63 self.comp.setParam('cyl_phi', 10.0) 64 self.assertAlmostEqual(self.comp.run([0.2, 2.5]), 65 0.038176446608393366, 2) 64 self.assertAlmostEqual(self.comp.run([0.2, 2.5]), 65 0.038176446608393366, 2) 66 66 67 67 class TestGaussian(unittest.TestCase):
Note: See TracChangeset
for help on using the changeset viewer.