Skip to main content

Combines dataArrays with attributes for fitting plotting and analysis including models for Xray and neutron scattering

Project description

The aim of Jscatter is treatment of experimental data and models:

  • Reading and analyzing experimental data with associated attributes as temperature, wavevector, comment, ….

  • Multidimensional fitting taking attributes into account.

  • Providing useful models for neutron and X-ray scattering form factors, structure factors and dynamic models (quasi elastic neutron scattering) and other topics.

  • Simplified plotting with paper ready quality.

  • Easy model building for non programmers.

  • Python scripts/Jupyter Notebooks to document data evaluation and modelling.

Binder citation install license pyversion Read the Docs Beginners Guide

Jscatter Logo

Main concept

  • Data are organised in dataArray/dataList with attributes as .temperature, .wavevector, .pressure and methods for filter, merging and more.

  • Multidimensional, attribute dependent fitting (least square Levenberg-Marquardt, Bayesian fit, differential evolution, regularisation, …).

  • Provide relative simple plotting commands to allow a fast view on data and possible later pretty up.

  • User write models using the existing model library or self created models.

    The model library contains routines e.g. for vectorized quadrature (formel) or specialised models for scattering as formfactor, structurefactor, dynamic and biomacromolecules.

Documentation

Documentation located at http://jscatter.readthedocs.io. A number of examples how to use Jscatter is provided and can be run from Jscatter.

A short example how to use Jscatter

import jscatter as js

i5=js.dL(js.examples.datapath+'/iqt_1hho.dat')     # read the data (16 sets) with attributes
# define a model for the fit
diffusion=lambda A,D,t,wavevector,elastic=0:A*np.exp(-wavevector**2*D*t)+elastic

# do the fit
i5.fit(model=diffusion,                     # the fit function
       freepar={'D':[0.08],'A':0.98},       # start parameters, "[]" -> independent fit
       fixpar={'elastic':0.0},              # fixed parameters
       mapNames={'t':'X','wavevector':'q'}) # map names from the model to names from the data

p=js.grace(1.2,0.8)                         # open a plot
p.plot(i5,symbol=[-1,0.4,-1],legend='Q=$q') # plot with Q values in legend
p.plot(i5.lastfit,symbol=0,line=[1,1,-1])   # plot fit as lines
p.save('test.agr')

** Released under the GPLv3 **

Project details


Release history Release notifications | RSS feed

This version

1.8.3

Download files

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

Source Distribution

jscatter-1.8.3.tar.gz (19.6 MB view details)

Uploaded Source

Built Distributions

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

jscatter-1.8.3-cp314-cp314-manylinux_2_34_x86_64.whl (33.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

jscatter-1.8.3-cp313-cp313-manylinux_2_34_x86_64.whl (33.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

jscatter-1.8.3-cp312-cp312-manylinux_2_34_x86_64.whl (33.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

jscatter-1.8.3-cp311-cp311-manylinux_2_34_x86_64.whl (33.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

jscatter-1.8.3-cp310-cp310-manylinux_2_34_x86_64.whl (32.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

File details

Details for the file jscatter-1.8.3.tar.gz.

File metadata

  • Download URL: jscatter-1.8.3.tar.gz
  • Upload date:
  • Size: 19.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for jscatter-1.8.3.tar.gz
Algorithm Hash digest
SHA256 c9e10ff94a8b52a4079ec39332c00bb449644ea3a5486158542b826adf310d60
MD5 1fcfe210367ebaf82c9c081a868bd50d
BLAKE2b-256 eee573874ad6670cd5a7d05eded2f46fec63f47427da9aa636a8488a28aba0fc

See more details on using hashes here.

File details

Details for the file jscatter-1.8.3-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jscatter-1.8.3-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 29ea38ac601524208349ad5555f468b2137512a29891f52102d4bcb1d02d03fc
MD5 fb35e2b44e3306d5d7b7582285650902
BLAKE2b-256 d7ea8f1614be1e7f5246d16981a87326ee161990932712d47506d44095209515

See more details on using hashes here.

File details

Details for the file jscatter-1.8.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jscatter-1.8.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f500c8069edaf8566bdde80c96ac674614a77451201eab97a4014d52d3b28a92
MD5 7a9cb584d8919bd5dd8340e49c7c35c4
BLAKE2b-256 8c31778f43caea80bd36bcbb471d634e01129e61331c7b96c521c28873c1d4cc

See more details on using hashes here.

File details

Details for the file jscatter-1.8.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jscatter-1.8.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 91620ea2f5a015f6691d8fb2a74045269c7f1e82cea91940a98b8912d5b58621
MD5 f655445d4ae33220202545bc182dda03
BLAKE2b-256 da23f294198afc4e2c09fb7bd0cf6dd5a28250c64bb5ea0c56c6f6de19e681b0

See more details on using hashes here.

File details

Details for the file jscatter-1.8.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jscatter-1.8.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c5c294f43d798e1ec8afe143abd9d72544018a732a81c455233fedb71fe71aea
MD5 94e7cef968a3c766e21a25ad1dd34f92
BLAKE2b-256 159fdf5c615e3a1f68428976fc47ebf1b04788326efd8b173b059a6e24ad5757

See more details on using hashes here.

File details

Details for the file jscatter-1.8.3-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jscatter-1.8.3-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ef717d16e9f4cfbe6ae99499a4e91a1d673f4ebf44240538ff37e63cd2327922
MD5 e4075974a17fe3e4d79e32b4807151a6
BLAKE2b-256 7f9b9bf1a8de0f2f503192a345bbbca9e8f53c409049ef6ed885cd85fdb31d42

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