Changes in / [9ba91b7:fb560d2] in sasview


Ignore:
Location:
src/sas/qtgui/Perspectives/Fitting
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Fitting/FittingLogic.py

    rdcabba7 rdcabba7  
    161161        Create a new 1D data instance based on fitting results 
    162162        """ 
     163 
    163164        return self._create1DPlot(tab_id, return_data['x'], return_data['y'], 
    164165                                  return_data['model'], return_data['data']) 
     
    211212        (pq_plot, sq_plot). If either are unavailable, the corresponding plot is None. 
    212213        """ 
    213         plots = [] 
    214         for name, result in return_data['intermediate_results'].items(): 
    215             plots.append(self._create1DPlot(tab_id, return_data['x'], result, 
    216                          return_data['model'], return_data['data'], 
    217                          component=name)) 
    218         return plots 
     214 
     215        pq_plot = None 
     216        sq_plot = None 
     217 
     218        if return_data.get('pq_values', None) is not None: 
     219            pq_plot = self._create1DPlot(tab_id, return_data['x'], 
     220                    return_data['pq_values'], return_data['model'], 
     221                    return_data['data'], component="P(Q)") 
     222        if return_data.get('sq_values', None) is not None: 
     223            sq_plot = self._create1DPlot(tab_id, return_data['x'], 
     224                    return_data['sq_values'], return_data['model'], 
     225                    return_data['data'], component="S(Q)") 
     226 
     227        return pq_plot, sq_plot 
    219228 
    220229    def computeDataRange(self): 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    r0109f2a r0109f2a  
    24172417 
    24182418        # Create plots for intermediate product data 
    2419         plots = self.logic.new1DProductPlots(return_data, self.tab_id) 
    2420         for plot in plots: 
    2421             plot.symbol = "Line" 
    2422             self.createNewIndex(plot) 
    2423             new_plots.append(plot) 
     2419        pq_data, sq_data = self.logic.new1DProductPlots(return_data, self.tab_id) 
     2420        if pq_data is not None: 
     2421            pq_data.symbol = "Line" 
     2422            self.createNewIndex(pq_data) 
     2423            # self.communicate.plotUpdateSignal.emit([pq_data]) 
     2424            new_plots.append(pq_data) 
     2425        if sq_data is not None: 
     2426            sq_data.symbol = "Line" 
     2427            self.createNewIndex(sq_data) 
     2428            # self.communicate.plotUpdateSignal.emit([sq_data]) 
     2429            new_plots.append(sq_data) 
    24242430 
    24252431        for plot in new_plots: 
  • src/sas/qtgui/Perspectives/Fitting/ModelThread.py

    rdcabba7 rdcabba7  
    195195            output[index] = self.model.evalDistribution(self.data.x[index]) 
    196196 
    197         results_eval = {} 
    198         intermediate_results = getattr(self.model, "_intermediate_results", None) 
    199         if callable(intermediate_results): 
    200             # support for future sasmodels (beta approx support) - it returns a dict of intermediate results, keyed by 
    201             # name 
    202             results_eval = intermediate_results() 
    203         else: 
    204             sq_values = None 
    205             pq_values = None 
    206             s_model = None 
    207             p_model = None 
    208             if isinstance(self.model, MultiplicationModel): 
    209                 s_model = self.model.s_model 
    210                 p_model = self.model.p_model 
    211             elif hasattr(self.model, "calc_composition_models"): 
    212                 results = self.model.calc_composition_models(self.data.x[index]) 
    213                 if results is not None: 
    214                     pq_values, sq_values = results 
    215  
    216             if pq_values is None or sq_values is None: 
    217                 if p_model is not None and s_model is not None: 
    218                     sq_values = numpy.zeros((len(self.data.x))) 
    219                     pq_values = numpy.zeros((len(self.data.x))) 
    220                     sq_values[index] = s_model.evalDistribution(self.data.x[index]) 
    221                     pq_values[index] = p_model.evalDistribution(self.data.x[index]) 
    222  
    223             if pq_values is not None and sq_values is not None: 
    224                 results_eval = { 
    225                     "P(Q)": pq_values, 
    226                     "S(Q)": sq_values 
    227                 } 
     197        sq_values = None 
     198        pq_values = None 
     199        s_model = None 
     200        p_model = None 
     201        if isinstance(self.model, MultiplicationModel): 
     202            s_model = self.model.s_model 
     203            p_model = self.model.p_model 
     204        elif hasattr(self.model, "calc_composition_models"): 
     205            results = self.model.calc_composition_models(self.data.x[index]) 
     206            if results is not None: 
     207                pq_values, sq_values = results 
     208 
     209        if pq_values is None or sq_values is None: 
     210            if p_model is not None and s_model is not None: 
     211                sq_values = numpy.zeros((len(self.data.x))) 
     212                pq_values = numpy.zeros((len(self.data.x))) 
     213                sq_values[index] = s_model.evalDistribution(self.data.x[index]) 
     214                pq_values[index] = p_model.evalDistribution(self.data.x[index]) 
    228215 
    229216        elapsed = time.time() - self.starttime 
     
    236223            source = self.source, unsmeared_output = unsmeared_output, 
    237224            unsmeared_data = unsmeared_data, unsmeared_error = unsmeared_error, 
    238             intermediate_results = results_eval) 
     225            pq_values = pq_values, sq_values = sq_values) 
    239226 
    240227        if LocalConfig.USING_TWISTED: 
  • src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingLogicTest.py

    rd6c4987 re752ab8  
    103103                       data, False, None, 
    104104                       None, None, None, 
    105                        None) 
     105                       None, None) 
    106106 
    107107        new_plot = self.logic.new1DPlot(return_data=return_data, tab_id=0) 
Note: See TracChangeset for help on using the changeset viewer.