
Updated:
02.01.2010
|
 |

Software package SASfit
for fitting small-angle scattering curves
SASfit has been written for analyzing and plotting small angle scattering
data. It can calculate integral structural parameters like radius of gyration,
scattering invariant, Porod constant. Furthermore it can fit size distributions
together with several form factors including different structure factors. Additionally
an algorithm has been implemented, which allows to simultaneously fit several
scattering curves with a common set of (global) parameters. This last option
is especially important in contrast variation experiments or measurements with
polarised neutrons. The global fit helps to determine fit parameters unambiguously
which by analyzing a single curve would be otherwise strongly correlated. The
program has been written to fulfill the needs at the small angle neutron scattering
facility at PSI (kur.web.psi.ch). The numerical
routines have been written in C whereas the menu interface has been written
in tcl/tk and the plotting routine with the extension blt.

Author Information:
SASfit
by Joachim Kohlbrecher
and
Ingo Bressler
Laboratory for Neutron Scattering
ETHZ & PSI
CH-5232 Villigen PSI
Switzerland
Tel: +41 56 310 3165
Fax.: +41 56 310 20 87
SASfit is available for users analysing data taken at PSI
SASfit has been developed at the Paul Scherrer Institute (PSI) and remains copyright
of the PSI.
SASfit is provided for users of the PSI facilities
SASfit is provided
"as
is" and with no warranty.
download SASfit package: (source, Windows binary , Linux binary, MacOS binary)
(previous versions)
License
Readme
jumble of formulas used by SASfit (pdf, html)
Version information:
- SASfit 0.92.3 (2010-01-02)
- implemented three different versions for worm like chains as described
in Macromolecules 1996, 29, 7602-7612. They have been implemented as
structure factors [anistropic obj|P'(Q):local cylindrical geometry],
so that it can be combined with different cross-section form factors of local cylindrical objects [anisotropic obj.|Pcs(Q) for cylindrical obj.].
- new form factor plugin for a sphere with 3 shells
- new structure factor for a regular cluster up to maximal 5 particle (tetrahedron like)
- correction of menue entry order for magnetic shell and superparamagnetic shell
- new plugin for ferrofluid particles with a scheme similar to the one from J.S. Pedersen for Gaussian Chains attached to a spherical particle
- bug fix in mMemberedTwistedRing
- two more default plot: Guinier (rods) and Guinier (sheets)
- bug fix in loglogistic peak
- implementation of asymptotic limits for fractals, which require a numerical integration. The integration often fails for large q-values
for which an asymptotic solution is available or has been constructed.
- reprogrammed SquareWell1 structure factor for a squared well potential
- replaced sasfit_qromb function by sasfit_integrate function in the form factor for the torus. The sasfit_qromb routine did not work for some
unknown reason. This needs to be checked.
- new structure factor for a thin square well potential
- bug fix in BeaucageExpPowLaw2
- Bug fix for setting plot option Holtzer in multiple data set tab
- public initialization file for setting the default working directory by the user to any path
- SASfit 0.92.2 (2009-10-08)
- data reduction without data loss, after loading a project file the data reduction can be reversed
- info message about a guessed error bar is displayed only once when the ascii options are changed (not for every file)
- added tooltip for complete filenames in merge window
- color for selected fit region stays at dark grey after loading an old project file
- removed unused help buttons in file open dialogs
- fixed error loop when adding new data to previously loaded project file
- fix for a homedir being e.g. 'U:\' at startup on Windows
- minor correction in the routine to guess the error bar (normalization) when only two column are supplied
- fix of rare error "form factor param out of range: -1"
- SASfit 0.92.1
(13th of September)
- fix for GUI problem with two plugin form factors (contribution updates). If there are two plugin model functions with a different number of
parameters, you can't switch/cycle trough the contributions anymore
(Next, Previous).
- fix for saving a parameter file (file creation was disabled by accident in previous version)
- SASfit 0.92.0 (8th of September)
- data reduction when loading a data file: only a subset of data points can be loaded
based on the overall point count or distance between points
- default directory for file selection is the current users home directory now
- documentation update
- fixed doxygen documentation and latex issues
- Holtzer and Debye-Bueche plot style added
- fixed bessel function evaluation for large values for resolution calculation
- fix for data file selection when error pops up and retry after input format correction
- fixed names of resolution parameter labels
- fixed error when loading default data file with sasfit installed in
directory with spaces (again)
- fixed bug with loading a 'new ..' data set when there were already some loaded: data structure maintenance issue
- unified window titles
- SASfit 0.91.1 (8th of July 2009)
Since the previous version of SASfit (0.90.1, January 2009) there were a lot of changes to primarily improve the quality and portability of the code. Here is only a short summary of the larger changes done:
- added detailed documentation on setup and installation of SASfit, as well as plugin development (how to add own model functions)
- fixed some bugs in plugin framework
- added automatic determination of available plugins at build time
- enabled static building for plugins
- increasing maximum number of model parameter in GUI
- verified build compatibility for MacOS
- Extended and improved Scattering Length Density (SLD) Calculator. Now the scattering length density for x-ray energies between 1keV and 24.9 keV can be calculated.
- a few new form factor have been included: generalized Gaussian coil, generalized Gaussian coil 1, generalized Gaussian coil 2, ellCylShell1, ellCylShell2
- SASfit 0.90.1 (12th of January 2009): bug-fix in plugin-GUI
- SASfit 0.90 (5th January 2009): new release including full source code and binaries for windows and linux.
Since the previous version of SASfit (0.87, March 2008) there were a lot of
changes to primarily improve the quality and portability of the code. Here
only a short summary of the 'big' changes done (as of Dec. 17th, 2008):
- Structured the source code into the modules sasfit_common, sasfit_sd,
sasfit_sq, sasfit_ff, sasfit_core.
- Switched to CMake build environment for platform independence. Build and
tested SASfit on Linux and Windows, 32bit as well as 64bit.
- Replaced intensive string comparisons for model function selection in each
interation step by more reasonable selection of functions pointers at
initialization time and direct call of the according function at iteration
time.
- Fixed a lot of bugs and typos in the GUI (but there are still some)
- Added flexible plugin system for external model functions. This way, all
model functions can be provided as plugins and though move out of the core
algorithms. Also enables easy customization.
In the future the modules sasfit_sd, sasfit_sq, sasfit_ff and sasfit_peaks
will be converted to external plugins.
- Added sasfit_peaks, a new class of model functions containing peaks.
- Added capability to ship SASfit as standalone executable, allows running on
system without the need of external libraries (e.g. Tcl, BLT, ...)
- 4.03.2008: (SASfit version 0.87) The last modification in the menu navigation
still had bugs. Hopefully they are removed in this version.
- 28.02.2008: (SASfit version 0.86) The menu navigation has been debugged and
optimized. Corrected a bug in calculating the polydispersity index (PDI) in
DLS cumulant analysis (PDI=Gamma2/Gamma1ˆ2)
- 25.01.2008: (SASfit version 0.85) A bug for the form factors ROD+Rˆ-a* has been corrected. The implementation of the scaling approximation, partial structure
factors and local monodisperse approach has been improved.
- 09.01.2008: (SASfit version 0.84) Form factor for wormlike
micelles (WORM+Chains(RW), WORM+Chains(RW)_Rc,
WORM+Chains(RW)_Nagg) and for cluster aggregates (Mass Fractal (Exp(-x) Cut-Off),
Fisher-Burford, MassFractExp, MassFractGauss, Mass Fractal
(Exp(-xˆa) Cut-Off), DLCAggregation, RLCAggregation,
MassFractOverlappingSph) have
been implemented. Furthermore a simple scheme for importing
data from the clipboard has been implemented, which e.g. allows
to copy/paste data from spread-sheets directly into SASfit.
- 04.10.2007: (SASFit version 0.80) Next to the correction of some bugs a simulation option for multiple data sets has been implemented. Furthermore an option has been implemented to subtract a theoretical scattering contribution from the experimental data set, like e.g. a constant background signal. The format
of the projects have up to now never been tested for compatibility.
An attempt has been started to change this for the future versions.
- 20.08.2007: A couple of form factors for spherical, elliptical, cylindrical
and very long rod-like micelles consisting of a homogeneous core
and which are either grafted with Gaussian chains "*(RW)*", or grafted
with semi-flexible self-avoiding and interacting chains "*(SAW)*" or a
corona with power-law decaying profile r^(-a) "*(R^-a)*" have
been implemented: SPHERE+Chains(RW), SPHERE+Chains(RW)_Rc,
SPHERE+Chains(RW)_Nagg, SPHERE+Chains(SAW), SPHERE+Chains(SAW)_Rc,
SPHERE+Chains(SAW)_Nagg, SPHERE+Rˆ-a, SPHERE+Rˆ-a_Rc,
SPHERE+Rˆ-a_Nagg, ELL+Chains(RW), ELL+Chains(RW)_Rc,
ELL+Chains(RW)_Nagg, CYL+Chains(RW), CYL+Chains(RW)_Rc,
CYL+Chains(RW)_Nagg, ROD+Chains(RW), ROD+Chains(RW)_Rc,
ROD+Chains(RW)_nagg, ROD+Rˆ-a, ROD+Rˆ-a_Rc, ROD+Rˆ-a_nagg
- 30.6.2007: Rudimental copy algorithm to copy plots or parameters into window-clipboard.
Everything is copied in wmf-format and the option only works fine for information
in non-scrolled widgets. Copy-option can be activated with right mouse button
or double click of left mouse button. The form factor for a triaxial ellipsoidal
(triaxEllShell) shell with semiaxis a, b, c and shell thickness t is available.
- 4.6.2007: Implementation of form factors for cylindrical shells with circular
cross-section and capped ends (CylShell2) and without
capped ends (CylShell1) together with an approximation
for very long cylindrical shells (LongCylShell)
- 27.3.2007: Implementation of form factor for bi-continuous systems (TeubnerStrey and DAB)
- 23.02.2007: Implementation of the structure factor for a system of charged,
spheroidal objects in a dielectric medium according to the RMSA model of Hayter
and Penfold
- 11.11.2006: Implementation of a semiflexible polymer according to Kholodenko,
some form factors with plane geometry, which are intended to be used with lamellar
structure factors (homogenousXSTwoInfinitelyThinPlates, LayeredCentroSymmetricXS, BiLayerGauss),
a sphere with Gaussian chains attached SphereWithGaussChains and a slightly different parametrised form factor named BlockCopolymerMicelle.
An additional option for reading ASCII data files is now available, which allows
to convert values for the scattering vector from nm^-1 into A^-1 and vice versa.
- 23.10.2006: Implementation of a polydsiperse star PolydisperseStar and of flexible ring polymers FlexibleRingPolymer and mMemberedTwistedRing.
- 22.10.2006: Implementation of the form factor of a flexible polymer with Gaussian
statistics (in different parameterisations Gauss, Gauss2, Gauss3) for
a polydisperse flexible polymer with Gaussian statistics (GaussPoly)
and a flexible ring of polymer with Gaussian statistics (FlexiblePolymerRing)
- 12.10.2006: Under the menu option "Calc/DLS..."
next to a cumulant fit also a double stretched exponential decay can be selected
to fit dynamic light scattering data.
- 5.10.2006: Implementation of a spherical shell with a diffuse (expontential)
scattering length density profile inside the shell caused by solvent penetration
into the shell
- 13.9.2006: Implementation of a form factor for spheres with gaussian chains
attached.
- 19.7.2006: first release (current version: 0.71)
at the moment only a windows version is available. The installation files for
tcl/tlk and blt are included in the distribution file.
|
 |