Skip to main content

Calibration library

Project description

Xcalibu

author: Cyril Guilloud ESRF BCU 2013-2022

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 calibrate undulators at ESRF.

installation

Available on PyPi or anaconda.org

usage

to plot: ./xcalibu.py -p

to debug:./xcalibu.py -d10

plot a file:./xcalibu.py -p examples/xcalibu_calib_poly.calib

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.save()

This will create a file named mycalib.calib in your current directory.

% 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

That you can now use and plot for example:

% xcalibu ./mycalib.calib  -p

------------------------{ Xcalibu }----------------------------------
[xcalibu] - log level = INFO (20)
use "./mycalib.calib" argument as calib test file
XCALIBU - INFO - DATA lines read : 10
XCALIBU - INFO -  Ymin =          2  Ymax =          7  Nb points =   10
XCALIBU - INFO -  Xmin =          1  Xmax =         10  Nb points =   10
XCALIBU - INFO - TABLE + INTERPOLATION => NO FIT
XCALIBU - INFO - y value of 5.5 = 3.5 (3.361701965332031e-05)
XCALIBU - INFO - Calculation of 25 values of y. duration : 0.00021958351135253906
XCALIBU - INFO - Plotting

%

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

xcalibu-0.9.2.tar.gz (58.2 kB view details)

Uploaded Source

Built Distribution

xcalibu-0.9.2-py3-none-any.whl (62.8 kB view details)

Uploaded Python 3

File details

Details for the file xcalibu-0.9.2.tar.gz.

File metadata

  • Download URL: xcalibu-0.9.2.tar.gz
  • Upload date:
  • Size: 58.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.12

File hashes

Hashes for xcalibu-0.9.2.tar.gz
Algorithm Hash digest
SHA256 f899732ab5e29df5e5dfa818afa28e7e7c895d7cecfe197fed16bea977b72dad
MD5 5f44c8a286f3d7eb2ea791fecb0d2822
BLAKE2b-256 5a37e15d25300440df4d839befc6589a24d5abebfd3072c245ac087e6639175e

See more details on using hashes here.

File details

Details for the file xcalibu-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: xcalibu-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 62.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.12

File hashes

Hashes for xcalibu-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0e9548913c4002ae4109f079172e408bef892e03a44682540f308ecc0cb4e10
MD5 bb1de7c9fe9ff425f2ec8655781eb190
BLAKE2b-256 3326b5445e1d17aea9e0f556dc1379636fca6d8b8970d8e1fef25320736730ad

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