Changeset f7d39c9 in sasview for src/sas/qtgui/Perspectives/Fitting


Ignore:
Timestamp:
Aug 22, 2018 7:00:00 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_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
b7f7d3f
Parents:
0d8b2db
Message:

Several fixes for runtime errors. SASVIEW-988.
Failures in Algorithm Option dialog
Q Ranges not showing properly with charts

Location:
src/sas/qtgui/Perspectives/Fitting
Files:
2 edited

Legend:

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

    raed0532 rf7d39c9  
    146146            """ 
    147147            widget = self.widgetFromOption(option) 
    148             new_value = widget.currentText() if isinstance(widget, QtWidgets.QComboBox) \ 
    149                 else float(widget.text()) 
    150             self.config.values[self.current_fitter_id][option] = new_value 
     148            if widget is None: 
     149                return 
     150            try: 
     151                new_value = widget.currentText() if isinstance(widget, QtWidgets.QComboBox) \ 
     152                    else float(widget.text()) 
     153                self.config.values[self.current_fitter_id][option] = new_value 
     154            except ValueError: 
     155                # Don't update bumps if widget has bad data 
     156                self.reject 
    151157 
    152158        # Update the BUMPS singleton 
  • src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py

    r04972ea rf7d39c9  
    335335    gn = reference_data.y 
    336336    en = dy[index][0] 
     337 
     338    # x values 
     339    x_current = current_data.x 
     340    x_reference = reference_data.x 
     341 
    337342    # build residuals 
    338343    residuals = Data1D() 
     
    340345        y = (fn - gn)/en 
    341346        residuals.y = -y 
     347    elif len(fn) > len(gn): 
     348        residuals.y = (fn - gn[1:len(fn)])/en 
    342349    else: 
    343         # TODO: fix case where applying new data from file on top of existing model data 
    344350        try: 
    345             y = (fn - gn[index][0]) / en 
     351            y = numpy.zeros(len(current_data.y)) 
     352            begin = 0 
     353            for i, x_value in enumerate(x_reference): 
     354                if x_value in x_current: 
     355                    begin = i 
     356                    break 
     357            end = len(x_reference) 
     358            endl = 0 
     359            for i, x_value in enumerate(list(x_reference)[::-1]): 
     360                if x_value in x_current: 
     361                    endl = i 
     362                    break 
     363            # make sure we have correct lengths 
     364            assert len(x_current) == len(x_reference[begin:end-endl]) 
     365 
     366            y = (fn - gn[begin:end-endl])/en 
    346367            residuals.y = y 
    347368        except ValueError: 
Note: See TracChangeset for help on using the changeset viewer.