Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/vsitzmann/deepoptics
09 June 2021, 00:10:50 UTC
  • Code
  • Branches (1)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/master
    No releases to show
  • d88bbd1
  • /
  • README.md
Raw File Download Save again
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:9d4389c092c8fcc2e7e48a73e6d24e0c26d37c8b
origin badgedirectory badge
swh:1:dir:d88bbd1829a757ab83fff94f5b0f8935ffddb1f8
origin badgerevision badge
swh:1:rev:defbb975309a6a3f3d2a86b92e82d02156ab213e
origin badgesnapshot badge
swh:1:snp:cef14c094a1401964c3c19dab978bf1774702878

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
Tip revision: defbb975309a6a3f3d2a86b92e82d02156ab213e authored by Vincent Sitzmann on 04 May 2021, 05:27:42 UTC
Updated paper link
Tip revision: defbb97
README.md
# End-to-end Optimization of Optics and Image Processing for Achromatic Extended Depth of Field and Super-resolution Imaging
Project web-site with more infos and videos: [link](https://vsitzmann.github.io/deepoptics/).

Link to our group website with other VR, AR, and computational imaging projects: [link](http://www.computationalimaging.org/)

This repository contains the code to reproduce the results presented in the following paper:

*Sitzmann, Vincent, et al. "End-to-end Optimization of Optics and Image Processing for Achromatic Extended Depth of Field and Super-resolution Imaging" SIGGRAPH 2018.

If you use this code or dataset in you research, please consider citing our paper with the following Bibtex code:

```
@article{sitzmann2018end,
  title={End-to-end optimization of optics and image processing for achromatic extended depth of field and super-resolution imaging},
  author={Sitzmann, Vincent and Diamond, Steven and Peng, Yifan and Dun, Xiong and Boyd, Stephen and Heidrich, Wolfgang and Heide, Felix and Wetzstein, Gordon},
  journal={ACM Transactions on Graphics (TOG)},
  volume={37},
  number={4},
  pages={114},
  year={2018},
  publisher={ACM}
}
```
A pre-print is available at this [link](https://dl.acm.org/citation.cfm?id=3201333&picked=formats).

## Dataset
We used the high-resolution images from Jegou et al. (2008) for optimizing the phase masks presented in the paper, though any other set of high-resolution images should work. The images are available for download [here](http://lear.inrialpes.fr/~jegou/data.php).

## Usage
This code was written for python 3.6.3 and Tensorflow 1.4.0. 
I recommend to use [anaconda](https://www.anaconda.com/download/) for dependency management. You can create an environment with name "deepoptics" with all dependencies like so:
```
conda env create -f src/environment.yml
```

Each one of the scripts aedof_diffractive.py, focussing_diffractive.py and aedof_zernike.py reproduces one experiment 
from the paper. They take as command-line parameters the log directory, which all log files and checkpoints will be written to,
and the image directory, which should contain high-resolution jpg images (see "Dataset" above). Example call:
```
python focusing_diffractive.py --log_dir /path/to/logdir --img_dir /path/to/image/dir
```
Training progress can be inspected via tensorboard:
```
tensorboard --logdir=/path/to/logdir
```

## Abstract
In typical cameras the optical system is designed first; once it is fixed, the parameters in the image processing algorithm are tuned to get good image reproduction. In contrast to this sequential design approach, we consider joint optimization of an optical system (for example, the physical shape of the lens) together with the parameters of the reconstruction algorithm. We build a fully-differentiable simulation model that maps the true source image to the reconstructed one. The model includes diffractive light propagation, depth and wavelength-dependent effects, noise and nonlinearities, and the image post-processing. We jointly optimize the optical parameters and the image processing algorithm parameters so as to minimize the deviation between the true and reconstructed image, over a large set of images. We implement our joint optimization method using autodifferentiation to efficiently compute parameter gradients in a stochastic optimization algorithm. We demonstrate the efficacy of this approach by applying it to achromatic extended depth of field and snapshot super-resolution imaging.

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API