Ignore:
Timestamp:
Aug 22, 2008 5:51:05 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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
Message:

park fitting with new model and new data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • park_integration/test/testfitting.py

    r985c88b r48882d1  
    55from sans.guitools.plottables import Theory1D 
    66from sans.guitools.plottables import Data1D 
    7  
     7from sans.fit.AbstractFitEngine import Data, Model 
    88import math 
    99class testFitModule(unittest.TestCase): 
     
    1515        from sans.fit.Loader import Load 
    1616        load= Load() 
    17          
    1817        load.set_filename("testdata_line.txt") 
    1918        self.assertEqual(load.get_filename(),"testdata_line.txt") 
     
    2322        dx=[] 
    2423        dy=[] 
    25          
    2624        x,y,dx,dy = load.get_values() 
    27          
    2825        # test that values have been loaded 
    2926        self.assertNotEqual(x, None) 
     
    5956        load.set_filename("testdata_line.txt") 
    6057        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) 
    6360         
    6461        #Importing the Fit module 
     
    6865        # Receives the type of model for the fitting 
    6966        from sans.guitools.LineModel import LineModel 
    70         model1  = LineModel() 
    71         model2  = LineModel() 
     67        model11  = LineModel() 
     68        model22  = LineModel() 
    7269         
    7370        #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       
    7677        fitter.set_data(data1,1) 
    7778        fitter.set_model(model1,"M1",1,['A','B']) 
    7879         
    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 
    8085        """ testing SCIPy results""" 
    8186        self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2) 
     
    8792        #Do the fit 
    8893        fitter.set_data(data1,1) 
    89         model2.setParam( 'A', 2) 
    90         model2.setParam( 'B', 1) 
     94        model2.setParams( [2,1]) 
     95     
    9196        fitter.set_model(model2,"M1",1,['A','B']) 
    9297        
    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 
    95102        self.assert_(math.fabs(out2[1]-2.5)/math.sqrt(cov2[1][1]) < 2) 
    96103        self.assert_(math.fabs(out2[0]-4.0)/math.sqrt(cov2[0][0]) < 2) 
     
    103110        self.assertAlmostEquals(cov1[1][1], cov2[1][1],1) 
    104111        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 
    105136        
     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     
    106147       
Note: See TracChangeset for help on using the changeset viewer.