Skip to main content

Routines for analysis of polarization

Project description

by Scott Prahl

pypi conda zenodo

License testing docs 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.

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.

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

pypolar-0.9.3.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

pypolar-0.9.3-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file pypolar-0.9.3.tar.gz.

File metadata

  • Download URL: pypolar-0.9.3.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pypolar-0.9.3.tar.gz
Algorithm Hash digest
SHA256 7d3c2da50737c198e83aa640c3974f0c2d8f3770225aea9c66eaca1c732e605d
MD5 d6dd9adc0b08b02c982a9cb201768ab4
BLAKE2b-256 65b7ce0c48f3d7c03dc0f3a86b262d4326ab32efada69f9cbdef6c3b53e5ecc4

See more details on using hashes here.

File details

Details for the file pypolar-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: pypolar-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 31.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pypolar-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b3f8359b74d17067421b2380bf3eaca236ad73ff7623ae6376074f33c2c70d10
MD5 21123a6c34eff5e3b891597220e46bda
BLAKE2b-256 f2b79d5b7525ebdb5e233c3b98fbcf76a6dc6bb23345528a77e96dfdc0d60f4d

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