Calibration library
Project description
Xcalibu
Xcalibu is a python library to manage calibrations tables or polynomia. It includes a PyTango device server in order to optionaly run it as a server.
xcalibu.py : python library Xcalibuds.py : PyTango device server
Xcalibu name comes from the first use of this library to deal with undulators calibrations at ESRF.
- https://en.wikipedia.org/wiki/Undulator
- https://en.wikipedia.org/wiki/European_Synchrotron_Radiation_Facility
installation
Available on PyPi or anaconda.org
or pip install .
or pip install -e .
usage
to plot: ./xcalibu.py -p
to debug:./xcalibu.py -d10
plot a file:./xcalibu.py -p examples/xcalibu_calib_poly.calib
Examples
TABLE + INTERPOL
import numpy
import xcalibu
calib = xcalibu.Xcalibu()
calib.set_calib_file_name("mycalib.calib")
calib.set_calib_type("TABLE")
calib.set_reconstruction_method("INTERPOLATION")
calib.set_calib_time("1234.5678")
calib.set_calib_name("CAL")
calib.set_calib_description("dynamic calibration created for demo")
calib.set_raw_x(numpy.linspace(1, 10, 10))
calib.set_raw_y(numpy.array([3, 6, 5, 4, 2, 5, 7, 3, 7, 4]))
calib.plot()
calib.save() # create a file named `mycalib.calib` in your current directory.
TABLE + POLYFIT
import numpy
import xcalibu
calib = xcalibu.Xcalibu()
calib.set_calib_file_name("mycalib.calib")
calib.set_calib_type("TABLE")
calib.set_reconstruction_method("POLYFIT")
calib.set_calib_time("1234.5678")
calib.set_calib_name("CAL")
calib.set_calib_description("dynamic calibration created for demo")
calib.set_raw_x(numpy.linspace(1, 10, 15))
calib.set_raw_y(numpy.array([4.1, 3.5, 3.6, 4.2, 4.5, 4, 3.9, 3.8, 4.5, 4.6, 6, 6.2, 4.7, 5, 4]))
calib.set_fit_order(6)
calib.fit()
calib.plot()
POLY
% cat mycalib.calib
# XCALIBU CALIBRATION
CALIB_NAME=CAL
CALIB_TYPE=TABLE
CALIB_TIME=1234.5678
CALIB_DESC=dynamic calibration created for demo
CAL[1.000000] = 3.000000
CAL[2.000000] = 6.000000
CAL[3.000000] = 5.000000
CAL[4.000000] = 4.000000
CAL[5.000000] = 2.000000
CAL[6.000000] = 5.000000
CAL[7.000000] = 7.000000
CAL[8.000000] = 3.000000
CAL[9.000000] = 7.000000
CAL[10.000000] = 4.000000
command line usage
Options: -h: help -p: plot -d: debug
-t type -r reconstruction_method -k kind of interpolation -n name
example: ./xcalibu.py -n calinou -t TABLE -r INTERPOLATION -k cubic examples/U32a_1_table.dat -p
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
Built Distribution
File details
Details for the file xcalibu-1.0.1.tar.gz
.
File metadata
- Download URL: xcalibu-1.0.1.tar.gz
- Upload date:
- Size: 59.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f786b17569e4ed04cbcf6e10adf3fa0edd3d4ed292cb0f1b1e954d9fb1b2d1 |
|
MD5 | 9e0598186144051d73003b44b17a6266 |
|
BLAKE2b-256 | c7eee47131b32850e2dca62e816b5b0c74ff0cfab841b46e8d8048b61e4d8091 |
File details
Details for the file xcalibu-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: xcalibu-1.0.1-py3-none-any.whl
- Upload date:
- Size: 61.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87bc43423064a71d01696e714422b7fc7373eb01f6f04fed8ab83ff0ac201696 |
|
MD5 | efc6b9f69d42decbe7aef738d7167567 |
|
BLAKE2b-256 | a7434c69ce14314304c71c89594f07694995e5d4acd8b9b497ade8ed0c1d53e1 |