Ignore:
Timestamp:
Oct 11, 2011 5:51:37 PM (13 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:
6a4002d
Parents:
d59cb8c
Message:

make sure result similar for both engine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • park_integration/src/sans/fit/ScipyFitting.py

    r425e49ca r444c900e  
    1515from sans.fit.AbstractFitEngine import FitAbort 
    1616from sans.fit.AbstractFitEngine import Model 
    17 IS_MAC = True 
    18 if sys.platform.count("win32") > 0: 
    19     IS_MAC = False 
    20      
    21 class fitresult(object): 
    22     """ 
    23     Storing fit result 
    24     """ 
    25     def __init__(self, model=None, param_list=None, data=None): 
    26         self.calls = None 
    27         self.fitness = None 
    28         self.chisqr = None 
    29         self.pvec = None 
    30         self.cov = None 
    31         self.info = None 
    32         self.mesg = None 
    33         self.success = None 
    34         self.stderr = None 
    35         self.parameters = None 
    36         self.is_mac = IS_MAC 
    37         if issubclass(model.__class__, Model): 
    38             model = model.model 
    39         self.model = model 
    40         self.data = data 
    41         self.theory = None 
    42         self.param_list = param_list 
    43         self.iterations = 0 
    44          
    45         self.inputs = [(self.model, self.data)] 
    46       
    47     def set_model(self, model): 
    48         """ 
    49         """ 
    50         self.model = model 
    51          
    52     def set_fitness(self, fitness): 
    53         """ 
    54         """ 
    55         self.fitness = fitness 
    56          
    57     def __str__(self): 
    58         """ 
    59         """ 
    60         if self.pvec == None and self.model is None and self.param_list is None: 
    61             return "No results" 
    62         n = len(self.model.parameterset) 
    63         self.iterations += 1 
    64         result_param = zip(xrange(n), self.model.parameterset) 
    65         msg1 = ["[Iteration #: %s ]" % self.iterations] 
    66         msg3 = ["=== goodness of fit: %s ===" % (str(self.fitness))] 
    67         if not self.is_mac: 
    68             msg2 = ["P%-3d  %s......|.....%s" % \ 
    69                 (p[0], p[1], p[1].value)\ 
    70                   for p in result_param if p[1].name in self.param_list] 
    71             msg =  msg1 + msg3 + msg2 
    72         else: 
    73             msg = msg1 + msg3 
    74         msg = "\n".join(msg) 
    75         return msg 
    76      
    77     def print_summary(self): 
    78         """ 
    79         """ 
    80         print self    
     17from sans.fit.AbstractFitEngine import FResult  
    8118 
    8219class ScipyFit(FitEngine): 
     
    14683        self._check_param_range(model) 
    14784         
    148         result = fitresult(model=model, data=data.sans_data, param_list=self.param_list) 
     85        result = FResult(model=model, data=data, param_list=self.param_list) 
    14986        if handler is not None: 
    15087            handler.set_result(result=result) 
     
    197134            if success < 1 or success > 5: 
    198135                result = None 
    199             return result 
     136        return [result] 
     137        """ 
    200138        else: 
    201139            return None 
     140        """ 
    202141        # Error will be present to the client, not here  
    203142        #else:   
Note: See TracChangeset for help on using the changeset viewer.