Skip to content

A package for simulation of physical optics. Physical optics is more general than ray optics but not as general as full electrodynamics.

License

Notifications You must be signed in to change notification settings

JuliaPhysics/PhysicalOptics.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️⚠️ Please look at WaveOpticsPropagation.jl. ⚠️⚠️

Still some features missing but this package is the successor.

PhysicalOptics

A package for simulation of physical optics. Physical optics is more general than ray optics but not as general as full electrodynamics.

As this package is at an early stage of development, we would be excited to welcome any new contributers!

Documentation Build Status Code Coverage

Installation

Currently not registered and under development. But the main branch can be installed with:

julia> ] add https://github.com/JuliaPhysics/PhysicalOptics.jl

Features

Implemented

  • Fast convolutions adapted to the needs of Physical Optics. Methods like conv_psf and conv_otf are wrappers for the more general conv and conv_v_ft.
  • Light propagation with Fresnel and Rayleigh-Sommerfeld (propagate)
  • 2D jinc PSF
  • some conversion methods
  • Light propagation with Fresnel
  • Optical elements like lenses, apertures
  • some optical conversions
  • micro lenses
  • Light propagation with Fraunhofer
  • Focused and defocused PSFs (3D) with Debye integral.

Wanted

  • Register adjoints of convolution via ChainRulesCore
  • more tests
  • cleaning of method arguments
  • Documentation

Literature

As resources we recommend

  • Goodman, Joseph W. Introduction to Fourier optics,
  • Mertz, Jerome. Introduction to optical microscopy. Cambridge University Press, 2019.

For simulation there exists a MATLAB tutorial

  • Voelz, David. "Computational fourier optics: a MATLAB tutorial." Society of Photo-Optical Instrumentation Engineers, 2011.

Similar Projects

In Julia there is no similar project. However, in Python POPPY offers similar functionality.

About

A package for simulation of physical optics. Physical optics is more general than ray optics but not as general as full electrodynamics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages