Skip to content

Exercises notebooks for the class Computational Optical Imaging

Notifications You must be signed in to change notification settings

kilianpdrx/Computational-Optical-Imaging

Repository files navigation

Computational Optical Imaging

This repository contains a collection of Jupyter notebooks developed as part of the Computational Optical Imaging course at EPFL. In this course, we learnt how to use computational tools to simulate optical systems and combine them with neural networks that process optical images.


Topics covered:

  1. Optical wave propagation

    • Free-space propagation
    • Beam propagation method (BPM)
    • Thin transparencies: lenses and gratings
    • Imaging systems
    • Digital holography
    • Computer-generated holograms (CGH)
  2. Multi-layer networks

    • Neural architectures for image enhancement and inversion
    • Training principles for optical simulations
  3. Microscopy

    • UNet-based super-resolution
    • Digital staining
    • Phase retrieval from intensity images
  4. Scattering media

    • Phase conjugation
    • Matrix methods
    • DNNs for focusing and imaging through multimode fibers (MMFs)
    • Ptychography
  5. Inverse scattering

    • Optical diffraction tomography
    • MaxwellNet and inverse-scattering reconstruction

Exercises

Notebook Title / Topic
GX_01.ipynb Free space propagation
GX_02.ipynb Angular Spectrum Method, diffraction
GX_03.ipynb GRIN, BPM
GX_04.ipynb Zernike phase shift contrast microscope
GX_05.ipynb Coherent & Incoherent, Fourier optics
GX_06.ipynb NN for optics
GX_07.ipynb Feature size
GX_08.ipynb Gerchberg Saxton algorithm
GX_09.ipynb Waveguides
GX_10.ipynb Holography
GX_11.ipynb Fibers

Example from one of the notebook


Simulated propagating modes in a fiber.

About

Exercises notebooks for the class Computational Optical Imaging

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published