Skip to main content

Exact geometrical optics including dispersion to learn and design optical instruments

Project description

Opticalpy - Optical raytracing in Python

PyPI - Version

This package in the making offers the possibility to create optical setup and visualize the light rays going through it.

It originated as a way to better understand how instruments in astronomy worked, and allow to design them for amateur scientific endeavours. However, this package can be used in very different fields !

Czerny-Turner spectrograph

What makes this package special ?

  1. It allows for modeling setup that use dispersive elements (gratings, prism, grism), and soon will also take dispersion in lenses into account.

  2. The optical elements geometry are described by parameterized curves allowing for exact interaction bewteen light rays and optical elements. This gives way better results than using discretized elements. To make this easy to use, each optical element is defined by one set of equations, that are automatically modified to place it where and in the orientation you want. The most common optical elements are already implemented, but you can add whatever you want with the method !

Cassegrain telescope

Installation

This package can be very easily installed using pip :

pip install opticalpy

Optical elements

This package integrates the following optical elements. The elements in italic aren't developed yet but should be added soon.

  • Mirror:

    • Flat
    • Parabolic
    • Hyperbolic
    • Spherical
  • Lens:

    • Spherical
    • Doublet
    • Triplet
  • Dispersive:

    • Reflection grating
    • Transmission grating
    • Prism
    • Grism
  • Filter:

    • Filter
    • Dichroic
  • Camera

  • Telescopes

    • Newtonian
    • Cassegrain
    • Ritchey-Chrétien
    • Schmidt-Cassegrain
    • Maksutov-Cassegrain

What's coming next ?

  • More elements:

    • Materials for dispersive lenses
    • Lenses arrangment (doublet, triplet...)
    • Grisms
    • More telescopes (Newtonian, Schmidt-Cassegrain, Maksutov-Cassegrain)
  • Making it easier to use:

    • Documentation
  • Future version:

    • 3D

References

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

opticalpy-1.1.1.tar.gz (50.0 kB view details)

Uploaded Source

Built Distribution

opticalpy-1.1.1-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

Details for the file opticalpy-1.1.1.tar.gz.

File metadata

  • Download URL: opticalpy-1.1.1.tar.gz
  • Upload date:
  • Size: 50.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.5

File hashes

Hashes for opticalpy-1.1.1.tar.gz
Algorithm Hash digest
SHA256 35df2f78fd1136ea116826de30312f811732bf8c7e3a0e69ca54ed5c55a1c90b
MD5 d0232eb7e45463cbbf9a983b6ff51860
BLAKE2b-256 2657add766c78d41e9e08658a0e89eb336a3b72258ad2d5bcab60b256e0c1e56

See more details on using hashes here.

File details

Details for the file opticalpy-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: opticalpy-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 41.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.5

File hashes

Hashes for opticalpy-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 507b5613c7ebc32a1544d4b11110414e3df83538b0f8524787c1149f3376436f
MD5 4de6372d0617f498795f30fdaa467914
BLAKE2b-256 ec87809cb5e08f56aa370f40bbd457567ce59c63f8ea15e60323f89615613e8d

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