Skip to main content

Mueller calculus, polarimetry, and motion control

Project description

Katsu: Integrated polarimetry and polarization simulation

codecov Documentation Status status

drawing

Katsu is a Python 3.8+ library that contains an integrated library for modeling simple polarization effects (represented with Mueller calculus), simulating full stokes and mueller polarimetry, and integrating both of these as data reduction tools for conducting polarimetry in the laboratory. We also feature motion control routines for commercially available rotation stages for a more Pythonic interface to devices that would otherwise require serial communication.

Documentation

The documentation can be found at katsu.readthedocs.io.

Optional dependencies

Katsu has limited support for numpy-like backends, like cupy for accelerated computing and jax for automatic differentiation. These are not strict requirements, and must be installed by the user. To switch to them at runtime, either the set_backend_to_cupy or set_backend_to_jax method can be used from katsu.math at runtime.

Features

  • Mueller calculus
  • Mueller data reduction
  • Mueller polarimetry routines
  • Motion control for the Agilis piezoelectric rotation stages

Installation

Currently Katsu is installable from source, just run the following in your terminal

git clone https://github.com/Jashcraf/katsu/
cd katsu
pip install .

Contributions / Questions

If you wish to contribute to Katsu, or have any questions about its use, please open an issue to start a discussion. Before a pull request is made, we prefer that an issue is made to discuss the contributions at a high level.

Acknowledgements

Thanks to Quinn Jarecki of UA's Polarization Lab for the starting theory on dual rotating retarder mueller polarimetry, and for overall helpful discussions. Thanks also to William Melby, Manxuan Zhang, and Max Millar-Blanchaer for being the first to test out the Mueller data reduction code.

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

katsu-0.1.0.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

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

katsu-0.1.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file katsu-0.1.0.tar.gz.

File metadata

  • Download URL: katsu-0.1.0.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for katsu-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb4741753dc362a46c3cbd3b94332c2b8e1522a6fef222041d9f073b4ba6837e
MD5 3752fd6f99710ae96fadba7fa5947e02
BLAKE2b-256 532bc3b9377a1c9c190f0ba7f4478314c669a2f54a99afff16f1b09235706495

See more details on using hashes here.

File details

Details for the file katsu-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: katsu-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for katsu-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63dc4c1ffdbbf07b6a06a9dc0c1509c3efb30e70ea745c927b93debfcfbdfa3d
MD5 20b71b561b8f82a88de5d69cc1f60376
BLAKE2b-256 766ac05b06adb0cd85dc2a5e3d6f2dd30059c0767b3bbf38c4ed6d3bb1552119

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