Giter Club home page Giter Club logo

scadec-deep-learning-diffractive-tomography's Introduction

This is the python implementation of the deep leraning model ScaDec for inverting multiple light scattering in a surpervised manner. The paper is originally published on Optics Express. The arxiv version of the paper is available here

Abstract

Image reconstruction under multiple light scattering is crucial in a number of applications such as diffraction tomography. The reconstruction problem is often formulated as a nonconvex optimization, where a nonlinear measurement model is used to account for multiple scattering and regularization is used to enforce prior constraints on the object. In this paper, we propose a powerful alternative to this optimization-based view of image reconstruction by designing and training a deep convolutional neural network that can invert multiple scattered measurements to produce a high-quality image of the refractive index. Our results on both simulated and experimental datasets show that the proposed approach is substantially faster and achieves higher imaging quality compared to the state-of-the-art methods based on optimization.

Experimental Results

The following two figures show the visual results of ScaDec on simulated and experimental datasets (CelebA & Fresnel). The ScaDec substantially outperforms the optimization-based methods.

visualExamples

expExamples

Trianing & Testing

The scripts train.py and test.py are for training and testing the model ScaDec. If you want to train your own ScaDec, please checkout these two files. We also share pre-trained model and code here. Please cite the paper if you find our work useful for your research. The matlab code does

(1) generating measurements by solving 2D Lippmann Schwinger Equation

(2) generating syntheized Gaussian piece-wise smoothed elipses

(3) generating syntheized circles for Fresnel 2D

(4) backpropagation

To train/test a ScaDec, simply type:

  python train.py
  python test.py

Environment Requirement

Tensorflow v1.4
PIL
Python 3.6
Scipy

Citation

If you find the paper useful in your research, please cite the paper:

  @article{{Sun:18,
  Author = {Yu Sun and Zhihao Xia and Ulugbek S. Kamilov},
  Doi = {10.1364/OE.26.014678},
  Journal = {Opt. Express},
  Keywords = {Image reconstruction techniques; Inverse problems; Tomographic image processing; Inverse scattering},
  Month = {May},
  Number = {11},
  Pages = {14678--14688},
  Publisher = {OSA},
  Title = {Efficient and accurate inversion of multiple scattering with deep learning},
  Url = {http://www.opticsexpress.org/abstract.cfm?URI=oe-26-11-14678},
  Volume = {26},
  Year = {2018},
  Bdsk-Url-1 = {http://www.opticsexpress.org/abstract.cfm?URI=oe-26-11-14678},
  Bdsk-Url-2 = {https://doi.org/10.1364/OE.26.014678}}

Erratum

In the paper, the feature dimension of ScaDec is mistyped in Fig.3. The corrected feature figure is shown here.

ScaDecArch

Thanks Jiaming for pointing out this typo. If you have any concerns about this paper, feel free to contact us: [email protected]

scadec-deep-learning-diffractive-tomography's People

Contributors

sunyumark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

scadec-deep-learning-diffractive-tomography's Issues

Possible to share Test/Training Data?

Hey,

nice work! I wanted to test your network with our data, but was not able to run the test. Do you have the training/test-data somewhere (besides BOX, I don't have an account)? Or could you provide the MAT-structure of the training files?

Thanks a lot and even more for open-sourcing everything!
Best
Bene

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.