Ignore:
Timestamp:
Oct 5, 2016 1:03:32 PM (8 years ago)
Author:
Mathieu Doucet <doucetm@…>
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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
6a0c75d1
Parents:
c807957
Message:

Add rescaled data (re #687)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/model_thread.py

    rc807957 r804fefa  
    167167 
    168168        # If we use a smearer, also return the unsmeared model 
    169         output_unsmeared = None 
     169        unsmeared_output = None 
     170        unsmeared_data = None 
     171        unsmeared_error = None 
    170172        ##smearer the ouput of the plot 
    171173        if self.smearer is not None: 
     
    173175                                                             self.qmax) 
    174176            mask = self.data.x[first_bin:last_bin+1] 
    175             output_unsmeared = numpy.zeros((len(self.data.x))) 
    176             output_unsmeared[first_bin:last_bin+1] = self.model.evalDistribution(mask) 
    177             output = self.smearer(output_unsmeared, first_bin, last_bin) 
    178             output_unsmeared = output_unsmeared[index] 
     177            unsmeared_output = numpy.zeros((len(self.data.x))) 
     178            unsmeared_output[first_bin:last_bin+1] = self.model.evalDistribution(mask) 
     179            output = self.smearer(unsmeared_output, first_bin, last_bin) 
     180             
     181            # Rescale data to unsmeared model 
     182            unsmeared_data = numpy.zeros((len(self.data.x))) 
     183            unsmeared_error = numpy.zeros((len(self.data.x))) 
     184            unsmeared_data[first_bin:last_bin+1] = self.data.y[first_bin:last_bin+1]\ 
     185                                                    * unsmeared_output[first_bin:last_bin+1]\ 
     186                                                    / output[first_bin:last_bin+1] 
     187            unsmeared_error[first_bin:last_bin+1] = self.data.dy[first_bin:last_bin+1]\ 
     188                                                    * unsmeared_output[first_bin:last_bin+1]\ 
     189                                                    / output[first_bin:last_bin+1] 
     190            unsmeared_output=unsmeared_output[index] 
     191            unsmeared_data=unsmeared_data[index] 
     192            unsmeared_error=unsmeared_error 
    179193        else: 
    180194            output[index] = self.model.evalDistribution(self.data.x[index]) 
     
    192206                      update_chisqr=self.update_chisqr, 
    193207                      source=self.source, 
    194                       unsmeared_model=output_unsmeared) 
     208                      unsmeared_model=unsmeared_output, 
     209                      unsmeared_data=unsmeared_data, 
     210                      unsmeared_error=unsmeared_error) 
    195211 
    196212    def results(self): 
Note: See TracChangeset for help on using the changeset viewer.