Changes in / [f845454:99f3e053] in sasview
- Files:
-
- 3 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
build_tools/jenkins_linux_build.sh
r128c287 r8ca1ba1 37 37 cd sasmodels 38 38 $PYTHON setup.py bdist_egg 39 $PYTHON -m sasmodels.model_test all 39 40 40 41 41 # SASVIEW -
build_tools/jenkins_osx_build.sh
rb742b8b5 r8ca1ba1 37 37 make html 38 38 39 #SASMODELS - BUILDING AND TESTING40 39 cd $WORKSPACE 41 40 cd sasmodels 42 41 $PYTHON setup.py bdist_egg 43 $PYTHON -m sasmodels.model_test all 42 44 43 45 44 # SASVIEW -
build_tools/jenkins_win64_build.bat
rec57735 rb636c0ba 47 47 cd sasmodels 48 48 %PYTHON% setup.py bdist_egg 49 %PYTHON% -m sasmodels.model_test all50 49 51 50 :: SASMODELS install egg ############################################## -
build_tools/jenkins_win_build.bat
r5dab2bc r801a296 48 48 cd sasmodels 49 49 %PYTHON% setup.py bdist_egg 50 %PYTHON% -m sasmodels.model_test all 50 51 51 52 52 :: SASMODELS install egg ############################################## -
src/sas/sascalc/dataloader/manipulations.py
rb2b36932 rb699768 143 143 :return: Data1D object 144 144 """ 145 if len(data2D.detector) >1:145 if len(data2D.detector) != 1: 146 146 msg = "_Slab._avg: invalid number of " 147 147 msg += " detectors: %g" % len(data2D.detector) … … 299 299 error on number of counts, number of entries summed 300 300 """ 301 if len(data2D.detector) >1:301 if len(data2D.detector) != 1: 302 302 msg = "Circular averaging: invalid number " 303 303 msg += "of detectors: %g" % len(data2D.detector) -
src/sas/sascalc/dataloader/readers/ascii_reader.py
rd2471870 r7d94915 172 172 input_f.close() 173 173 if not is_data: 174 msg = "ascii_reader: x has no data" 175 raise RuntimeError, msg 174 return None 176 175 # Sanity check 177 176 if has_error_dy == True and not len(ty) == len(tdy): -
src/sas/sascalc/dataloader/readers/cansas_reader_HDF5.py
rbbd0f37 r5e906207 162 162 else: 163 163 self.current_dataset.x = data_set.flatten() 164 continue165 elif key == u'Qdev':166 self.current_dataset.dx = data_set.flatten()167 164 continue 168 165 elif key == u'Qy': -
src/sas/sascalc/fit/BumpsFitting.py
r345e7e4 rb699768 4 4 import os 5 5 from datetime import timedelta, datetime 6 import traceback7 6 8 7 import numpy … … 294 293 R.success = result['success'] 295 294 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)))) 301 297 R.pvec = numpy.hstack((result['value'][fitted_index], 302 298 [p.value for p in fitness.computed_pars])) … … 310 306 R.uncertainty_state = result['uncertainty'] 311 307 all_results.append(R) 312 all_results[0].mesg = result['errors']313 308 314 309 if q is not None: … … 349 344 try: 350 345 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 355 349 finally: 356 350 mapper.stop_mapper(fitdriver.mapper) … … 362 356 363 357 success = best is not None 364 try:365 stderr = fitdriver.stderr() if success else None366 except Exception as exc:367 errors.append(str(exc))368 errors.append(traceback.format_exc())369 stderr = None370 358 return { 371 359 'value': best if success else None, 372 'stderr': stderr,360 'stderr': fitdriver.stderr() if success else None, 373 361 'success': success, 374 362 'convergence': convergence, 375 363 'uncertainty': getattr(fitdriver.fitter, 'state', None), 376 'errors': '\n'.join(errors),377 364 } 378 365 -
src/sas/sasgui/guiframe/gui_manager.py
r67b0a99 rc8e1996 1950 1950 item, _, _ = value 1951 1951 item.Check(True) 1952 self._data_panel.on_remove(None, False) 1952 1953 1953 1954 wx.PostEvent(self, StatusEvent(status="Loading Project file...")) … … 1962 1963 # Reset to a base state 1963 1964 self._on_reset_state() 1964 self._data_panel.on_remove(None, False)1965 1965 # Load the project file 1966 1966 self.load_state(path=path, is_project=True) … … 2456 2456 group_id=group_id, 2457 2457 action='remove')) 2458 # remove res plot: Todo: improve 2458 2459 wx.CallAfter(self._remove_res_plot, new_plot.id) 2459 2460 self._data_manager.delete_data(data_id=data_id, -
src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter2D.py
rb2b36932 r1a696bf 316 316 317 317 slicerpop.AppendSeparator() 318 if len(self.data2D.detector) <= 1:318 if len(self.data2D.detector) == 1: 319 319 item_list = self.parent.get_current_context_menu(self) 320 320 if (not item_list == None) and (not len(item_list) == 0) and\ -
src/sas/sasgui/perspectives/fitting/basepage.py
r345e7e4 r99f3e053 1532 1532 val = len(val) if isinstance(val, list) else 1 1533 1533 self.Npts_fit.SetValue(str(val)) 1534 1535 1534 else: 1536 1535 # No data in the panel -
src/sas/sasgui/perspectives/fitting/fitpanel.py
r67b0a99 rc8e1996 189 189 # use while-loop, for-loop will not do the job well. 190 190 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) 192 193 if self._manager.parent.panel_on_focus == page: 193 194 self._manager.parent.panel_on_focus = None 194 195 self._close_helper(selected_page=page) 195 self.DeletePage( self.GetPageCount() - 1)196 self.DeletePage(0) 196 197 # Clear list of names 197 198 self.fit_page_name = {} … … 399 400 temp = self.GetSelection() 400 401 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 = None409 self.batch_on = False410 402 if self.GetPageCount() == 0: 411 403 self._manager.on_add_new_page(event=None) -
src/sas/sasgui/perspectives/fitting/fitting.py
r1a5d5f2 rec72ceb 1521 1521 for uid in page_id: 1522 1522 res = result[index] 1523 fit_msg = res.mesg1524 1523 if res.fitness is None or \ 1525 1524 not numpy.isfinite(res.fitness) or \ 1526 1525 numpy.any(res.pvec == None) or \ 1527 1526 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) 1529 1530 wx.CallAfter(self._update_fit_button, page_id) 1530 1531 else: … … 1549 1550 wx.CallAfter(cpage._on_fit_complete) 1550 1551 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) 1552 1555 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) 1557 1559 1558 1560 except: -
src/sas/sasgui/perspectives/fitting/media/plugin.rst
rca1eaeb r20cfa23 560 560 561 561 M_PI_180, M_4PI_3: 562 $\ frac{\pi}{180}$, $\frac{4\pi}{3}$562 $\pi/{180}$, $\tfrac{4}{3}\pi$ 563 563 SINCOS(x, s, c): 564 564 Macro which sets s=sin(x) and c=cos(x). The variables *c* and *s* … … 596 596 These functions have been tuned to be fast and numerically stable down 597 597 to $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. 598 which appear on some platforms but not others. So use them where needed!!! 601 599 602 600 polevl(x, c, n): 603 Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^ i$ using Horner's601 Polynomial evaluation $p(x) = \sum_{i=0}^n c_i x^{n-i}$ using Horner's 604 602 method so it is faster and more accurate. 605 603 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 618 604 :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 625 618 on some platforms. 626 619 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 function632 $\text{sas_erf}(x) = \frac{2}{\sqrt\pi}\int_0^x e^{-t^2}\,dt$633 and complementary error function634 $\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 broken637 on some platforms.638 639 620 :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 644 624 $J_0(x) = \frac{1}{\pi}\int_0^\pi \cos(x\sin(\tau))\,d\tau$. 645 625 646 The standard math function j0(x) is not available on all platforms.647 648 626 :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 653 630 $J_1(x) = \frac{1}{\pi}\int_0^\pi \cos(\tau - x\sin(\tau))\,d\tau$. 654 631 655 The standard math function j1(x) is not available on all platforms.656 657 632 :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 663 636 $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.667 637 668 638 :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: 672 641 Sine integral $\text{Si}(x) = \int_0^x \tfrac{\sin t}{t}\,dt$. 673 642 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): 696 646 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. 702 650 703 651 :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$. 711 655 712 656 :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", ...]` 727 665 728 666 Problems with C models -
src/sas/sasgui/perspectives/invariant/media/invariant_help.rst
r484141c rb64b87c 116 116 Academic Press, New York, 1982 117 117 118 http:// web.archive.org/web/20110824105537/http://physchem.kfunigraz.ac.at/sm/Service/Glatter_Kratky_SAXS_1982.zip118 http://physchem.kfunigraz.ac.at/sm/ 119 119 120 120 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -
test/sasdataloader/test/utest_ascii.py
r3d29f26b r7d94915 92 92 """ 93 93 # 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") 97 95 # The length of the data is 5 98 except: 99 self.assertEqual(f, None) 96 self.assertEqual(f, None) 100 97 101 98 if __name__ == '__main__':
Note: See TracChangeset
for help on using the changeset viewer.