Ignore:
Timestamp:
Feb 20, 2015 5:02:38 AM (9 years ago)
Author:
pkienzle
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
Message:

remove scipy levenburg marquardt and park from ui

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/park_integration/test/utest_fit_line.py

    r35ec279 r386ffe1  
    3232            assert str(exc).startswith('parameter param1') 
    3333        else: 
    34             raise AssertionError("No error raised for scipy fitting with wrong parameters name to fit") 
     34            raise AssertionError("No error raised for fitting with wrong parameters name to fit") 
    3535 
    3636    def fit_single(self, fitter_name, isdream=False): 
     
    4545        model1.name = "M1" 
    4646        model = Model(model1,data) 
    47         #fit with scipy test 
    4847 
    4948        pars1= ['A','B'] 
     
    9291        self.fit_bumps('lm') 
    9392 
    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          
    10393    def test2(self): 
    10494        """ fit 2 data and 2 model with no constrainst""" 
     
    112102      
    113103        #Importing the Fit module 
    114         fitter = Fit('scipy') 
     104        fitter = Fit('bumps') 
    115105        # Receives the type of model for the fitting 
    116106        model11  = LineModel() 
     
    121111        model1 = Model(model11,data1) 
    122112        model2 = Model(model22,data2) 
    123         #fit with scipy test 
    124113        pars1= ['A','B'] 
    125114        fitter.set_data(data1,1) 
     
    129118        fitter.set_model(model2,2,pars1) 
    130119        fitter.select_problem_for_fit(id=2,value=0) 
    131          
     120 
    132121        try: result1, = fitter.fit(handler=FitHandler()) 
    133122        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" 
    149125        fitter.select_problem_for_fit(id=1,value=1) 
    150126        fitter.select_problem_for_fit(id=2,value=1) 
     
    156132         
    157133         
    158     def test3(self): 
     134    def test_constraints(self): 
    159135        """ fit 2 data and 2 model with 1 constrainst""" 
    160136        #load data 
     
    180156        model1.set(B=3) 
    181157        # 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') 
    184159        pars1= ['A','B'] 
    185160        pars2= ['value'] 
    186161         
    187162        #Importing the Fit module 
    188         fitter = Fit('park') 
     163        fitter = Fit('bumps') 
    189164        fitter.set_data(data1,1) 
    190165        fitter.set_model(model1,1,pars1) 
    191166        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")]) 
    193168        fitter.select_problem_for_fit(id=1,value=1) 
    194169        fitter.select_problem_for_fit(id=2,value=1) 
     
    216191        model = Model(model1,data1) 
    217192       
    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') 
    237197        fitter.set_data(data1,1,qmin=0, qmax=7) 
    238198        fitter.set_model(model,1,pars1) 
     
    245205        self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3 <= result2.stderr[1] ) 
    246206        self.assertTrue( result2.fitness/len(data1.x) < 2) 
    247         # compare fit result result for scipy and park 
    248         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 ) 
    253207 
    254208 
Note: See TracChangeset for help on using the changeset viewer.