Skip to main content

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.

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

xcalibu-1.0.1.tar.gz (59.8 kB view details)

Uploaded Source

Built Distribution

xcalibu-1.0.1-py3-none-any.whl (61.7 kB view details)

Uploaded Python 3

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

Hashes for xcalibu-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d5f786b17569e4ed04cbcf6e10adf3fa0edd3d4ed292cb0f1b1e954d9fb1b2d1
MD5 9e0598186144051d73003b44b17a6266
BLAKE2b-256 c7eee47131b32850e2dca62e816b5b0c74ff0cfab841b46e8d8048b61e4d8091

See more details on using hashes here.

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

Hashes for xcalibu-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 87bc43423064a71d01696e714422b7fc7373eb01f6f04fed8ab83ff0ac201696
MD5 efc6b9f69d42decbe7aef738d7167567
BLAKE2b-256 a7434c69ce14314304c71c89594f07694995e5d4acd8b9b497ade8ed0c1d53e1

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