Changes in / [f845454:99f3e053] in sasview


Ignore:
Files:
3 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • build_tools/jenkins_linux_build.sh

    r128c287 r8ca1ba1  
    3737cd sasmodels 
    3838$PYTHON setup.py bdist_egg 
    39 $PYTHON -m sasmodels.model_test all 
     39 
    4040 
    4141# SASVIEW 
  • build_tools/jenkins_osx_build.sh

    rb742b8b5 r8ca1ba1  
    3737make html 
    3838 
    39 #SASMODELS - BUILDING AND TESTING 
    4039cd $WORKSPACE 
    4140cd sasmodels 
    4241$PYTHON setup.py bdist_egg 
    43 $PYTHON -m sasmodels.model_test all 
     42 
    4443 
    4544# SASVIEW 
  • build_tools/jenkins_win64_build.bat

    rec57735 rb636c0ba  
    4747cd sasmodels 
    4848%PYTHON% setup.py bdist_egg 
    49 %PYTHON% -m sasmodels.model_test all 
    5049 
    5150:: SASMODELS install egg ############################################## 
  • build_tools/jenkins_win_build.bat

    r5dab2bc r801a296  
    4848cd sasmodels 
    4949%PYTHON% setup.py bdist_egg 
    50 %PYTHON% -m sasmodels.model_test all 
     50 
    5151 
    5252:: SASMODELS install egg ############################################## 
  • src/sas/sascalc/dataloader/manipulations.py

    rb2b36932 rb699768  
    143143        :return: Data1D object 
    144144        """ 
    145         if len(data2D.detector) > 1: 
     145        if len(data2D.detector) != 1: 
    146146            msg = "_Slab._avg: invalid number of " 
    147147            msg += " detectors: %g" % len(data2D.detector) 
     
    299299            error on number of counts, number of entries summed 
    300300        """ 
    301         if len(data2D.detector) > 1: 
     301        if len(data2D.detector) != 1: 
    302302            msg = "Circular averaging: invalid number " 
    303303            msg += "of detectors: %g" % len(data2D.detector) 
  • src/sas/sascalc/dataloader/readers/ascii_reader.py

    rd2471870 r7d94915  
    172172                input_f.close() 
    173173                if not is_data: 
    174                     msg = "ascii_reader: x has no data" 
    175                     raise RuntimeError, msg 
     174                    return None 
    176175                # Sanity check 
    177176                if has_error_dy == True and not len(ty) == len(tdy): 
  • src/sas/sascalc/dataloader/readers/cansas_reader_HDF5.py

    rbbd0f37 r5e906207  
    162162                    else: 
    163163                        self.current_dataset.x = data_set.flatten() 
    164                     continue 
    165                 elif key == u'Qdev': 
    166                     self.current_dataset.dx = data_set.flatten() 
    167164                    continue 
    168165                elif key == u'Qy': 
  • src/sas/sascalc/fit/BumpsFitting.py

    r345e7e4 rb699768  
    44import os 
    55from datetime import timedelta, datetime 
    6 import traceback 
    76 
    87import numpy 
     
    294293            R.success = result['success'] 
    295294            if R.success: 
    296                 if result['stderr'] is None: 
    297                     R.stderr = numpy.NaN*numpy.ones(len(param_list)) 
    298                 else: 
    299                     R.stderr = numpy.hstack((result['stderr'][fitted_index], 
    300                                              numpy.NaN*numpy.ones(len(fitness.computed_pars)))) 
     295                R.stderr = numpy.hstack((result['stderr'][fitted_index], 
     296                                         numpy.NaN*numpy.ones(len(fitness.computed_pars)))) 
    301297                R.pvec = numpy.hstack((result['value'][fitted_index], 
    302298                                      [p.value for p in fitness.computed_pars])) 
     
    310306                R.uncertainty_state = result['uncertainty'] 
    311307            all_results.append(R) 
    312         all_results[0].mesg = result['errors'] 
    313308 
    314309        if q is not None: 
     
    349344    try: 
    350345        best, fbest = fitdriver.fit() 
    351         errors = [] 
    352     except Exception as exc: 
    353         best, fbest = None, numpy.NaN 
    354         errors = [str(exc), traceback.traceback.format_exc()] 
     346    except: 
     347        import traceback; traceback.print_exc() 
     348        raise 
    355349    finally: 
    356350        mapper.stop_mapper(fitdriver.mapper) 
     
    362356 
    363357    success = best is not None 
    364     try: 
    365         stderr = fitdriver.stderr() if success else None 
    366     except Exception as exc: 
    367         errors.append(str(exc)) 
    368         errors.append(traceback.format_exc()) 
    369         stderr = None 
    370358    return { 
    371359        'value': best if success else None, 
    372         'stderr': stderr, 
     360        'stderr': fitdriver.stderr() if success else None, 
    373361        'success': success, 
    374362        'convergence': convergence, 
    375363        'uncertainty': getattr(fitdriver.fitter, 'state', None), 
    376         'errors': '\n'.join(errors), 
    377364        } 
    378365 
  • src/sas/sasgui/guiframe/gui_manager.py

    r67b0a99 rc8e1996  
    19501950                    item, _, _ = value 
    19511951                    item.Check(True) 
     1952            self._data_panel.on_remove(None, False) 
    19521953 
    19531954            wx.PostEvent(self, StatusEvent(status="Loading Project file...")) 
     
    19621963                # Reset to a base state 
    19631964                self._on_reset_state() 
    1964                 self._data_panel.on_remove(None, False) 
    19651965                # Load the project file 
    19661966                self.load_state(path=path, is_project=True) 
     
    24562456                                                group_id=group_id, 
    24572457                                                action='remove')) 
     2458                # remove res plot: Todo: improve 
    24582459                wx.CallAfter(self._remove_res_plot, new_plot.id) 
    24592460        self._data_manager.delete_data(data_id=data_id, 
  • src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter2D.py

    rb2b36932 r1a696bf  
    316316 
    317317        slicerpop.AppendSeparator() 
    318         if len(self.data2D.detector) <= 1: 
     318        if len(self.data2D.detector) == 1: 
    319319            item_list = self.parent.get_current_context_menu(self) 
    320320            if (not item_list == None) and (not len(item_list) == 0) and\ 
  • src/sas/sasgui/perspectives/fitting/basepage.py

    r345e7e4 r99f3e053  
    15321532                        val = len(val) if isinstance(val, list) else 1 
    15331533                        self.Npts_fit.SetValue(str(val)) 
    1534  
    15351534                    else: 
    15361535                        # No data in the panel 
  • src/sas/sasgui/perspectives/fitting/fitpanel.py

    r67b0a99 rc8e1996  
    189189        # use while-loop, for-loop will not do the job well. 
    190190        while (self.GetPageCount() > 0): 
    191             page = self.GetPage(self.GetPageCount() - 1) 
     191            # delete the first page until no page exists 
     192            page = self.GetPage(0) 
    192193            if self._manager.parent.panel_on_focus == page: 
    193194                self._manager.parent.panel_on_focus = None 
    194195            self._close_helper(selected_page=page) 
    195             self.DeletePage(self.GetPageCount() - 1) 
     196            self.DeletePage(0) 
    196197        # Clear list of names 
    197198        self.fit_page_name = {} 
     
    399400                    temp = self.GetSelection() 
    400401                    self.DeletePage(temp) 
    401             if self.sim_page is not None: 
    402                 if len(self.sim_page.model_list) == 0: 
    403                     pos = self.GetPageIndex(self.sim_page) 
    404                     self.SetSelection(pos) 
    405                     self.on_close_page(event=None) 
    406                     temp = self.GetSelection() 
    407                     self.DeletePage(temp) 
    408                     self.sim_page = None 
    409                     self.batch_on = False 
    410402            if self.GetPageCount() == 0: 
    411403                self._manager.on_add_new_page(event=None) 
  • src/sas/sasgui/perspectives/fitting/fitting.py

    r1a5d5f2 rec72ceb  
    15211521            for uid in page_id: 
    15221522                res = result[index] 
    1523                 fit_msg = res.mesg 
    15241523                if res.fitness is None or \ 
    15251524                    not numpy.isfinite(res.fitness) or \ 
    15261525                    numpy.any(res.pvec == None) or \ 
    15271526                    not numpy.all(numpy.isfinite(res.pvec)): 
    1528                     fit_msg += "\nFitting did not converge!!!" 
     1527                    msg = "Fitting did not converge!!!" 
     1528                    evt = StatusEvent(status=msg, info="warning", type="stop") 
     1529                    wx.PostEvent(self.parent, evt) 
    15291530                    wx.CallAfter(self._update_fit_button, page_id) 
    15301531                else: 
     
    15491550                        wx.CallAfter(cpage._on_fit_complete) 
    15501551                    except KeyboardInterrupt: 
    1551                         fit_msg += "\nSingular point: Fitting stopped." 
     1552                        msg = "Singular point: Fitting Stoped." 
     1553                        evt = StatusEvent(status=msg, info="info", type="stop") 
     1554                        wx.PostEvent(self.parent, evt) 
    15521555                    except: 
    1553                         fit_msg += "\nSingular point: Fitting error occurred." 
    1554                 if fit_msg: 
    1555                    evt = StatusEvent(status=fit_msg, info="warning", type="stop") 
    1556                    wx.PostEvent(self.parent, evt) 
     1556                        msg = "Singular point: Fitting Error occurred." 
     1557                        evt = StatusEvent(status=msg, info="error", type="stop") 
     1558                        wx.PostEvent(self.parent, evt) 
    15571559 
    15581560        except: 
  • src/sas/sasgui/perspectives/fitting/media/plugin.rst

    rca1eaeb r20cfa23  
    560560 
    561561    M_PI_180, M_4PI_3: 
    562         $\frac{\pi}{180}$, $\frac{4\pi}{3}$ 
     562        $\pi/{180}$, $\tfrac{4}{3}\pi$ 
    563563    SINCOS(x, s, c): 
    564564        Macro which sets s=sin(x) and c=cos(x). The variables *c* and *s* 
     
    596596These functions have been tuned to be fast and numerically stable down 
    597597to $q=0$ even in single precision.  In some cases they work around bugs 
    598 which appear on some platforms but not others, so use them where needed. 
    599 Add the files listed in :code:`source = ["lib/file.c", ...]` to your *model.py* 
    600 file in the order given, otherwise these functions will not be available. 
     598which appear on some platforms but not others. So use them where needed!!! 
    601599 
    602600    polevl(x, c, n): 
    603         Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^i$ using Horner's 
     601        Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^{n-i}$ using Horner's 
    604602        method so it is faster and more accurate. 
    605603 
    606         $c = \{c_n, c_{n-1}, \ldots, c_0 \}$ is the table of coefficients, 
    607         sorted from highest to lowest. 
    608  
    609         :code:`source = ["lib/polevl.c", ...]` (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/polevl.c>`_) 
    610  
    611     p1evl(x, c, n): 
    612         Evaluation of normalized polynomial $p(x) = x^n + \sum_{i=0}^{n-1} c_i x^i$ 
    613         using Horner's method so it is faster and more accurate. 
    614  
    615         $c = \{c_{n-1}, c_{n-2} \ldots, c_0 \}$ is the table of coefficients, 
    616         sorted from highest to lowest. 
    617  
    618604        :code:`source = ["lib/polevl.c", ...]` 
    619         (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/polevl.c>`_) 
    620  
    621     sas_gamma(x): 
    622         Gamma function $\text{sas_gamma}(x) = \Gamma(x)$. 
    623  
    624         The standard math function, tgamma(x) is unstable for $x < 1$ 
     605 
     606    sas_gamma: 
     607        Gamma function $\text{sas_gamma}(x) = \Gamma(x)$.  The standard math 
     608        library gamma function, tgamma(x) is unstable below 1 on some platforms. 
     609 
     610        :code:`source = ["lib/sasgamma.c", ...]` 
     611 
     612    erf, erfc: 
     613        Error function 
     614        $\text{erf}(x) = \frac{1}{\sqrt\pi}\int_0^x e^{-t^2}\,dt$ 
     615        and complementary error function 
     616        $\text{erfc}(x) = \frac{1}{\sqrt\pi}\int_x^\inf e^{-t^2}\,dt$. 
     617        The standard math library erf and erfc are slower and broken 
    625618        on some platforms. 
    626619 
    627         :code:`source = ["lib/sasgamma.c", ...]` 
    628         (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_gamma.c>`_) 
    629  
    630     sas_erf(x), sas_erfc(x): 
    631         Error function 
    632         $\text{sas_erf}(x) = \frac{2}{\sqrt\pi}\int_0^x e^{-t^2}\,dt$ 
    633         and complementary error function 
    634         $\text{sas_erfc}(x) = \frac{2}{\sqrt\pi}\int_x^{\infty} e^{-t^2}\,dt$. 
    635  
    636         The standard math functions erf(x) and erfc(x) are slower and broken 
    637         on some platforms. 
    638  
    639620        :code:`source = ["lib/polevl.c", "lib/sas_erf.c", ...]` 
    640         (`link to error functions' code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_erf.c>`_) 
    641  
    642     sas_J0(x): 
    643         Bessel function of the first kind $\text{sas_J0}(x)=J_0(x)$ where 
     621 
     622    sas_J0: 
     623        Bessel function of the first kind where 
    644624        $J_0(x) = \frac{1}{\pi}\int_0^\pi \cos(x\sin(\tau))\,d\tau$. 
    645625 
    646         The standard math function j0(x) is not available on all platforms. 
    647  
    648626        :code:`source = ["lib/polevl.c", "lib/sas_J0.c", ...]` 
    649         (`link to Bessel function's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_J0.c>`_) 
    650  
    651     sas_J1(x): 
    652         Bessel function of the first kind  $\text{sas_J1}(x)=J_1(x)$ where 
     627 
     628    sas_J1: 
     629        Bessel function of the first kind where 
    653630        $J_1(x) = \frac{1}{\pi}\int_0^\pi \cos(\tau - x\sin(\tau))\,d\tau$. 
    654631 
    655         The standard math function j1(x) is not available on all platforms. 
    656  
    657632        :code:`source = ["lib/polevl.c", "lib/sas_J1.c", ...]` 
    658         (`link to Bessel function's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_J1.c>`_) 
    659  
    660     sas_JN(n, x): 
    661         Bessel function of the first kind and integer order $n$: 
    662         $\text{sas_JN}(n, x)=J_n(x)$ where 
     633 
     634    sas_JN: 
     635        Bessel function of the first kind where 
    663636        $J_n(x) = \frac{1}{\pi}\int_0^\pi \cos(n\tau - x\sin(\tau))\,d\tau$. 
    664         If $n$ = 0 or 1, it uses sas_J0(x) or sas_J1(x), respectively. 
    665  
    666         The standard math function jn(n, x) is not available on all platforms. 
    667637 
    668638        :code:`source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", "lib/sas_JN.c", ...]` 
    669         (`link to Bessel function's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_JN.c>`_) 
    670  
    671     Si(x): 
     639 
     640    Si: 
    672641        Sine integral $\text{Si}(x) = \int_0^x \tfrac{\sin t}{t}\,dt$. 
    673642 
    674         This function uses Taylor series for small and large arguments: 
    675  
    676         For large arguments, 
    677  
    678         .. math:: 
    679  
    680              \text{Si}(x) \sim \frac{\pi}{2} 
    681              - \frac{\cos(x)}{x}\left(1 - \frac{2!}{x^2} + \frac{4!}{x^4} - \frac{6!}{x^6} \right) 
    682              - \frac{\sin(x)}{x}\left(\frac{1}{x} - \frac{3!}{x^3} + \frac{5!}{x^5} - \frac{7!}{x^7}\right) 
    683  
    684         For small arguments, 
    685  
    686         .. math:: 
    687  
    688            \text{Si}(x) \sim x 
    689            - \frac{x^3}{3\times 3!} + \frac{x^5}{5 \times 5!} - \frac{x^7}{7 \times 7!} 
    690            + \frac{x^9}{9\times 9!} - \frac{x^{11}}{11\times 11!} 
    691  
    692         :code:`source = ["lib/Si.c", ...]` 
    693         (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/Si.c>`_) 
    694  
    695     sph_j1c(x): 
     643        :code:`soure = ["lib/Si.c", ...]` 
     644 
     645    sph_j1c(qr): 
    696646        Spherical Bessel form 
    697         $\text{sph_j1c}(x) = 3 j_1(x)/x = 3 (\sin(x) - x \cos(x))/x^3$, 
    698         with a limiting value of 1 at $x=0$, where $j_1(x)$ is the spherical 
    699         Bessel function of the first kind and first order. 
    700  
    701         This function uses a Taylor series for small $x$ for numerical accuracy. 
     647        $F(qr) = 3 j_1(qr)/(qr) = 3 (\sin(qr) - qr \cos(qr))/{(qr)^3}$, 
     648        with a limiting value of 1 at $qr=0$.  This function uses a Taylor 
     649        series for small $qr$ for numerical accuracy. 
    702650 
    703651        :code:`source = ["lib/sph_j1c.c", ...]` 
    704         (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sph_j1c.c>`_) 
    705  
    706  
    707     sas_J1c(x): 
    708         Bessel form $\text{sas_J1c}(x) = 2 J_1(x)/x$, with a limiting value 
    709         of 1 at $x=0$, where $J_1(x)$ is the Bessel function of first kind 
    710         and first order. 
     652 
     653    sas_J1c(qr): 
     654        Bessel form $F(qr) = 2 J_1(qr)/{(qr)}$, with a limiting value of 1 at $qr=0$. 
    711655 
    712656        :code:`source = ["lib/polevl.c", "lib/sas_J1.c", ...]` 
    713         (`link to Bessel form's code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/sas_J1.c>`_) 
    714  
    715  
    716     Gauss76Z[i], Gauss76Wt[i]: 
    717         Points $z_i$ and weights $w_i$ for 76-point Gaussian quadrature, respectively, 
    718         computing $\int_{-1}^1 f(z)\,dz \approx \sum_{i=1}^{76} w_i\,f(z_i)$. 
    719  
    720         Similar arrays are available in :code:`gauss20.c` for 20-point 
    721         quadrature and in :code:`gauss150.c` for 150-point quadrature. 
    722  
    723         :code:`source = ["lib/gauss76.c", ...]` 
    724         (`link to code <https://github.com/SasView/sasmodels/tree/master/sasmodels/models/lib/gauss76.c>`_) 
    725  
    726  
     657 
     658    Gauss76z[i], Gauss76Wt[i]: 
     659        Points $z_i$ and weights $w_i$ for 76-point Gaussian quadrature, 
     660        computing $\int_{-1}^1 f(z)\,dz \approx \sum_{i=1}^{76} w_i f(z_i)$. 
     661        Similar arrays are available in :code:`gauss20.c` for 20 point 
     662        quadrature and in :code:`gauss150.c` for 150 point quadrature. 
     663 
     664        :code:`source = ["gauss76.c", ...]` 
    727665 
    728666Problems with C models 
  • src/sas/sasgui/perspectives/invariant/media/invariant_help.rst

    r484141c rb64b87c  
    116116Academic Press, New York, 1982 
    117117 
    118 http://web.archive.org/web/20110824105537/http://physchem.kfunigraz.ac.at/sm/Service/Glatter_Kratky_SAXS_1982.zip 
     118http://physchem.kfunigraz.ac.at/sm/ 
    119119 
    120120.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
  • test/sasdataloader/test/utest_ascii.py

    r3d29f26b r7d94915  
    9292        """ 
    9393        # Test .ABS file loaded as ascii 
    94         f = None 
    95         try: 
    96             f = self.loader.load("ascii_test_6.txt") 
     94        f = self.loader.load("ascii_test_6.txt") 
    9795        # The length of the data is 5 
    98         except: 
    99             self.assertEqual(f, None) 
     96        self.assertEqual(f, None) 
    10097         
    10198if __name__ == '__main__': 
Note: See TracChangeset for help on using the changeset viewer.