Skip to main content

SasModels small-angle scattering modelling

Project description

Theory models for small angle scattering.

The models provided are usable directly in the bumps fitting package and in the sasview analysis package. If OpenCL is available, the models will run much faster. If not, then precompiled versions will be included with the distributed package. New models can be added if OpenCL or a C compiler is available.

Citing and Acknowledging SasModels

If you found this software useful to your work please cite and/or acknowledge its use in your publications. The latest instructions for citing and acknowledging are available on our website.

[Citing SasModels](http://www.sasview.org/cite/#citing-sasmodels) [Acknowledging SasModels](http://www.sasview.org/cite/#acknowledging-sasview)

Install

The easiest way to use sasmodels is from SasView.

You can also install sasmodels as a standalone package in python. Use miniconda or anaconda to create a python environment with the sasmodels dependencies:

$ conda create -n sasmodels -c conda-forge numpy scipy matplotlib pyopencl

The option -n sasmodels names the environment sasmodels, and the option -c conda-forge selects the conda-forge package channel because pyopencl is not part of the base anaconda distribution.

Activate the environment and install sasmodels:

$ conda activate sasmodels
(sasmodels) $ pip install sasmodels

Install bumps if you want to use it to fit your data:

(sasmodels) $ pip install bumps

Usage

Check that the works:

(sasmodels) $ python -m sasmodels.compare cylinder

To show the orientation explorer:

(sasmodels) $ python -m sasmodels.jitter

Documentation is available online as part of the SasView fitting perspective as well as separate pages for individual models. Programming details for sasmodels are available in the developer documentation.

Fitting Example

The example directory contains a radial+tangential data set for an oriented rod-like shape.

To load the example data, you will need the SAS data loader from the sasview package. This is not yet available on PyPI, so you will need a copy of the SasView source code to run it. Create a directory somewhere to hold the sasview and sasmodels source code, which we will refer to as $SOURCE.

Use the following to install sasview, and the sasmodels examples:

(sasmodels) $ cd $SOURCE
(sasmodels) $ conda install git
(sasmodels) $ git clone https://github.com/sasview/sasview.git
(sasmodels) $ git clone https://github.com/sasview/sasmodels.git

Set the path to the sasview source on your python path within the sasmodels environment. On Windows, this will be:

(sasmodels)> set PYTHONPATH="$SOURCE\sasview\src"
(sasmodels)> cd $SOURCE/sasmodels/example
(sasmodels)> python -m bumps.cli fit.py cylinder --preview

On Mac/Linux with the standard shell this will be:

(sasmodels) $ export PYTHONPATH="$SOURCE/sasview/src"
(sasmodels) $ cd $SOURCE/sasmodels/example
(sasmodels) $ bumps fit.py cylinder --preview

The fit.py model accepts up to two arguments. The first argument is the model type, which has been defined for cylinder, capped_cylinder, core_shell_cylinder, ellipsoid, triaxial_ellipsoid and lamellar. The second argument is view, which can be radial or tangential. To fit both radial and tangential simultaneously, use the word “both”.

See bumps documentation for detailed instructions on running the fit.

TestStatus TravisStatus

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sasmodels-1.1.0b1.tar.gz (20.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sasmodels-1.1.0b1-py3-none-any.whl (18.5 MB view details)

Uploaded Python 3

File details

Details for the file sasmodels-1.1.0b1.tar.gz.

File metadata

  • Download URL: sasmodels-1.1.0b1.tar.gz
  • Upload date:
  • Size: 20.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for sasmodels-1.1.0b1.tar.gz
Algorithm Hash digest
SHA256 4cd6e3b5b9ee3ca708353cd3556a22d9643bd64bd8c958aaf02e4a3b3dde1dc5
MD5 d9bb4726f2a0a98887c4e091681baf38
BLAKE2b-256 9254e6e2712aad612ba482e89a19edd9b0a6cdad1359ed94d9c1ce8a3e839b54

See more details on using hashes here.

File details

Details for the file sasmodels-1.1.0b1-py3-none-any.whl.

File metadata

  • Download URL: sasmodels-1.1.0b1-py3-none-any.whl
  • Upload date:
  • Size: 18.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for sasmodels-1.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 abe9370027d1dc32edd0b20b123ca8b3824a4762506cd36f4d2c030162d42f48
MD5 9bd78d5a24b7317ac5d1c409a3b7909a
BLAKE2b-256 19bbfd39d065d826308883cd219b2e0365eae29b9eebc824942e80e2dd30b5ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page