pypolar
=======
by Scott Prahl
.. image:: https://img.shields.io/pypi/v/pypolar.svg
:target: https://pypi.org/project/pypolar/
:alt: pypi
.. image:: https://img.shields.io/conda/v/conda-forge/pypolar.svg
:target: https://github.com/conda-forge/pypolar-feedstock
:alt: conda
.. image:: https://zenodo.org/badge/107437651.svg
:target: https://zenodo.org/badge/latestdoi/107437651
:alt: zenodo
|
.. image:: https://img.shields.io/badge/MIT-license-yellow.svg
:target: https://github.com/scottprahl/pypolar/blob/master/LICENSE.txt
:alt: License
.. image:: https://github.com/scottprahl/pypolar/actions/workflows/test.yml/badge.svg
:target: https://github.com/scottprahl/pypolar/actions/workflows/test.yml
:alt: testing
.. image:: https://readthedocs.org/projects/pypolar/badge
:target: https://pypolar.readthedocs.io
:alt: docs
.. image:: https://img.shields.io/pypi/dm/pypolar
:target: https://pypi.org/project/pypolar/
:alt: Downloads
----
Code to model and visualize the polarization state of light as it travels
through polarizers and birefringent elements. Some ellipsometry
support is also included.
There are four numeric modules:
* `pypolar.fresnel` - reflection and transmission calculations
* `pypolar.jones` - management of polarization using the Jones calculus
* `pypolar.mueller` - management of polarization using the Mueller calculus
* `pypolar.ellipsometry` - ellipsometry support
A module for visualization:
* `pypolar.visualization` - Routines to support visualization
and three modules that support symbolic algebra:
* `pypolar.sym_fresnel` - Fresnel reflection and transmission
* `pypolar.sym_jones` - Jones calculus
* `pypolar.sym_mueller` - Mueller calculus
Detailed documentation is available at `Read the Docs <https://pypolar.readthedocs.io>`_.
Installation
------------
Use `pip`::
pip install pypolar
Usage
-----
Create an optical isolator::
import pypolar.mueller as mueller
# Optical Isolator example, no light returning
A = mueller.stokes_right_circular() # incident light
B = mueller.op_linear_polarizer(np.pi/4) # polarizer at 45°
C = mueller.op_quarter_wave_plate(0) # QWP with fast axis horizontal
D = mueller.op_mirror() # first surface mirror
E = mueller.op_quarter_wave_plate(0) # QWP still has fast axis horizontal
F = mueller.op_linear_polarizer(-np.pi/4) # now at -45° because travelling backwards
F @ E @ D @ C @ B @ A
License
-------
pypolar is licensed under the terms of the MIT license.
Raw data
{
"_id": null,
"home_page": "https://github.com/scottprahl/pypolar.git",
"name": "pypolar",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.4",
"maintainer_email": "",
"keywords": "retarder,quarter wave,half wave,Jones calculus,birefringent,ellipsometry,Fresnel,Mueller calculus,Stokes vector",
"author": "Scott Prahl",
"author_email": "scott.prahl@oit.edu",
"download_url": "https://files.pythonhosted.org/packages/65/b7/ce0c48f3d7c03dc0f3a86b262d4326ab32efada69f9cbdef6c3b53e5ecc4/pypolar-0.9.3.tar.gz",
"platform": null,
"description": "pypolar\n=======\n\nby Scott Prahl\n\n.. image:: https://img.shields.io/pypi/v/pypolar.svg\n :target: https://pypi.org/project/pypolar/\n :alt: pypi\n\n.. image:: https://img.shields.io/conda/v/conda-forge/pypolar.svg\n :target: https://github.com/conda-forge/pypolar-feedstock\n :alt: conda\n\n.. image:: https://zenodo.org/badge/107437651.svg\n :target: https://zenodo.org/badge/latestdoi/107437651\n :alt: zenodo\n\n|\n\n.. image:: https://img.shields.io/badge/MIT-license-yellow.svg\n :target: https://github.com/scottprahl/pypolar/blob/master/LICENSE.txt\n :alt: License\n\n.. image:: https://github.com/scottprahl/pypolar/actions/workflows/test.yml/badge.svg\n :target: https://github.com/scottprahl/pypolar/actions/workflows/test.yml\n :alt: testing\n\n.. image:: https://readthedocs.org/projects/pypolar/badge\n :target: https://pypolar.readthedocs.io\n :alt: docs\n\n.. image:: https://img.shields.io/pypi/dm/pypolar\n :target: https://pypi.org/project/pypolar/\n :alt: Downloads\n\n----\n\nCode to model and visualize the polarization state of light as it travels\nthrough polarizers and birefringent elements. Some ellipsometry\nsupport is also included.\n\nThere are four numeric modules:\n\n* `pypolar.fresnel` - reflection and transmission calculations\n* `pypolar.jones` - management of polarization using the Jones calculus\n* `pypolar.mueller` - management of polarization using the Mueller calculus\n* `pypolar.ellipsometry` - ellipsometry support\n\nA module for visualization:\n\n* `pypolar.visualization` - Routines to support visualization\n\nand three modules that support symbolic algebra:\n\n* `pypolar.sym_fresnel` - Fresnel reflection and transmission\n* `pypolar.sym_jones` - Jones calculus\n* `pypolar.sym_mueller` - Mueller calculus\n\nDetailed documentation is available at `Read the Docs <https://pypolar.readthedocs.io>`_.\n\nInstallation\n------------\n\nUse `pip`::\n\n pip install pypolar\n\nUsage\n-----\n\nCreate an optical isolator::\n\n import pypolar.mueller as mueller\n\n # Optical Isolator example, no light returning\n\n A = mueller.stokes_right_circular() # incident light\n B = mueller.op_linear_polarizer(np.pi/4) # polarizer at 45\u00b0\n C = mueller.op_quarter_wave_plate(0) # QWP with fast axis horizontal\n D = mueller.op_mirror() # first surface mirror\n E = mueller.op_quarter_wave_plate(0) # QWP still has fast axis horizontal\n F = mueller.op_linear_polarizer(-np.pi/4) # now at -45\u00b0 because travelling backwards\n\n F @ E @ D @ C @ B @ A\n\nLicense\n-------\n\npypolar is licensed under the terms of the MIT license.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Routines for analysis of polarization",
"version": "0.9.3",
"project_urls": {
"Homepage": "https://github.com/scottprahl/pypolar.git"
},
"split_keywords": [
"retarder",
"quarter wave",
"half wave",
"jones calculus",
"birefringent",
"ellipsometry",
"fresnel",
"mueller calculus",
"stokes vector"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f2b79d5b7525ebdb5e233c3b98fbcf76a6dc6bb23345528a77e96dfdc0d60f4d",
"md5": "21123a6c34eff5e3b891597220e46bda",
"sha256": "b3f8359b74d17067421b2380bf3eaca236ad73ff7623ae6376074f33c2c70d10"
},
"downloads": -1,
"filename": "pypolar-0.9.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "21123a6c34eff5e3b891597220e46bda",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 31154,
"upload_time": "2023-09-19T05:39:54",
"upload_time_iso_8601": "2023-09-19T05:39:54.761083Z",
"url": "https://files.pythonhosted.org/packages/f2/b7/9d5b7525ebdb5e233c3b98fbcf76a6dc6bb23345528a77e96dfdc0d60f4d/pypolar-0.9.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "65b7ce0c48f3d7c03dc0f3a86b262d4326ab32efada69f9cbdef6c3b53e5ecc4",
"md5": "d6dd9adc0b08b02c982a9cb201768ab4",
"sha256": "7d3c2da50737c198e83aa640c3974f0c2d8f3770225aea9c66eaca1c732e605d"
},
"downloads": -1,
"filename": "pypolar-0.9.3.tar.gz",
"has_sig": false,
"md5_digest": "d6dd9adc0b08b02c982a9cb201768ab4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 31508,
"upload_time": "2023-09-19T05:39:56",
"upload_time_iso_8601": "2023-09-19T05:39:56.500033Z",
"url": "https://files.pythonhosted.org/packages/65/b7/ce0c48f3d7c03dc0f3a86b262d4326ab32efada69f9cbdef6c3b53e5ecc4/pypolar-0.9.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-19 05:39:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scottprahl",
"github_project": "pypolar",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pypolar"
}