• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
    MATLAB
  • License
    BSD 3-Clause "New...
  • Created about 7 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DiffuserCam Processing Code

DiffuserCam Algorithms

Project Page / PDF

This code is based on the paper "DiffuserCam: Lensless Single-exposure 3D Imaging" available here. It implements the alternating direction method of multipliers (ADMM) algorithm described in the paper for recovering 3D volumes from 2D raw data captured with DiffuserCam. This code requires MATLAB.

Running the solver

In MATLAB, run the following:

xhat = DiffuserCam_main('DiffuserCam_settings.m');

The settings file contains all user-controlled parameters.

Data Files

Two files are necessary to use the solver.

  1. Stack of point spread functions (PSFs) taken at different axial distances, saved as '.mat' file with any background subtracted
  2. Raw data, saved as image (.png)

Paths to these files are specified in the settings file.

Included Example

To allow users to experiment with the code without building their own DiffuserCam system, we've provided an example PSF stack and raw data. The raw data is for a USAF resolution target, placed at an angle in front of the sensor. In this example, the target is imaged from the back, so you should see a mirror image of a USAF target after solving. Note that we've downsampled these images to reduce the file sizes and speed up the code, so the quality of the results is lower compared to higher resolutions.

More Repositories

1

LenslessLearning

Code for Lensless Learning Paper
Jupyter Notebook
56
star
2

DiffuserCam-Tutorial

Build-your-own DiffuserCam tutorial
Jupyter Notebook
49
star
3

MultiWienerNet

Jupyter Notebook
38
star
4

DeepAutofocus

Single-shot autofocus on microscopes using deep learning
Jupyter Notebook
29
star
5

DPC_withAberrationCorrection

M. Chen, Z. F. Phillips, and L. Waller, Quantitative differential phase contrast (DPC) microscopy with computational aberration correction, Opt. Express 26(25), 32888-32899 (2018).
Jupyter Notebook
26
star
6

SpectralDiffuserCam

Code and project page for Spectral DiffuserCam
Jupyter Notebook
22
star
7

UDN

Jupyter Notebook
22
star
8

FPM

MATLAB
21
star
9

NOVOCGH

NOVO-CGH algorithm implemented in Matlab for 3D CGH
MATLAB
21
star
10

multi-layer-born

Python
19
star
11

multi-slice

MATLAB
17
star
12

Miniscope3D

Jupyter Notebook
17
star
13

Angle_SelfCalibration

Self calibration algorithms for illumination angle recovery.
MATLAB
16
star
14

2D_high_content_speckle_SIM

Jupyter Notebook
12
star
15

3DQuantitativeDPC

Jupyter Notebook
12
star
16

BSCCM

Berkeley Single Cell Computational Microscopy dataset
Jupyter Notebook
11
star
17

CalOptrics

CalOptrics is an open source fast and easy-to-use C++ library for CUDA-based GPU computing for Compuational Optical Imaging purposes. It uses an array-based function set which makes programming with CUDA easier than programming raw CUDA code, so it's main goal is to save time during gpu code development. The idea for CalOptrics was inspired by the GPU computing library ArrayFire: http://arrayfire.com/.
C
8
star
18

DPC

MATLAB
7
star
19

3dDPC

C++ Implementation of Digital Refocusing algorithm described in http://www.opticsinfobase.org/ol/abstract.cfm?uri=ol-39-5-1326
C
6
star
20

fresnel-prop

Optics Functions
MATLAB
5
star
21

EncodingInformation

Jupyter Notebook
3
star
22

BRIEF

1. Y. Xue, D. Ren, L. Waller, Three-dimensional bi-functional refractive index and fluorescence microscopy (BRIEF). arXiv [physics.optics] (2020), (available at http://arxiv.org/abs/2011.11574).
Jupyter Notebook
2
star
23

Pattern_estimation_SIMS

MATLAB
2
star
24

ledArrayPcbDesigns

LED Array PCB Designs for various Arrays
Eagle
2
star
25

android-3d-phase

Java
2
star
26

Xray-TIE

Computes Projected Thickness via Phase-Contrast Imaging Algorithm that uses the Transport of Intensity Equation (Paganin Phase Retrieval from Single Defocused Image)
C
2
star
27

PytorchComplexOps

Jupyter Notebook
1
star
28

SpeckleFlowSIM

Code and example notebooks for Speckle Flow SIM - Dynamic Structured Illumination Microscopy with a Neural Space-time Model
Jupyter Notebook
1
star
29

CompCellScopeAndroid

Latest development version of CellScope Android app and relevent code
Java
1
star