Giter Site home page Giter Site logo

eminsight / physicaloptics.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from juliaphysics/physicaloptics.jl

0.0 0.0 0.0 205 KB

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

License: MIT License

Julia 100.00%

physicaloptics.jl's Introduction

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.

physicaloptics.jl's People

Contributors

roflmaostc avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.