Releases: SasView/sasview
SasView 4.1 RC2
This point release brings a series of new features and improvements,
and a host of bug fixes. Of particular note are:
Correlation Function Analysis (Corfunc)
This performs a correlation function analysis of one-dimensional SAXS/SANS data,
or generates a model-independent volume fraction profile from the SANS from an
adsorbed polymer/surfactant layer.
A correlation function may be interpreted in terms of an imaginary rod moving
through the structure of the material. It is the probability that a rod of
length R moving through the material has equal electron/neutron scattering
length density at either end. Hence a frequently occurring spacing within a
structure manifests itself as a peak.
A volume fraction profile describes how the density of polymer
segments/surfactant molecules varies with distance from an (assumed locally flat)
interface.
Fitting of SESANS Data
Data from Spin-Echo SANS measurements can now be loaded and fitted. The data will
be plotted against the correct axes and models will automatically perform a Hankel
transform in order to calculate SESANS from a SANS model.
Documentation
The documentation has undergone significant checking and updating.
Acknowledgement and citation
If you publish work making use of SasView 4.0, please include the following text:
This work benefited from the use of the SasView application, originally developed under NSF Award DMR-0520547. SasView also contains code developed with funding from the EU Horizon 2020 programme under the SINE2020 project Grant No 654000.
SasView can be cited as :
M. Doucet, et al. SasView Version 4.1, Zenodo, http://doi.org/10.5281/zenodo.438138
New Features
- Correlation function (corfunc) analysis of 1D SAS data added from CCP13
- File converter tool for multi-file single column data sets
- SESANS data loading and direct fitting using the Hankel transformation
- Saving and loading of simultaneous and constrained fits now supported
- Save states from SasView v3.x.y now loaded using sasmodel model names
- Saving and loading of projects with 2D fits now supported
- Loading a project removes all existing data, fits, and plots
- Structure factor and form factor can be plotted independently
- OpenCL is disabled by default and can be enabled through a fit menu
- Data and theory fields are now independently expandable
Bug Fixes
- Fixes #667: Models computed multiple times on parameters changes
- Fixes #673: Custom models override built in models of same name
- Fixes #678: Hard crash when running complex models on GPU
- Fixes $774: Old style plugin models unloadable
- Fixes #789: stacked disk scale doesn't match cylinder model
- Fixes #792: core_shell_fractal uses wrong effective radius
- Fixes #800: Plot range reset on plot redraws
- Fixes #811 and #825: 2D smearing broken
- Fixes #815: Integer model parameter handling
- Fixes #824: Cannot apply sector averaging when no detector data present
- Fixes #830: Cansas HDF5 reader fully compliant with NXCanSAS v1.0 format
- Fixes #835: Fractal model breaks with negative Q values
- Fixes #843: Multilayer vesicle does not define effective radius
- Fixes #858: Hayter MSA S(Q) returns errors
- Numerous grammatical and contexual errors in documention
Current Known Issues
Listed here are known issues that users should be aware of. A full list of known bugs and feature requests is available at http://trac.sasview.org/report/3
Critical
- No currently known critical issues
Other Significant
- The way that orientation is defined is being refactored to address long standing issues and comments. In release 4.1 however only models with symmetry (e.g. a=b) have been converted to the new definitions. The rest (a <> b <> c - e.g. parellelepiped) maintain the same definition as before and will be converted in 4.2. Note that orientational distribution also makes much more sense in the new framework. The documentation should indicate which definition is being used for a given model.
- The infrastructure currently handles internal conversion of old style models so that user created models in previous versions should continue to work for now. At some point in the future such support will go away. Everyone is encouraged to convert to the new structure which should be relatively straight forward and provides a number of benefits.
- In that vein, the distributed models and those generated by the new plugin model editor are in the new format, however those generated by sum|multiply models are the old style sum|multiply models. This should also disappear in the near future.
- The on the fly discovery of plugin models and changes thereto behave inconsistently. If a change to a plugin model does not seem to register, the Load Plugin Models (under fitting -> Plugin Model Operations) can be used. However, after calling Load Plugin Models, the active plugin will no longer be loaded (even though the GUI looks like it is) unless it is a sum|multiply model which works properly. All others will need to be recalled from the model dropdown menu to reload the model into the calculation engine. While it might be annoying it does not appear to prevent SasView from working..
Model Issues
Corrections will be posted to Marketplace as available (and fixed in following release)
- Core shell parrallelipiped fails to calculate the long (C side) shell. If set non-zero this leads to an incorrect volume normalization and thus to an incorrect absolute scaling. This has apparently always been true. If thick_C is set to zero the model behaves correctly.
- Triaxial ellipsoid does not reproduce the limiting cases of oblate or prolate ellipsoid.
Bug Reporting
Please support the project by reporting bugs that you find to help@sasview.org
All the known bugs/feature requests can be found at: http://trac.sasview.org/report/3
Regular developer builds are also available from https://jenkins.esss.dk/sasview/ if you wish to test the very latest (most likely unstable) versions of SasView.
[This release makes use of sasmodels v0.96]
SasView 4.0.1
All users of 4.0 should upgrade to this version
This point release is specifically to address the problems with P(Q)*S(Q) in v4.0.0 that resulted as side-effects of the model infrastructure redesign.
From the Known Issues in v4.0 :
Critical - will be fixed in a bug release due imminently:
As part of the model structure refactoring a new bug was introduced that makes P * S unusable in this version unless the background is fixed to zero: The background is multiplied by P(q) including all the scaling factors. Release 4.0.1 should be available soon that fixes this.
This behaviour of P(Q)S(Q) is now corrected and non zero backgrounds are possible and the extraneous scaling factors have been removed. The effective radius used for the structure factor is *still calculated (as per the documentation) automatically from the form factor using the radius of a sphere that has the same second viral coefficient as the particle. This is only valid for particles with limited axial ratios.
[This release makes use of sasmodels v0.95]
SasView 4.0
The main purpose of this major version release is a significant restructuring of the way models work to address one of the biggest issues identified by the community: the difficulty of adding complex custom models. With this release all models are essentially treated the same within the computational framework. The "built-in" models have been separated out into an independent sasmodels package. Custom models continue to be discovered by placing them in the user plugin directory. All models consist of 1 or optionally 2 files: a model.py file containing much of the details (name, parameters, etc) and either the methods for computing intensity or links to an optional model.c which contains the computational code. All models, whether from sasmodels package or in the plugins directory are treated the same by the SasView application.
Other things of note in this release:
- Support for openCL means that running on macs will automatically use GPUs or multiple CPU if they exist. This is true for most windows machines as well, but in some cases the user will need to download and install the openCL drivers for their computer.
- All model documentation has been reviewed and updated
- A number of other minor bugs and improvement
IMPORTANT NOTICE 1 We will attempt to keep a living list of significant reported/verified issues in the known issues section at the bottom of this page. There is currently 1 critical issue and a few others reported.
IMPORTANT NOTICE 2 Release 4.1 will probably be the last to support 32 bit operating systems. Older versions will always be available for 32 bit use if necessary.
Acknowledgement and citation
If you publish work making use of SasView 4.0, please include the following text:
"This work was originally developed as part of the DANSE project funded by the US NSF under Award DMR-0520547, but is currently maintained by a collaboration between UTK, UMD, NIST, ORNL, ISIS, ESS, ILL and ANSTO. SasView also contains code developed with funding from the EU Horizon 2020 research and innovation programme under the SINE2020 project (Grant No 654000)."
SasView can be cited as :
M. Doucet, et al. SasView Version 4.0, Zenodo, http://doi.org/10.5281/zenodo.159083
New Features
Model package changes and improvements
- All 3.1.2 models now available in new interface
- NB: RPA model is currently not available, but will be made available again later in the next point release.
- Most old custom models should now still work
- NOTE These will be deprecated in a future version. Old
custom models should be converted to the new model format which
is now the same as the built in models and offers much better
support.
- NOTE These will be deprecated in a future version. Old
- Custom model editor now creates new style models
- Custom model editor supports better error checking
Documentation improvements
- Continued general cleanup
- Documentation of how to write new style models
- All model docs checked for correctness and consistency with code
Other improvements/additions
- Support for new canSAS 2D data files added
- Plot axes range can now be set manually as well as by zooming
- Plot annotations can now be moved around after being placed on plot.
- The active optimizer is now listed on the top of the fit panel.
- Linear fits now update qmin and max when the x scale limits are
changed. Also the plot range no longer resets after a fit. - Magnetic models now supported in builtin models and custom models using C
- Multilevel models (with the exception of RPA) now supported
Bug Fixes
- Fixes bug #604 Pringle model questions
- Fixes bug #472 Reparameterize Teubner-Strey
- Fixes bug #530 Numerical instabilities in Teubner Strey model
- Fixes bug #658 ASCII reader very broken
- Fixes bug #511 Errors in linearized fits and clean up of interface
including Kratky representation - Fixes bug #186 Data operation Tool now executes when something is
entered in the text box and does not wait for the user to hit enter - Fixes bug #459 plot context menu bug
- Fixes bug #559 copy to clipboard in graph menu broken
- Fixes bug #466 cannot remove a linear fit from graph
- Numerous bugs introduced in the alpha
- Fixes bug #636 qmin error erroneuously thrown to console before successfully fitting for select models
- Fixes #633 P(r) crashing on Sasview when entering 0.0 for Dmax
- Fixes #642 canSAS 1D xml file take forever to load
- Fixes #644 Loading saved fit or project opens multiple plot and fit windows and can throw error messages to the console
- Fixes #635 n_layers = 0 causes errors to be thrown at least on windows
- Fixes #658 Generic ASCII reader broken (should now be fixed to properly read most ASCII columnar data)
- Fixes #651 Documentation on how to write new style models added
- Fixes #654 Problem saving projects (should now work again as it used to).
Current Known Issues
Critical - will be fixed in a bug release due imminently:
- As part of the model structure refactoring a new bug was introduced that makes P * S unusable in this version unless the background is fixed to zero: The background is multiplied by P(q) including all the scaling factors. Release 4.0.1 should be available soon that fixes this.
Other Significant - will be fixed in 4.1:
- The compute button does not always compute. For those who enter return after changing a parameter value this will never come into play as enter after a change will recompute. NOTE hitting compute then enter without a change will not work. The user will need to enter something in a parameter box after hitting the compute button and then hit enter.
- Projects/fits saved in previous version of SasView will not load correctly in 4.0 due to the changes in the models infrastructure. Release 4.1 will mostly restore backwards compatibility along with improvements in the save and load projects infrastructure.
Model issues - Corrections will be posted to Marketplace as available (and fixed in following release):
- Core shell parrallelipiped fails to calculate the long (C side) shell. If set non-zero this leads to an incorrect volume normalization and thus to an incorrect absolute scaling. This has apparently always been true. If thick_C is set to zero the model behaves correctly.
- The 2D FCC paracrystal model is incorrect (it calculates a BCC). The 1D is however correct.
- The Stacked Disk model only calculates 1 stack (i.e. n_stacking is ignored). This is apparently a long standing issue. Also 2D version is not currently available.
- Non integer number of pearls is not handled properly in pearl necklace model. This is a long standing issue
Bug Reporting
Please support the project by reporting bugs that you find to help@sasview.org
All the known bugs/feature requests can be found at: http://trac.sasview.org/report/3
Regular developer builds are also available from https://jenkins.esss.dk/sasview/ if you wish to test the very latest (most likely unstable) versions of SasView.
[This release makes use of sasmodels v0.94]
SasView 4.0 Beta 1
Beta Release
This release is a beta, meaning it is intended as a relatively stable test release prior to the final 4.0 production release. There are many improvements over the last production release (3.1.2) as detailed in the previous alpha release notes. The main improvement is the restructuring of the models interface meaning that user supplied models are written in the same way as core models and can be added without rebuilding SasView. User models can also take advantage of polydispersity and GPU acceleration in the same way as core models.
Bug Reporting
Please support the project by reporting bugs that you find to help@sasview.org
All the known bugs/feature requests can be found at: http://trac.sasview.org/report/3
Regular developer builds are also available from https://jenkins.esss.dk/sasview/ if you wish to test the very latest (most likely unstable) versions of SasView.
New Features
This beta release adds support for the magnetic and multilevel models of 3.1.2
along with a host of bug fixes found in the alpha.
- Model package changes and improvements
- All 3.1.2 models now available in new interface
- Old custom models should now still work
- '''NOTE:''' These will be deprecated in a future version. Old
custom models should be converted to the new model format which
is now the same as the built in models and offers much better
support.
- '''NOTE:''' These will be deprecated in a future version. Old
- Custom model editor now creates new style models
- Custom model editor supports better error checking
- Documentation improvements
- Continued general cleanup
- Other improvements/additions
- Support for new canSAS 2D data files added
- Plot axes range can now be set manually as well as by zooming
- Plot annotations can now be moved around after being placed on plot.
- The active optimizer is now listed on the top of the fit panel.
- Linear fits now update qmin and max when the x scale limits are
changed. Also the plot range no longer resets after a fit.
- Bug fixes
- Fixes bug #511 Errors in linearized fits and clean up of interface
including Kratky representation - Fixes bug #186 Data operation Tool now executes when something is
entered in the text box and does not wait for the user to hit enter - Fixes bug #459 plot context menu bug
- Fixes bug #559 copy to clipboard in graph menu broken
- Fixes bug #466 cannot remove a linear fit from graph
- Numerous bugs introduced in the alpha
- Fixes bug #511 Errors in linearized fits and clean up of interface
Known issues now fixed thanks to your feedback! - download latest developer version to get fixes.
- #636 qmin error erroneuously thrown to console before successfully fitting for select models
- #633 P(r) crashing on Sasview when entering 0.0 for Dmax
- #642 canSAS 1D xml file take forever to load
- #644 Loading saved fit or project opens multiple plot and fit windows and can throw error messages to the console
- #635 n_layers = 0 causes errors to be thrown at least on windows
- #658 Generic ASCII reader broken (should not be fixed to properly read most ASCII columnar data)
- #651 Documentation on how to write new style models added
- #654 Problme saving projects (should now work again as it used to).
- documentation continuing to be added and refined.
SasView 4.0 Alpha 3
New with 4.0
The main purpose of this major version release is a significant restructuring of the way models work to address one of the biggest issues identified by the community: the difficulty of adding complex custom models. With this release all models are essentially treated the same within the computational framework. The "built-in" models have been separated out into an independent sasmodels package. Custom models continue to be discovered by placing them in the user plugin directory. All models consist of 1 or optionally 2 files: a model.py file containing much of the details (name, parameters, etc) and either the methods for computing intensity or links to an optional model.c which contains the computational code. All models, whether from sasmodels package or in the plugins directory are treated the same by the SasView application.
Other things of note in this release:
- Support for openCL means that running on macs will automatically use GPUs or multiple CPU if they exist. This is true for most windows machines as well, but in some cases the user will need to download and install the openCL drivers for their computer.
- All model documentation has been reviewed and updated
- A number of other minor bugs and improvement
Current Known Issues
please support the project by reporting any issues not on this list
- Magnetic contrast has not yet been ported from 3.1.2
- "layer" models have not yet been ported from 3.1.2. These are models such as the Beaucage model and RPA which allow the user to define the number of levels of the model to use.
SasView 4.0 Alpha 2
New with 4.0
The main purpose of this major version release is a significant restructuring of the way models work to address one of the biggest issues identified by the community: the difficulty of adding complex custom models. With this release all models are essentially treated the same within the computational framework. The "built-in" models have been separated out into an independent sasmodels package. Custom models continue to be discovered by placing them in the user plugin directory. All models consist of 1 or optionally 2 files: a model.py file containing much of the details (name, parameters, etc) and either the methods for computing intensity or links to an optional model.c which contains the computational code. All models, whether from sasmodels package or in the plugins directory are treated the same by the SasView application.
Other things of note in this release:
- Support for openCL means that running on macs will automatically use GPUs or multiple CPU if they exist. This is true for most windows machines as well, but in some cases the user will need to download and install the openCL drivers for their computer.
- All model documentation has been reviewed and updated
- A number of other minor bugs and improvement
Current Known Issues (a living list)
please support the project by reporting any issues not on this list
- Sum/multiply model throws an error and does not work
- Help button on optimizer choice panel is not functioning (all other help seems to be working)
- Magnetic contrast has not yet been ported from 3.1.2
- "layer" models have not yet been ported from 3.1.2. These are models such as the Beaucage model and RPA which allow the user to define the number of levels of the model to use.
- Source code for the "built-in" models is not included in the install. Currently altering an existing model requires going to github to download the source then dumping those 2 files (1 if a pure Python model) into your local plugin folder. The model can then be edited and should be immediately available.
- crashes if old style custom models are in plugin folder
- resolution function option does not work. If attempt is made to change it SasView freezes and must be restarted
- stopping the fit while it is running using the DREAM optimizer will cause SasView to crash next time a fit is started.
- Dream optimizer does not work in batch fitting mode
- Linearized fits produce incrorrect qmin,qmax, qRgmax and bogus uncertainties
SasView 4.0 Alpha
Alpha release of SasView 4.0
- New sasmodels package and redesign of model code to provide
- polydispersity in python models
- OpenCL support for GPU acceleration
- simpler addition of models for users
SasView 3.1.3
Pre-code camp IV tagging for builds
SasView version 3.1.2
New in Version 3.1.2
This release is a major stability improvement, having fixed a serious bug that came to light since release 3.1.1. All users should upgrade.
- Fixes bug #468 broken remove constraint buttons in simultaneous/constrained fitting panel
- Fixes bug #474 resulting from changes in 3.1.1 that had introduced an error in the high-Q of slit-smeared models.
- Fixes bug #478 which would cause wx to run out of IDs and result in SasView crashing even if left alone.
- Fixes bug #479 missing help button on simultaneous/constrained fit page
- Fixes bug #480 GUI resizing issues on simultaneous fit page
- Fixes bug #486 broken Report Results
- Fixes bug #488 redraw issues in fit page
New in Version 3.1.1
- Fixes bug #457 that prevented SasView from starting if the user was not
connected to the internet, or was behind a proxy server.
New in Version 3.1.0
- The documentation/help has had a complete overhaul including:
- A completely new presentation interface (Sphinx).
- Proof reading!
- Updating for latest features.
- A Help (or sometimes '?') button has been added to every panel, and some sub panels if appropriate, linking to the appropriate section in the documentation.
- The model help has been split so that the Details button now brings up a very short pop-up giving the equation being used while HELP goes to the section in the full documentation describing the model.
- Extensive help has also been added for the new optimizer engine (see below) including rules of thumb on how and when to choose a given optimizer and what the parameters do.
- The optimizer engine has been completely replaced. The new optimizer still defaults to the standard Levenberg-Marquardt algorithm. However 4 other optimizers are now also available. Each starts with a set of default parameters which can be tuned. The DREAM optimizer takes the longest but is the most powerful and yields rich information including full parameter correlation and uncertainty plots. A results panel has been added to accommodate this.
- The five new optimizers are:
- A Levenberg-Marquardt optimizer
- A Quasi-Newton BFGS optimizer
- A Nelder-Mead Simplex optimizer
- A Differential Evolution optimizer
- A Monte Carlo optimizer (DREAM)
- The five new optimizers are:
- New models were added:
- MicelleSphCoreModel (currently residing in the Uncategorized category)
- Existing models were updated:
- LamellarPS (bug in polydispersity integration fixed)
- RectangularPrismModel
- RectangularHollowPrismModel
- RectangularHollowPrismInfThinWallsModel
- A number of bugs were fixed including a thread crashing issue and an incorrect slit smearing resolution calculation.
- Implemented much more robust error logging to enable much easier debugging in general but particularly the debugging of issues reported by SasView users.
SasView version 3.1.1
New in Version 3.1.1
- Fixes bug #457 that prevented SasView from starting if the user was not
connected to the internet, or was behind a proxy server.
New in Version 3.1.0
- The documentation/help has had a complete overhaul including:
- A completely new presentation interface (Sphinx).
- Proof reading!
- Updating for latest features.
- A Help (or sometimes '?') button has been added to every panel, and some sub panels if appropriate, linking to the appropriate section in the documentation.
- The model help has been split so that the Details button now brings up a very short pop-up giving the equation being used while HELP goes to the section in the full documentation describing the model.
- Extensive help has also been added for the new optimizer engine (see below) including rules of thumb on how and when to choose a given optimizer and what the parameters do.
- The optimizer engine has been completely replaced. The new optimizer still defaults to the standard Levenberg-Marquardt algorithm. However 4 other optimizers are now also available. Each starts with a set of default parameters which can be tuned. The DREAM optimizer takes the longest but is the most powerful and yields rich information including full parameter correlation and uncertainty plots. A results panel has been added to accommodate this.
- The five new optimizers are:
- A Levenberg-Marquardt optimizer
- A Quasi-Newton BFGS optimizer
- A Nelder-Mead Simplex optimizer
- A Differential Evolution optimizer
- A Monte Carlo optimizer (DREAM)
- The five new optimizers are:
- New models were added:
- MicelleSphCoreModel (currently residing in the Uncategorized category)
- Existing models were updated:
- LamellarPS (bug in polydispersity integration fixed)
- RectangularPrismModel
- RectangularHollowPrismModel
- RectangularHollowPrismInfThinWallsModel
- A number of bugs were fixed including a thread crashing issue and an incorrect slit smearing resolution calculation.
- Implemented much more robust error logging to enable much easier debugging in general but particularly the debugging of issues reported by SasView users.