Ignore:
Timestamp:
May 28, 2018 6:08:36 AM (6 years ago)
Author:
Piotr Rozyczko <rozyczko@…>
Branches:
ESS_GUI, 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
Children:
3010f68
Parents:
c389557
Message:

Fixed smearing for 1 and 2D

File:
1 edited

Legend:

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

    r87dfca4 r9a7c81c  
    400400        self.onSelectModel() 
    401401        # Smearing tab 
    402         self.smearing_widget.updateSmearing(self.data) 
     402        self.smearing_widget.updateData(self.data) 
    403403 
    404404    def acceptsData(self): 
     
    472472        self.lblChi2Value.setText("---") 
    473473        # Smearing tab 
    474         self.smearing_widget.updateSmearing(self.data) 
     474        self.smearing_widget.updateData(self.data) 
    475475        # Line edits in the option tab 
    476476        self.updateQRange() 
     
    515515        self.communicate.customModelDirectoryChanged.connect(self.onCustomModelChange) 
    516516        self.communicate.saveAnalysisSignal.connect(self.savePageState) 
     517        self.smearing_widget.smearingChangedSignal.connect(self.onSmearingOptionsUpdate) 
    517518        #self.communicate.saveReportSignal.connect(self.saveReport) 
    518519 
     
    14411442            raise ValueError('Fitting requires at least one parameter to optimize.') 
    14421443 
    1443         # Potential weights added directly to data 
    1444         self.addWeightingToData(data) 
    1445  
    14461444        # Potential smearing added 
    14471445        # Remember that smearing_min/max can be None -> 
    14481446        # deal with it until Python gets discriminated unions 
    1449         smearing, accuracy, smearing_min, smearing_max = self.smearing_widget.state() 
     1447        self.addWeightingToData(data) 
    14501448 
    14511449        # Get the constraints. 
     
    14551453            constraints = self.getConstraintsForFitting() 
    14561454 
    1457         smearer = None 
     1455        smearer = self.smearing_widget.smearer() 
    14581456        handler = None 
    14591457        batch_inputs = {} 
     
    14641462            fitter_single = Fit() if fitter is None else fitter 
    14651463            data = GuiUtils.dataFromItem(fit_index) 
     1464            # Potential weights added directly to data 
     1465            self.addWeightingToData(data) 
    14661466            try: 
    14671467                fitter_single.set_model(model, fit_id, params_to_fit, data=data, 
     
    17031703        self.showPlot() 
    17041704 
     1705    def onSmearingOptionsUpdate(self): 
     1706        """ 
     1707        React to changes in the smearing widget 
     1708        """ 
     1709        self.calculateQGridForModel() 
     1710 
    17051711    def recalculatePlotData(self): 
    17061712        """ 
     
    18341840        # Send original data for weighting 
    18351841        weight = FittingUtilities.getWeight(data=data, is2d=self.is2D, flag=self.weighting) 
    1836         update_module = data.err_data if self.is2D else data.dy 
    1837         # Overwrite relevant values in data 
    1838         update_module = weight 
     1842        if self.is2D: 
     1843            data.err_data = weight 
     1844        else: 
     1845            data.dy = weight 
     1846        pass 
    18391847 
    18401848    def updateQRange(self): 
     
    18891897        # Change the model name to a monicker 
    18901898        self.kernel_module.name = self.modelName() 
     1899        # Update the smearing tab 
     1900        self.smearing_widget.updateKernelModel(kernel_model=self.kernel_module) 
    18911901 
    18921902        # (Re)-create headers 
     
    21062116        if completefn is None: 
    21072117            completefn = self.methodCompleteForData() 
    2108  
     2118        smearer = self.smearing_widget.smearer() 
    21092119        # Awful API to a backend method. 
    21102120        calc_thread = self.methodCalculateForData()(data=data, 
     
    21132123                                               qmin=self.q_range_min, 
    21142124                                               qmax=self.q_range_max, 
    2115                                                smearer=None, 
     2125                                               smearer=smearer, 
    21162126                                               state=None, 
    21172127                                               weight=None, 
Note: See TracChangeset for help on using the changeset viewer.