Python library for analyzing and visualizing SSLS SUV Beamline data.
Project description
SUV Tools
Visit the project homepage https://pranabdas.github.io/suvtools/
Quick start
Install latest stable release:
pip3 install --upgrade suvtools
Import suvtools into your project:
import suvtools as suv
Modules:
-
suv.load("datafile.txt", scan=None)
: It will return a two dimensional array with columns for various parameters. If the second argument, i.e., the scan number is not specified, the code will read the last scan from the file. -
suv.fit_gauss(x, y, a=None, x0=None, sigma=None, xmin=None, xmax=None, num=1000)
: returns x, Gaussian fitted y values, and prints out relevant parameters.xmin
andxmax
determines the range to fit. Ifxmin
andxmax
are not provided, whole range is used.num
determines the number of points returned inx_fit
andy_fit
. -
suv.fit_lorentz(x, y, a=None, x0=None, gamma=None, xmin=None, xmax=None, num=1000)
: returns x, Lorentzian fitted y values, and prints out relevant parameters.xmin
andxmax
determines the range to fit. Ifxmin
andxmax
are not provided, whole range is used.num
determines the number of points returned inx_fit
andy_fit
. -
suv.save_csv("datafile.txt", csvname=None, scan=None)
: saves scan to a csv file. The file will be saved in the save directory asdatafile
with namedatafile.csv
unlesscsvname
is specified. Like theload
module, if the scan number is not specified, it will read the last scan from the file. -
suv.norm_bg(energy, intensity, x1, x2, x_norm_loc=None)
: Removes linear background, and normalizes the data. x1, x2 are energy values that determines the slope of the background. By default the normalization done at the tail point of the spectra. It can be changed to other point, enter the corresponding energy value. The intention is to normalize at an energy value away from the peaks/features of interest. -
suv.lock_peak(data, refdata, x1=None, x2=None, E_col=0, I_col=9, I0_col=4)
: Locks peak position with respect to the reference data. It locks the maximum of intensity to the same energy; the range of peak search can be specified by inputx1
andx2
. If no bounds are given, it will find the maximum in the whole data range. -
suv.calc_area(y, x, x_start=None, x_end=None)
: Calculates area under the curve for givenx
andy
values.x_start
andx_end
can be specified to set the limit of integration region, if not provided whole range is integrated.
See the notebook and documentation for example usage.
Documentation development
# install npm packages
npm install
# serve locally
npm start
# build
npm run build
Python tests
python3 -m unittest discover tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file suvtools-1.0.2.tar.gz
.
File metadata
- Download URL: suvtools-1.0.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3acd38748371a8ba9d96ad34411815cda2d64ca01191cf7438065a57db2ea816 |
|
MD5 | 95e3a0fc9dd5491c936300b4ee0fd71e |
|
BLAKE2b-256 | b8b3c250b8487d8ab674a905a411c925ed43a4f72dad15a6be7385acb77fa653 |
File details
Details for the file suvtools-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: suvtools-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 713c48bd20e9f0818522b22d229fca6d446e38823580766accdbdaacee36de58 |
|
MD5 | c4102cffe7a14aa83978c0ce01ffa54f |
|
BLAKE2b-256 | b10c5dd778d351172626472865767eb23c8a640ef80b416bedae8f8adfa86fdc |