PhysicalOptics.jl
A package for simulation of physical optics. Physical optics is more general than ray optics but not as general as full electrodynamics.
Install / Use
/learn @JuliaPhysics/PhysicalOptics.jlREADME
PhysicalOptics (DEPRECATED)
A package for simulation of physical optics. Physical optics is more general than ray optics but not as general as full electrodynamics.
[!WARNING] ⚠️⚠️ This package has been deprecated in favor of WaveOpticsPropagation.jl ⚠️⚠️
| 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_psfandconv_otfare wrappers for the more generalconvandconv_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.
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
