Skip to main content

Python module to evaluate experimental data

Project description

Welcome to pyEvalData

Documentation Status CI pypi codecov

This is a Python module to read and evaluate experimental data. It can handle raw data from different sources such as spec, hdf5, NeXus files which are common data formats at synchrotrons, FELs, as well as in a growing number of laboratories. The evaluation provides common functionalities such as binning, error calculation, and advanced data manipulation via algebraic expressions as well as pre- and post-data-filters. Furthermore, advanced wrapper functions allow for plotting and fitting sequences of one or multiple scans in dependence of an external parameter.

A minimal code example would look like this:

import pyEvalData as ped
# define your data source
spec = ped.io.Spec(file_name='data.spec')
# initialize the evaluation
ev = ped.Evaluation(spec)
# define the x- and y-data
ev.xcol = 'motor1'
ev.clist = ['ct1', 'ct2', 'ct1/ct2']
# create a plot for scans 1-3
ev.plot_scans([1, 2, 3])

Please follow the user guide and examples for your first steps with pyEvalData.

Features

  • reading of several pre-defined raw data formats
    • spec
    • hdf5
    • NeXus
    • user-defined text files
    • camera images (Dectris Pilatus, Princeton MTE, Greateyes, ...)
    • composite sources
  • easy implementation of new raw-data formats using an interface class
  • common methods for plotting and fitting of experimental data, including:
    • data binning
    • error calculation
    • data manipulation via algebraic expressions
    • common data pre- and post-filters

Installation

You can either install directly from pypi.org using the command

$ pip install pyEvalData

or if you want to work on the latest develop release you can clone pyEvalData from the main git repository:

$ git clone https://github.com/dschick/pyEvalData.git pyEvalData

To work in editable mode (source is only linked but not copied to the python site-packages), just do:

$ pip install -e ./pyEvalData

Or to do a normal install with

$ pip install ./pyEvalData

Optionally, you can also let pip install directly from the repository:

$ pip install git+https://github.com/dschick/pyEvalData.git

You can have the following optional installations to enable unit tests, as well as building the documentation:

$ pip install pyEvalData[testing]
$ pip install pyEvalData[documentation]

Contribute & Support

If you are having issues please let us know via the issue tracker.

You can contribute to the project via pull-requests following the GitHub flow concept.

License

The project is licensed under the MIT license.

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

pyEvalData-1.5.1.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

pyEvalData-1.5.1-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file pyEvalData-1.5.1.tar.gz.

File metadata

  • Download URL: pyEvalData-1.5.1.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for pyEvalData-1.5.1.tar.gz
Algorithm Hash digest
SHA256 027e32810a9abbebc66ff2a962a5c4d9a4241f67ef8efb560fd0ed9bf9753743
MD5 7f0d1f0cbe3ce0a3788cde5ce85df97c
BLAKE2b-256 96b64a1ba329db5fe52fc141f13bcbb7ae802f062611a22cbca226ed22732af1

See more details on using hashes here.

File details

Details for the file pyEvalData-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: pyEvalData-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for pyEvalData-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 026d30adf514577f4af3d52be2bc75a88b4a75d27ff9388b12fcca5ce2e6b566
MD5 a5bce195a7566680ed23f1819b5105e1
BLAKE2b-256 5f5874869e94a53a12ce7076684d1cf0e4a282e63ce2a39a005a4d0a474f42b7

See more details on using hashes here.

Supported by

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