Mueller calculus, polarimetry, and motion control
Project description
Katsu: Integrated polarimetry and polarization simulation
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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb4741753dc362a46c3cbd3b94332c2b8e1522a6fef222041d9f073b4ba6837e
|
|
| MD5 |
3752fd6f99710ae96fadba7fa5947e02
|
|
| BLAKE2b-256 |
532bc3b9377a1c9c190f0ba7f4478314c669a2f54a99afff16f1b09235706495
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63dc4c1ffdbbf07b6a06a9dc0c1509c3efb30e70ea745c927b93debfcfbdfa3d
|
|
| MD5 |
20b71b561b8f82a88de5d69cc1f60376
|
|
| BLAKE2b-256 |
766ac05b06adb0cd85dc2a5e3d6f2dd30059c0767b3bbf38c4ed6d3bb1552119
|