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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|