Skip to main content

This package is a python interface for laboratory adaptive optics systems, with a focus on the calibration of deformable mirrors (DMs) and the acquisition of wavefront data using interferometers.

Project description

OptiCalib : adaptive OPTics package for deformable mirrors CALibration

GitHub Actions Workflow Status

Adaptive Optics Group, INAF - Osservatorio Astrofisico di Arcetri

OptiCalib is a python package which first goal is to make easy deformable mirror's calibration in the laboratory (and not only).

It was born as a general extrapolation of the software built for the control and calibration of the ELT @ M4 adaptive mirror and it's calibration tower, OTT (Optical Test Tower).

Description

The OPTICALIB package serves two main purposes:

  • Making connection to the hardware (interferometers, DMs, ...) easy;

  • Providing routines for Deformable Mirrors calibrations.

The latests, stable, version can be installed from pypi:

pip install opticalib

The in-development version can be installed directly from this repository:

pip install git+"https://github.com/pietroferraiuolo/labott.git"

but do expect some bugs!

Upon installation, the software will create an entry point script called calpy, which is usefull to set up a specific experiment's environment. Let's say we have an optical bench composed of an interferometer 4D PhaseCam6110 and an Alpao Deformable mirror, say DM820. We can create the experiment's environment just like:

calpy -f ~/alpao_experiment --create

This will create, in the ~/alpao_experiment folder, the package's data folder tree, together with a configuration file in the SysConfig folder. The configuration file, documented here, is where all devices must be specified.

Once done with the configuration, we can then start using out instruments:

calpy -f ~/alpao_experiment
# The `calpy` function will automatically import opticalib (with `opt` as alias), as well as the `opticalib.dmutils` as dmutils

interf = opt.PhaseCam(6110) # set in the configuration file
dm = opt.AlpaoDm(820)       # set in the configuration file

# Having the bench set up and the configuration file set, we can acquire an Influence Function by just doing

tn = dmutils.iff_module.iffDataAcquisition(dm, interf) # Optional paramenters are `modesList, modesAmplitude, template`, which if not specified are read from the configuration file

Documentation

For the API references, check here (work in progress...), while for the configuration file documentation check here

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

opticalib-1.2.0.tar.gz (344.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opticalib-1.2.0-py3-none-any.whl (368.8 kB view details)

Uploaded Python 3

File details

Details for the file opticalib-1.2.0.tar.gz.

File metadata

  • Download URL: opticalib-1.2.0.tar.gz
  • Upload date:
  • Size: 344.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for opticalib-1.2.0.tar.gz
Algorithm Hash digest
SHA256 84fbe4b9d99e7f7b8df1ca952833c1294350dee4f75b73d09a20e2bf5fd49745
MD5 7e40ae34c491772d5f3c30de1839579e
BLAKE2b-256 c0c495507bb0b718ef86736c56bbf66f2f3490f2181d4762b48bb51e42f510f3

See more details on using hashes here.

File details

Details for the file opticalib-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: opticalib-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 368.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for opticalib-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd6d02e65005dbab726b52d90655172b6a42019688b91fff88fb58d51bc8a68b
MD5 494af7d038f6d7f9444a387beff353e6
BLAKE2b-256 cd7d4a848e7e3dafa19a43e144bc16cb1a6b3d0d9329d568d0458089db25dfe9

See more details on using hashes here.

Supported by

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