Changeset 1dc134e6 in sasview
- Timestamp:
- Oct 3, 2018 2:42:00 PM (6 years ago)
- Branches:
- ticket-1094-headless
- Children:
- 1580cc3
- Parents:
- 840ac87 (diff), db24ec1 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 5 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
LICENSE.TXT
r0347c89 rb01252e 11 11 12 12 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 14 Also see https://github.com/SasView/sasview/blob/master/installers/license.txt -
docs/sphinx-docs/source/user/RELEASE.rst
r8ac05a5 r9849f8a 18 18 19 19 With this version the change to the new model API and plugins infrastructure 20 begun with 4.0 is essentially complete (though extensions are in the works 21 and more are likely they should remain backwardly compatible with previous20 begun with 4.0 is essentially complete (though extensions are in the works, 21 and more are likely, they should remain backwardly compatible with previous 22 22 versions of SasView). 23 23 24 .. warning:: Old-style plugin models, including old sum|multiply models will continue 25 to be supported (i.e. SasView will be able to run them) in 4.x. However, 26 the expectation is that such support will be removed in 5.0 and everyone 27 is strongly encouraged to convert their custom models to the new API. 24 .. warning:: Old-style plugin models, including old sum|multiply models, continue 25 to be supported (i.e. SasView will run them) in 4.x, although our 26 automatic on-the-fly translation may not cope in all use cases (see 27 Known Issues below). However, this backward compatibility will be 28 removed in 5.0 and users are therefore strongly encouraged to 29 convert their custom models to the new API. 28 30 29 31 Finally, the changes to orientation angles and orientational distribution … … 56 58 objects have been rectified. Some questions remain however. 57 59 * The known issue with the core_shell_parallelepiped model is now fixed. 60 * An error in the be_polyelectrolyte model was identified and rectified, but 61 the fix is yet to be validated. 58 62 * A number of issues and inconsistencies with the creation of 59 63 sum|multiply models have been rectified. … … 64 68 * There are several data loading improvements. 65 69 * There are several improvements to Save/Load Project. 70 * The SasView version number now appears in Reports. 71 * The Release Notes are now available from the program Help menu. 66 72 * There have been numerous other bug fixes. 67 73 … … 70 76 Several sections of the help documentation have undergone significant 71 77 checking and updating, particularly those relating to orientation, 72 magnetic scattering, and polydispersity distributions. Detailed 73 advanced instructions for plugin writing and some scripting 74 instructions have been added. 78 magnetic scattering, and polydispersity distributions. 79 80 Detailed advanced instructions for plugin writing and some scripting 81 instructions have also been added. 82 83 Concerns about the intended versus implemented meaning of some parameters 84 in the bcc_paracrystal, fcc_paracrystal, and sc_paracrystal models have 85 been brought to our attention. These have yet to be resolved and so a 86 Warning has been placed on each of these models. Anyone who feels they 87 may have the requisite expertise to investigate these concerns is strongly 88 encouraged to contact the Developers! 75 89 76 90 Other Work … … 90 104 Bug Fixes 91 105 ^^^^^^^^^ 106 * Fixes # 14: Loading a saved project is really really slow 92 107 * Fixes # 260: Box integration does not update when entering values in dialog 93 108 * Fixes # 446: Saving plot as PGF (not PDF!) format throws error … … 109 124 * Fixes # 784: Add 3D integral to Correlation Function analysis 110 125 * Fixes # 786: core_shell_parallelepiped 1-D model is incorrect 111 * Fixes # 818: "report button" followed by "save" makes an empty pdf file 126 * Fixes # 818: report button followed by save makes an empty pdf file??? 127 * Fixes # 830: Check compliance of loader against NXcanSAS-1.0 release 112 128 * Fixes # 838: Fix model download from marketplace 113 129 * Fixes # 848: can't save analysis when only one fit page 114 * Fixes # 849: Load Folder should ignore files starting with "."130 * Fixes # 849: Load Folder should ignore files starting with . 115 131 * Fixes # 852: More unit tests, especially for oriented or 2d models 116 132 * Fixes # 854: remove unnecessary sleep() in fitting perspective … … 134 150 * Fixes # 906: polydispersity not showing up in tabulated results 135 151 * Fixes # 912: About box points to misleading contributors page on Github 152 * Fixes # 913: Need to add Diamond developer and logo in relevant places 136 153 * Fixes # 915: load project issues 137 154 * Fixes # 916: Proper Logging … … 151 168 * Fixes # 961: sasmodels tests should fail if the parameter name does not exist 152 169 * Fixes # 962: star polymer typo in docs 170 * Fixes # 966: Inconsistent chi2 reporting 153 171 * Fixes # 967: no uncertainties errors on fitting parameters 154 172 * Fixes # 969: About Box not picking up dls_logo.png … … 166 184 * Fixes #1006: multiplicity models don't work with SQ 167 185 * Fixes #1007: spherical_sld model freezes SasView 168 * Fixes #1008: plugin model scaling not working? S186 * Fixes #1008: plugin model scaling not working? 169 187 * Fixes #1010: Win64 build script not creating working executable 170 188 * Fixes #1011: sld_test failing on ubuntu 189 * Fixes #1012: ESS GUI not updating after fitting 171 190 * Fixes #1013: FileReaderBaseClass output[] not reset - same file loaded multiple times 172 191 * Fixes #1018: add Boltzmann distribution … … 174 193 * Fixes #1024: Update version numbers in master 175 194 * Fixes #1025: Sum/multiply editor hangs 195 * Fixes #1030: volume normalization for hollow shapes is different from solvent-filled shapes 176 196 * Fixes #1032: convert C++ modules to C 177 197 * Fixes #1035: Order of combining P(Q) and S(Q) in Plugins seems to matter 178 198 * Fixes #1037: data loader crop not working? & all fits crashing 179 199 * Fixes #1043: problem compiling marketplace models 200 * Fixes #1044: Unable to upload c file to marketplace 201 * Fixes #1046: convert non builtin models in the marketplace to new API 180 202 * Fixes #1050: fix appveyor test for sasmodels win 64 python 3 181 203 * Fixes #1052: Can't use a user-created plugin model in a plugin model 204 * Fixes #1054: Check plugin & orientation descriptions in full docs once SasModels PR #57 is merged 182 205 * Fixes #1057: phi rotation issue for elliptical cylinder 183 206 * Fixes #1060: incorrect default for rectangle dispersion 184 207 * Fixes #1062: win32 build not installing correctly 185 * Fixes #1064: Fitting did not converge!!! error with a Sum|Multi plugin model 208 * Fixes #1064: "Fitting did not converge!!!" error with a Sum|Multi plugin model 209 * Fixes #1068: 2d data (from NG7) not loadiing - strange format? 186 210 * Fixes #1069: GUI problem when using polydispersity/orientation distributions 187 211 * Fixes #1070: Parameter error boxes should not be editable 212 * Fixes #1072: Orientation distributions seem to depend on initial angle 188 213 * Fixes #1079: Remove save button in report dialog on Mac 189 214 * Fixes #1081: GUI problem with new orientation distribution … … 191 216 * Fixes #1099: Erratic behaviour of Sum|Multi model in 4.1.2 192 217 * Fixes #1101: Batch results page not displaying polydispersity values 218 * Fixes #1128: AutoPlot generation for model documentation does not include background 193 219 * Fixes #1131: OpencCl dialog does not open 194 220 * Fixes #1132: Slit Size Calculator Tool not working … … 196 222 * Fixes #1141: Intro to scripting.rst needs improvement 197 223 * Fixes #1142: Plugin framework is broken 198 * Fixes #1044: Unable to upload c file to marketplace199 224 * Fixes #1145: Update models in model marketplace to 4.2 when 4.2 is released. 200 * Fixes #1148: Documentation for S(Q) models need updating 201 * Fixes #1128: AutoPlot generation for model documentation does not include background 202 203 It is recommended that all users upgrade to this version, but your 204 attention is drawn to the Changes section above. 225 * Fixes #1155: BE Polyelectrolyte errors 226 * Fixes #1160: fix VR for core_shell_cylinder, fractal_core_shell and hollow_cylinder 227 * Fixes #1163: Fix help note in sum of sum|multiply interface 228 * Fixes #1164: Sphinx doc build does not support superscript or substitution 229 * Fixes #1166: No longer able to report from multiple fit pages 230 * Fixes #1167: Clarify the documentation for the Spinodal Model 231 * Fixes #1173: more problems with math in plugins 232 * Fixes #1176: Make Release Notes/Known Issues available from Help in Menu Bar 233 * Fixes #1179: PDF Report should contain SasView Version Number 234 * Fixes #1183: Test from creating new model reset all parameters to default in all open FitPages 235 236 **It is recommended that all users upgrade to this version, but your 237 attention is drawn to the Changes section above.** 205 238 206 239 … … 586 619 * Tools: provides a number of useful supplementary tools such as SLD 587 620 calculation 621 588 622 Fitting 589 623 ^^^^^^^ … … 627 661 or plotting the evolution of the fit parameters with error bars (from within 628 662 the application). 663 629 664 Tools 630 665 ^^^^^ … … 637 672 * A slit size calculator optimized for Anton Paar Saxess is provided. 638 673 * A kiessig fringe thickness calculator is provided 674 639 675 Plots and plot management 640 676 ^^^^^^^^^^^^^^^^^^^^^^^^^ … … 651 687 * Extensive context sensitive plot/fitting/manipulation options are available 652 688 through a right mouse click pop-up menu on plots. 689 653 690 Data management 654 691 ^^^^^^^^^^^^^^^ … … 666 703 right click menus and the toolbar. The data explorer can be re-started 667 704 from the menu bar. 705 668 706 Data manipulation 669 707 ^^^^^^^^^^^^^^^^^ … … 672 710 * A 2D data maks editor is provided 673 711 * 2D mask can be applied to the circular averaging. 712 674 713 Miscellaneous features 675 714 ^^^^^^^^^^^^^^^^^^^^^^ … … 753 792 Known Issues 754 793 ============ 794 795 A full list of known bugs and feature requests by release version that 796 users may wish to be aware of can be viewed at http://trac.sasview.org/report/3 797 755 798 4.2.0 - All systems 756 799 ------------------- 757 There are currently no major known issues. A full list of known bugs and 758 feature requests by release version that users may wish to be aware of 759 can be viewed at http://trac.sasview.org/report/3 760 761 .. note:: Any corrections to models that may become known/available will be 762 posted to Marketplace as available (and fixed in the following 763 release) 800 The refactoring of the plugin model architecture means that some issues 801 may be encountered if Save Project/Analysis files using plugin models 802 created in earlier versions of SasView are loaded in version 4.2.0. 803 804 For example: 805 806 * on loading an old project file an error window appears with the error 807 *This model state has missing or outdated information* or *dictionary changed size during iteration*. 808 809 * if this occurs, try restarting SasView and reloading the project. 810 811 * on loading an old project file all the FitPages and Graphs appear, but 812 only the SasView default model parameters appear in the FitPages. 813 814 * this has happened because plugin model parameter names have changed. 815 There are two possible workarounds: 816 817 * Install the version of SasView that the project was created in, 818 recreate the plugin in that version, then run 4.2.0 and re-load 819 the project. All being well, 4.2.0 will still compile the old 820 plugin. 821 822 * If 4.2.0 cannot compile the old plugin, the more tedious solution 823 is to use a text editor to do global search & replace operations 824 to change all the parameter names in the project file by hand. The 825 quickest way to see the *existing* parameter names is simply to 826 scroll to the bottom of the project file. To see what the *new* 827 parameter names should be, simply create the equivalent plugin in 828 SasView 4.2.0. In most instances, what was *p1_parameter* will 829 become *A_parameter*, *p2_parameter* will become *B_parameter*, 830 and so on. 764 831 765 832 4.1.x- All systems -
docs/sphinx-docs/source/user/tutorial.rst
r893d852 rbe460ce 21 21 22 22 :download:`Simultaneous 1D Fitting in Sasview <sasview/simultaneous_1d_fitting_in_sasview_v3x_4x.pdf>` 23 24 :download:`Correlation Function Analysis in SasView <sasview/correlation_function_analysis_in_sasview_v4x.pdf>` -
installers/license.txt
rd3114cc r73c51df 19 19 SasView is free to download and use, including for commercial purposes. 20 20 21 © 2009-2018 UMD, UTK, NIST, ORNL, ISIS, ESS, ANSTO, ILL, TUD, DLS 21 © 2009-2018 UMD, UTK, NIST, ORNL, ISIS, ESS, ANSTO, ILL, TUD, DLS, BAM 22 22 23 23 -
src/sas/sascalc/fit/pagestate.py
r840ac87 r1dc134e6 767 767 if len(value.strip()) == 0: 768 768 continue 769 title = value + " [" + repo_time + "]" 769 title = (value + " [" + repo_time + "] [SasView v" + 770 SASVIEW_VERSION + "]") 770 771 title_name = HEADER % title 771 772 elif name == "data": -
src/sas/sasgui/guiframe/aboutbox.py
rb963b20 r1b4cb41 108 108 self.bitmap_button_tudelft = wx.BitmapButton(self, -1, wx.NullBitmap) 109 109 self.bitmap_button_dls = wx.BitmapButton(self, -1, wx.NullBitmap) 110 self.bitmap_button_bam = wx.BitmapButton(self, -1, wx.NullBitmap) 110 111 111 112 self.static_line_3 = wx.StaticLine(self, -1) … … 128 129 self.Bind(wx.EVT_BUTTON, self.onTudelftLogo, self.bitmap_button_tudelft) 129 130 self.Bind(wx.EVT_BUTTON, self.onDlsLogo, self.bitmap_button_dls) 131 self.Bind(wx.EVT_BUTTON, self.onBamLogo, self.bitmap_button_bam) 130 132 # end wxGlade 131 133 # fill in acknowledgements … … 226 228 logo = wx.Bitmap(image) 227 229 self.bitmap_button_dls.SetBitmapLabel(logo) 230 231 image = file_dir + "/images/bam_logo.png" 232 if os.path.isfile(config._bam_logo): 233 image = config._bam_logo 234 logo = wx.Bitmap(image) 235 self.bitmap_button_bam.SetBitmapLabel(logo) 228 236 229 237 # resize dialog window to fit version number nicely … … 258 266 self.bitmap_button_tudelft.SetSize(self.bitmap_button_tudelft.GetBestSize()) 259 267 self.bitmap_button_dls.SetSize(self.bitmap_button_dls.GetBestSize()) 268 self.bitmap_button_bam.SetSize(self.bitmap_button_bam.GetBestSize()) 260 269 # end wxGlade 261 270 … … 325 334 sizer_logos.Add(self.bitmap_button_dls, 0, 326 335 wx.LEFT|wx.ADJUST_MINSIZE, 2) 336 sizer_logos.Add(self.bitmap_button_bam, 0, 337 wx.LEFT|wx.ADJUST_MINSIZE, 2) 327 338 328 339 sizer_logos.Add((10, 50), 0, wx.ADJUST_MINSIZE, 0) … … 430 441 event.Skip() 431 442 443 def onBamLogo(self, event): 444 """ 445 """ 446 # wxGlade: DialogAbout.<event_handler> 447 launchBrowser(config._bam_url) 448 event.Skip() 449 432 450 # end of class DialogAbout 433 451 -
src/sas/sasgui/guiframe/config.py
r8ac05a5 r1b4cb41 51 51 '''M. Doucet et al. SasView Version 4.1.2, Zenodo, 10.5281/zenodo.825675''' 52 52 _acknowledgement = \ 53 '''This work was originally developed as part of the DANSE project funded by the US NSF under Award DMR-0520547,\n but is currently maintained by a collaboration between UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS, and the scattering community.\n\n SasView also contains code developed with funding from the EU Horizon 2020 programme under the SINE2020 project (Grant No 654000).\nA list of individual contributors can be found at: http://www.sasview.org/contact.html53 '''This work was originally developed as part of the DANSE project funded by the US NSF under Award DMR-0520547,\n but is currently maintained by a collaboration between UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS, BAM and the scattering community.\n\n SasView also contains code developed with funding from the EU Horizon 2020 programme under the SINE2020 project (Grant No 654000).\nA list of individual contributors can be found at: http://www.sasview.org/contact.html 54 54 ''' 55 55 … … 90 90 _tudelft_url = "http://www.tnw.tudelft.nl/en/cooperation/facilities/reactor-instituut-delft/" 91 91 _dls_url = "http://www.diamond.ac.uk/" 92 _bam_url = "http://www.bam.de/" 92 93 _danse_url = "http://www.cacr.caltech.edu/projects/danse/release/index.html" 93 94 _inst_url = "http://www.utk.edu" 94 95 _corner_image = os.path.join(icon_path, "angles_flat.png") 95 96 _welcome_image = os.path.join(icon_path, "SVwelcome.png") 96 _copyright = "(c) 2009 - 2018, UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, and DLS"97 _copyright = "(c) 2009 - 2018, UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS and BAM" 97 98 marketplace_url = "http://marketplace.sasview.org/" 98 99 -
src/sas/sasgui/guiframe/local_perspectives/data_loader/data_loader.py
r2924532 r9c7e2b8 182 182 file_errors[basename] = [log_msg] 183 183 continue 184 185 184 try: 186 185 message = "Loading {}...\n".format(p_file) … … 204 203 self.load_update(message="Loaded {}\n".format(p_file), 205 204 info="info") 206 207 205 except NoKnownLoaderException as e: 208 206 exception_occurred = True 209 error_message = "Loading data failed!\n" + e.message 210 self.load_complete(output=None, 211 message=error_message, 212 info="warning") 213 207 error_message = "Loading data failed!" + e.message 208 file_errors[basename] = [error_message] 214 209 except Exception as e: 215 210 exception_occurred = True … … 220 215 file_err += " following:\n" 221 216 file_err += e.message 222 self.load_complete(output=None, 223 message=file_err, 224 info="error") 217 file_errors[basename] = [file_err] 225 218 226 219 if len(file_errors) > 0: … … 231 224 for message in error_array: 232 225 error_message += message + "\n" 233 error_message = error_message[:-1]234 226 self.load_complete(output=output, 235 227 message=error_message, -
src/sas/sasgui/perspectives/corfunc/corfunc_panel.py
r2a399ca r5652efc 20 20 21 21 OUTPUT_STRINGS = { 22 'max': "Long Period / 2(A): ",22 'max': "Long Period (A): ", 23 23 'Lc': "Average Hard Block Thickness (A): ", 24 24 'dtr': "Average Interface Thickness (A): ", -
src/sas/sasgui/perspectives/corfunc/corfunc_state.py
r1fa4f736 r5652efc 28 28 # List of output parameters, used by __str__ 29 29 output_list = [ 30 ['max', "Long Period / 2(A): "],30 ['max', "Long Period (A): "], 31 31 ['Lc', "Average Hard Block Thickness (A): "], 32 32 ['dtr', "Average Interface Thickness (A): "], -
src/sas/sasgui/perspectives/corfunc/media/corfunc_help.rst
r501712f r490f790 33 33 Both analyses are performed in 3 stages: 34 34 35 * Extrapolation of the scattering curve to :math:` Q= 0` and toward36 :math:` Q= \infty`35 * Extrapolation of the scattering curve to :math:`q = 0` and toward 36 :math:`q = \infty` 37 37 * Smoothed merging of the two extrapolations into the original data 38 38 * Fourier / Hilbert Transform of the smoothed data to give the correlation … … 47 47 ------------- 48 48 49 To :math:` Q= 0`49 To :math:`q = 0` 50 50 ................ 51 51 … … 67 67 the impact on any extrapolated parameters will be least significant. 68 68 69 To :math:` Q= \infty`69 To :math:`q = \infty` 70 70 ..................... 71 71 … … 145 145 - do they smoothly curve onto the ordinate at x = 0? (if not check the value 146 146 of :math:`\sigma` is sensible) 147 - are there ripples at x values corresponding to (2 :math:` pi` over) the two147 - are there ripples at x values corresponding to (2 :math:`\pi` over) the two 148 148 q values at which the extrapolated and experimental data are merged? 149 - are there any artefacts at x values corresponding to 2 :math:` pi` / q\ :sub:`max` in149 - are there any artefacts at x values corresponding to 2 :math:`\pi` / q\ :sub:`max` in 150 150 the experimental data? 151 151 - and lastly, do the significant features/peaks in the correlation functions … … 158 158 -q^{4} I(q) 159 159 160 The IDF is proportional to the second derivative of Î\ :sub:`1`\ (x). 160 The IDF is proportional to the second derivative of Î\ :sub:`1`\ (x) and represents a 161 superposition of thickness distributions from all the contributing lamellae. 161 162 162 163 Hilbert … … 192 193 * Local Crystallinity :math:`= L_c/L_p` 193 194 195 .. warning:: If the sample does not possess lamellar morphology then "Compute 196 Parameters" will return garbage! 197 198 194 199 Volume Fraction Profile 195 200 ....................... … … 213 218 214 219 The reader is directed to the references for information on these parameters. 220 215 221 216 222 References … … 263 269 Once the Q ranges have been set, click the "Calculate Bg" button to determine the 264 270 background level. Alternatively, enter your own value into the box. If the box turns 265 yellow this indicates that background subtraction has created some negative intensities. 271 yellow this indicates that background subtraction has created some negative intensities. 272 This may still be fine provided the peak intensity is very much greater than the 273 background level. The important point is that the extrapolated dataset must approach 274 zero at high-q. 266 275 267 276 Now click the "Extrapolate" button to extrapolate the data. The graph window will update … … 296 305 297 306 .. note:: 298 This help document was last changed by Steve King, 2 6Sep2017307 This help document was last changed by Steve King, 28Sep2017 -
src/sas/sasgui/perspectives/corfunc/media/fdr-pdfs.rst
r959eb01 r577460c 7 7 8 8 :download:`Fibre_Diffraction_Review_1994_3_25-29.pdf <Fibre_Diffraction_Review_1994_3_25-29.pdf>` 9 9 10 :download:`Fibre_Diffraction_Review_2004_12_24.pdf <Fibre_Diffraction_Review_2004_12_24.pdf>` 11 10 12 :download:`Fibre_Diffraction_Review_2005_13_19-22.pdf <Fibre_Diffraction_Review_2005_13_19-22.pdf>` -
src/sas/sasgui/perspectives/fitting/fitpage.py
r840ac87 r1dc134e6 3 3 fitting a model and one data 4 4 """ 5 from __future__ import print_function 6 5 7 import sys 6 8 import wx … … 1254 1256 if saved_pars: 1255 1257 self.get_paste_params(saved_pars) 1258 1259 # Make sure the model parameters correspond to the fit parameters 1260 self._update_paramv_on_fit() 1256 1261 1257 1262 if event is not None: -
src/sas/sasgui/perspectives/fitting/fitting.py
raf7d2e5 raba4559 339 339 Update custom model list in the fitpage combo box 340 340 """ 341 custom_model = 'Plugin Models'342 341 try: 343 342 # Update edit menus … … 347 346 if not new_pmodel_list: 348 347 return 349 # Set the new plugin model list for all fit pages 348 349 # Redraws to a page not in focus are showing up as if they are 350 # in the current page tab. 351 current_page_index = self.fit_panel.GetSelection() 352 current_page = self.fit_panel.GetCurrentPage() 353 last_drawn_page = current_page 354 355 # Set the new plugin model list for all fit pages; anticipating 356 # categories, the updated plugin may be in either the form factor 357 # or the structure factor combo boxes 350 358 for uid, page in self.fit_panel.opened_pages.iteritems(): 351 if hasattr(page, "formfactorbox"): 352 page.model_list_box = new_pmodel_list 353 mod_cat = page.categorybox.GetStringSelection() 354 if mod_cat == custom_model: 355 box = page.formfactorbox 356 model_name = box.GetValue() 357 model = (box.GetClientData(box.GetCurrentSelection()) 358 if model_name else None) 359 page._show_combox_helper() 360 new_index = box.FindString(model_name) 361 new_model = (box.GetClientData(new_index) 362 if new_index >= 0 else None) 363 if new_index >= 0: 364 box.SetStringSelection(model_name) 365 else: 366 box.SetStringSelection('') 367 if model and new_model != model: 368 page._on_select_model(keep_pars=True) 369 if hasattr(page, "structurebox"): 370 selected_name = page.structurebox.GetStringSelection() 371 372 page.structurebox.Clear() 373 page.initialize_combox() 374 375 index = page.structurebox.FindString(selected_name) 376 if index == -1: 377 index = 0 378 page.structurebox.SetSelection(index) 379 page._on_select_model() 359 pbox = getattr(page, "formfactorbox", None) 360 sbox = getattr(page, "structurebox", None) 361 if pbox is None: 362 continue 363 364 # Set the new model list for the page 365 page.model_list_box = new_pmodel_list 366 367 # Grab names of the P and S models from the page. Need to do 368 # this before resetting the form factor box since that clears 369 # the structure factor box. 370 old_struct = old_form = None 371 form_name = pbox.GetValue() 372 struct_name = sbox.GetStringSelection() 373 if form_name: 374 old_form = pbox.GetClientData(pbox.GetCurrentSelection()) 375 if struct_name: 376 old_struct = sbox.GetClientData(sbox.GetCurrentSelection()) 377 378 # Reset form factor combo box. We are doing this for all 379 # categories not just plugins since eventually the category 380 # manager will allow plugin models to be anywhere. 381 page._show_combox_helper() 382 form_index = pbox.FindString(form_name) 383 pbox.SetSelection(form_index) 384 new_form = (pbox.GetClientData(form_index) 385 if form_index != wx.NOT_FOUND else None) 386 #print("form: %r"%form_name, old_form, new_form) 387 388 # Reset structure factor combo box; even if the model list 389 # hasn't changed, the model may have. Show the structure 390 # factor combobox if the selected model is a form factor. 391 sbox.Clear() 392 page.initialize_combox() 393 if new_form is not None and getattr(new_form, 'is_form_factor', False): 394 sbox.Show() 395 sbox.Enable() 396 page.text2.Show() 397 page.text2.Enable() 398 struct_index = sbox.FindString(struct_name) 399 sbox.SetSelection(struct_index) 400 new_struct = (sbox.GetClientData(struct_index) 401 if struct_index != wx.NOT_FOUND else None) 402 #print("struct: %r"%struct_name, old_struct, new_struct) 403 404 # Update the page if P or S has changed 405 if old_form != new_form or old_struct != new_struct: 406 #print("triggering model update") 407 page._on_select_model(keep_pars=True) 408 last_drawn_page = page 409 410 # If last drawn is not the current, then switch the current to the 411 # last drawn then switch back. Very ugly. 412 if last_drawn_page != current_page: 413 for page_index in range(self.fit_panel.PageCount): 414 if self.fit_panel.GetPage(page_index) == last_drawn_page: 415 self.fit_panel.SetSelection(page_index) 416 break 417 self.fit_panel.SetSelection(current_page_index) 418 380 419 except Exception: 381 420 logger.error("update_custom_combo: %s", sys.exc_value) -
src/sas/sasgui/perspectives/invariant/invariant_state.py
rfa412df re9920cd 130 130 my_time, date = self.timestamp 131 131 file_name = self.file 132 from sas.sasview.__init__ import __version__ as sasview_version 132 133 133 134 state_num = int(self.saved_state['state_num']) 134 135 state = "\n[Invariant computation for %s: " % file_name 135 state += "performed at %s on %s] \n" % (my_time, date) 136 state += "performed at %s on %s] " % (my_time, date) 137 state += "[SasView v%s]\n" % (sasview_version) 136 138 state += "State No.: %d \n" % state_num 137 139 state += "\n=== Inputs ===\n" -
src/sas/sasview/local_config.py
r8ac05a5 r1b4cb41 51 51 '''M. Doucet et al. SasView Version 4.2, Zenodo, 10.5281/zenodo.1412041''' 52 52 _acknowledgement = \ 53 '''This work was originally developed as part of the DANSE project funded by the US NSF under Award DMR-0520547,\n but is currently maintained by a collaboration between UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS, and the scattering community.\n\n SasView also contains code developed with funding from the EU Horizon 2020 programme under the SINE2020 project (Grant No 654000).\nA list of individual contributors can be found at: http://www.sasview.org/contact.html53 '''This work was originally developed as part of the DANSE project funded by the US NSF under Award DMR-0520547,\n but is currently maintained by a collaboration between UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS, BAM and the scattering community.\n\n SasView also contains code developed with funding from the EU Horizon 2020 programme under the SINE2020 project (Grant No 654000).\nA list of individual contributors can be found at: http://www.sasview.org/contact.html 54 54 ''' 55 55 … … 76 76 _tudelft_logo = os.path.join(icon_path, "tudelft_logo.png") 77 77 _dls_logo = os.path.join(icon_path, "dls_logo.png") 78 _bam_logo = os.path.join(icon_path, "bam_logo.png") 78 79 _nsf_logo = os.path.join(icon_path, "nsf_logo.png") 79 80 _danse_logo = os.path.join(icon_path, "danse_logo.png") … … 94 95 _corner_image = os.path.join(icon_path, "angles_flat.png") 95 96 _welcome_image = os.path.join(icon_path, "SVwelcome.png") 96 _copyright = "(c) 2009 - 2018, UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, and DLS"97 _copyright = "(c) 2009 - 2018, UTK, UMD, NIST, ORNL, ISIS, ESS, ILL, ANSTO, TU Delft, DLS and BAM" 97 98 marketplace_url = "http://marketplace.sasview.org/" 98 99 -
run.py
rbc8b8a1 r3388337 67 67 68 68 69 def prepare( ):69 def prepare(rebuild=True): 70 70 # Don't create *.pyc files 71 71 sys.dont_write_bytecode = True … … 113 113 # Build project if the build directory does not already exist. 114 114 # PAK: with "update" we can always build since it is fast 115 if Trueor not os.path.exists(build_path):115 if rebuild or not os.path.exists(build_path): 116 116 import subprocess 117 117 build_cmd = [sys.executable, "setup.py", "build", "update"] -
src/sas/sascalc/fit/BumpsFitting.py
r1386b2f r0aeba4e 2 2 BumpsFitting module runs the bumps optimizer. 3 3 """ 4 from __future__ import print_function 5 4 6 import os 5 7 from datetime import timedelta, datetime … … 9 11 10 12 from bumps import fitters 13 11 14 try: 12 15 from bumps.options import FIT_CONFIG 16 # Preserve bumps default fitter in case someone wants it later 17 BUMPS_DEFAULT_FITTER = FIT_CONFIG.selected_id 13 18 # Default bumps to use the Levenberg-Marquardt optimizer 14 19 FIT_CONFIG.selected_id = fitters.LevenbergMarquardtFit.id … … 17 22 except ImportError: 18 23 # CRUFT: Bumps changed its handling of fit options around 0.7.5.6 24 # Preserve bumps default fitter in case someone wants it later 25 BUMPS_DEFAULT_FITTER = fitters.FIT_DEFAULT 19 26 # Default bumps to use the Levenberg-Marquardt optimizer 20 27 fitters.FIT_DEFAULT = 'lm' … … 126 133 if initial_values is not None: 127 134 self._reset_pars(fitted, initial_values) 135 #print("constraints", constraints) 128 136 self.constraints = dict(constraints) 129 137 self.set_fitted(fitted) … … 222 230 def _setup(self): 223 231 exprs = {} 224 for M in self.models: 225 exprs.update((".".join((M.name, k)), v) for k, v in M.constraints.items()) 232 for model in self.models: 233 exprs.update((".".join((model.name, k)), v) 234 for k, v in model.constraints.items()) 226 235 if exprs: 227 symtab = dict((".".join(( M.name, k)), p)228 for Min self.models229 for k, p in M.parameters().items())236 symtab = dict((".".join((model.name, k)), p) 237 for model in self.models 238 for k, p in model.parameters().items()) 230 239 self.update = compile_constraints(symtab, exprs) 231 240 else:
Note: See TracChangeset
for help on using the changeset viewer.