Giter VIP home page Giter VIP logo

elfpie_eifpie's Introduction


ELFPIE: an error-laxity Fourier ptychographic iterative engine


This is the MATLAB code for Fourier Ptychography reconstruction using ELFPIE.

We are happy that this paper has been accepted and published on Signal Processing

USAGE

Simulation experiments are available in folder toy-experiment .
Experiment demo is available in folder usaf_demo

User-friendly FPM experiment

We present a simple but efficient and robust reconstruction algorithm for Fourier ptychographic microscopy, termed error-laxity Fourier ptychographic iterative engine (Elfpie), that is simultaneously robust to

(1) noise signal (including Gaussian, Poisson, and salt & pepper noises)
(2) problematic background illumination
(3) vignetting effects
(4) misaligning of LED positions
(5) without the need of calibrating or recovering these system errors

You don't have to worry about your raw data quality and system calibrations ! (^_^)



How does it works ?

In Elfpie, we embed the inverse problem of FPM under the framework of feature extraction/recovering and propose a new image gradient-based data fidelity cost function regularized by the global second-order total-variation regularization. The closed-form complex gradient for the cost function is derived and is back-propagated using the AdaBelief optimizer with an adaptive learning rate.



ELFPIE cost function

The cost function contains two parts: the fidelity term and penalty term.

$${\large \mathcal{L}_{ELFPIE} = \mathcal{L}_{Fidelity} + \mathcal{L}_{Penalty} }$$

Data-fidelity term:

We use the gamma corrected intensity measurement in image gradient domian to be the data fidelity term. Since image gradient is sparse, we further use the $\mathrm{L} _{1}\mathrm{-norm}$ to achieve sparsity promotion.

$${\large \mathcal{L}_{Fidelity} (\mathbf{\Psi}, \mathbf{P}) = \sum_{n=1}^N \left \| \bigtriangledown \mathbf{I} ^{\gamma}_{n} - \bigtriangledown\left | \mathbf{F}^{\dagger}\mathbf{P} \mathbf{M} _{n}\mathbf{\Psi} \right |^{2\gamma} \right \|_{1} ,\mathbb{C}^{A}\longrightarrow\mathbb{R}}$$

$\mathbf{I}_{n}$ denotes the intensity measurement of n-th low-resolution image.

$\mathbf{F} ^{\dagger}$ denotes the inverse Fourier transfrom.

$\mathbf{P}$ denotes the pupil function of the image system.

$\mathbf{M}_{n}$ denotes the selection mask for n-th LED illumination.

When $\gamma = 1$ the fidelity term uses intensity measurement, while for $\gamma = 0.5$ the fidelity uses amplitude measurement.
Other fractional $\gamma$ can be tested and generates different reconstruction results.

Penalty term:

We use second-order total-variation (TV)-regularization imposed on both amplitude and phase of the recontructed high-resolution image as the penalty term to suppress the noise signal

$${\large \mathcal{L}_{Penalty}(\mathbf{\Psi})=\alpha \left \| \bigtriangledown\bigtriangledown\left | \mathbf{F} ^{\dagger}\mathbf{\Psi} \right | \right\|_{1} +\beta\left \| \bigtriangledown\bigtriangledown \angle\mathbf{F} ^{\dagger}\mathbf{\Psi} \right \|_{1} , \mathbb{C}^{A}\longrightarrow\mathbb{R}}$$

Where

$${\large \left | \mathbf{X} \right | = \sqrt{\mathfrak{R^2(\mathbf{X} )}+\mathfrak{I^2(\mathbf{X} )} } \text{, and } \angle \mathbf{X} = \arctan \frac{\mathfrak{I(\mathbf{X} )}}{\mathfrak{R(\mathbf{X} )}} }$$

The complex gradient of the cost function is calculated uisng the $\mathbb{C}\mathbb{R}\text{-Calculus}$ [paper]

Optimizer:

The optimizer used in ELFPIE is a combination of AdaBelif and AdaDelta. The learning-rate $\boldsymbol{\delta}$ is adaptively adjusted according to historical gradient.
We choose $r_1 = 0.9$, $r_2 = 0.999$, and $\boldsymbol{\delta}^0 = 100$ for learning the parameters.
At the t-th iteration, the model parameters are updated according to

$${\large \begin{align} \mathbf{g} & = \bigtriangledown_{\mathbf{\overline{\Psi}}} \mathcal{L}_{ELFPIE} &&\text{——Gradient}\\\ \boldsymbol{\rm{\mu}}^t & = r_1 \boldsymbol{\mu}^{t-1} + \left( 1-r_1 \right) \mathbf{g} &&\text{——First moment estimation} \\\ \boldsymbol{\upsilon }^t & = r_2 \boldsymbol{\upsilon}^{t-1} + \left( 1-r_2 \right) \left |\boldsymbol{\mu}^t- \mathbf{g} \right |^2 &&\text{——Belief in gradient direction}\\\ \stackrel\frown{\boldsymbol{\mu}} & = \boldsymbol{\mu}^t/\left ( 1 + r_1^{t} \right ) &&\text{——Bias correction }\\\ \stackrel\frown{\boldsymbol{\upsilon }} & = \boldsymbol{\upsilon }^t/\left ( 1 + r_2^{t} \right ) \\\ \bigtriangleup \mathbf{\Psi} & = \frac{\sqrt{\boldsymbol{\delta}^{t-1}}}{\sqrt{\stackrel\frown{\boldsymbol{\upsilon }}}+\eta} \cdot \left [ r_1 \stackrel\frown{\boldsymbol{\mu}} +\left ( 1-r_1 \right )\mathbf{g} \right ] &&\text{——Increment of } \mathbf{\Psi}\\\ \mathbf{\Psi}^t & = \mathbf{\Psi}^{t-1} + \bigtriangleup \mathbf{\Psi}\\\ \boldsymbol{\delta}^{t} & = r_1\boldsymbol{\delta}^{t-1}+\left ( 1-r_1\right ) \left | \bigtriangleup \mathbf{\Psi} \right |^2 &&\text{——Adaptive learning rate} \end{align} }$$

Experiment using HOMEMADE FPM platform

low-quality raw image data cube

We test the ELFPIE on the USAF resolution target using our homemade FPM platform.
The raw image suffers from severe noises and vignetting effect. LED array is not well-calibrated also.
All dark-field images were collected using the same camera setting (exposure time) as that of bright field images.


high-quality reconstruction image

The iteration convergent with few loops (20 loops).
The Fourier spectrum of the sample inside and outside the Synthetic Aperture are reconstructed.



Compared against other FPIE, our proposed methods generates high-experimental robustness recontruction results.

elfpie_eifpie's People

Contributors

shuhezhang-mumc 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.