UK Graduate Modelling Camp
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Microscopy Group ## Improving the Resolution of Microscopy Images ### Mentor: Bogdan Toader ### Participants - Anvarbek Atayev, University of Warwick - Nayef Shkeir, University of Warick - Caelen Feller, Trinity College Dublin - Daniel Mckinnell - David Dalton - Francesco Viganò, University College London [Overleaf Link](https://www.overleaf.com/project/6058abf5bad63b5b1fac9b6e) ### Monday Summary - Examined theory of problem - Divised a provisional algorithm/workflow to use, with description of possible sources of error and limitations. - Divided into groups to: - Discretize/implement the theoretical form of the PFS - Explore the deconvolution solution using proxylab and data loading - Organized for tuesday (github, these, etc) ### Plan for Tuesday Necessary installations/tasks for Monday night: - [Proxylab](https://gitlab.com/jboulanger/proxylab) (download with git or directly, add by using addpath('your directory') in MATLAB terminal) - Matlab + Image processing toolbox - Git - Recommend looking at proxylab implementation and trying to implement some test problems yourself this evening as preperation for tomorrow/to make sure it's all set up! Tasks: - Deconvolution inverse problem solution implementation with given PFS/OFS - Any more theory work we need to do? - Discretization scheme here? What space are we working in? - Try using proxylab to implement problem - What algorithm is best? - other things that we should consider - $h_{\text{data}}$ computation - Compute corrected bead source image using $h_{\text{theory}}$, deconv implementation and a sphere finding algorithm/hand manipulation - Solve the inverse problem where we have known source and image, but unknown h! (This needs to be reviewed from a theory perspective) - Apply this to the full image - - Need metrics for seeing how well the method does - Need to explain the possible --- - Aim 1 Tasks: - Figure out how to approxipate the pupil fuions with Zerkine polynomials - Implement and test - Aim 2 Tasks: - Check proxylab code and determine how to generate test data - Perform deconvolution on test data (using what h?) --- # Resources (slideshow and links) - Proxylab for Matlab inverse problems (toolbox) [Link](https://gitlab.com/jboulanger/proxylab) - [A. Chambolle, T. Pock, An introduction to continuous optimization for imaging](https://hal.archives-ouvertes.fr/hal-01346507/document) - A. Stokseth. Properties of a Defocused Optical System (Paper, pdf in chat) - [Wikipedia page for Richardson-Lucy algorithm](https://en.wikipedia.org/wiki/Richardson%E2%80%93Lucy_deconvolution) - Writeboard Fox [Link](https://r8.whiteboardfox.com/8715944-0967-7262) - Richardson-Lucy Deconvolution [Link](https://en.wikipedia.org/wiki/Richardson%E2%80%93Lucy_deconvolution) - Overleaf [Link](https://www.overleaf.com/project/6058abf5bad63b5b1fac9b6e) - Point Spread Function [Wikipedia](https://en.wikipedia.org/wiki/Point_spread_function) # Introduction ![](https://i.imgur.com/1q92w3r.png) Given an object of interest (be it beads/protein) that we want to image, depicted by $u$, its image through a microscope is given by $f$. Ideally, the image recorded through the microscope would equal the source, i.e. $f = u$. But, microscopes aren't perfect, and can record blurry images due to properties of the microscope used, i.e. the image received would be of the form $$ \begin{align} f[n_1,n_2,n_3] &= (h \circledast u)[n_1,n_2,n_3] \\ &:= \sum_{m_1=-\infty}^{\infty}\sum_{m_2=-\infty}^{\infty}\sum_{m_3=-\infty}^{\infty}h[m_1,m_2,m_3]u[n_1-m_1,n_2-m_2,n_3-m_3] \end{align} $$ where $\circledast$ denotes a 3D discrete convolution, and $h$ is defined as the **point spread function** of a microscope (this describes the various ways the microscope distorts/blurs any point it records of an image). We assume that $u[n_1,n_2,n_3] = 0$ for $n_i < 0, n_i > 256$, for $i = 1,2$ and $n_3 < 0$ and $n > 32$. ![Point Spread Function](https://i.imgur.com/RgdlYTv.png) - **Domains:** - $f, u \in \mathbb{R}^{N_1\times N_2 \times N_3}$, for some $N_i \in \mathbb{N}$. For our purposes, $N_1 = N_2 = 256$ and $N_3 = 32$, i.e. number of slices of image (Note: number of slices of beads image is different) - what is $h$ in? ($h \in \mathbb{R}^{(2N_1 + 1)\times (2N_2 + 1) \times (2N_3+1)}$?) #### Introduction of Gaussian Error In reality, our image data is not only distorted by the properties of the microscope, but also by some noise, which we'll consider to be Gaussian, i.e. in reality, the data that we receive will be $$ f = h \circledast u + \eta, $$ where $\eta$ is Gaussian with mean $\mu$ and variance $\sigma^2$. ### Ideal Situation Ideally, $f = u$, for which one solution is $h[j_1,j_2,j_3] = \delta_{0j_1}\delta_{0j_2}\delta_{0j_3}$, where $\delta_{ij} = 1$ if $i = j$ and $0$ if $i \neq j$, and $\eta \equiv 0$, in which case for all $n_1,n_2,n_3$ $$\begin{align} f[n_1,n_2,n_3] &= (h \circledast u) [n_1,n_2,n_3] \\ &= \sum_{m_1=-\infty}^{\infty}\sum_{m_2=-\infty}^{\infty}\sum_{m_3=-\infty}^{\infty}h[m_1,m_2,m_3]u[n_1-m_1,n_2-m_2,n_3-m_3] \\ &= \sum_{m_1=-\infty}^{\infty}\sum_{m_2=-\infty}^{\infty}\sum_{m_3=-\infty}^{\infty}\delta_{0m_1}\delta_{0m_2}\delta_{0m_3}u[n_1-m_1,n_2-m_2,n_3-m_3] \\ &= u[n_1,n_2,n_3] \end{align}$$ ### Computing $f$ Note that, since we have a convolution, in Fourier space this transform into a multiplication, i.e. $$ \hat{f} = \widehat{h \circledast u} = \hat{h}\hat{u} $$ which is a much more efficient process (numerically speaking). Thus, when computing $f$ from an inputted $u$ and a known $h$, speedwise (since matrix multiplication + IDFT is faster than convolution), it is beneficial to convert to Fourier space. That is, given known $u$ and $h$, to compute $f$, first compute $\hat{h} \hat{u}$, and then set $f = \text{IDFT}(\hat{h} \hat{u})$, where $\text{IDFT}$ is the [Inverse Discrete Fourier Transform](https://en.wikipedia.org/wiki/Discrete_Fourier_transform). Note that $\hat{h}$ is the deemed the [Optical Transfer Function (OFT)](https://en.wikipedia.org/wiki/Optical_transfer_function). --- # Aims The aim of this project is to deblur the img-gfp-tubuline_aber.tif file, i.e. by solving for $u$, via deconvolution, the equation $$ f = h \circledast u + \eta. $$ Although, we should note that we do not yet know what PSF, $h$, is and this must be determined using a calibration file, called beads.tif, which contains an image file of a number of beads of known size. Therefore, the aims of this project can be split into two: ### Aim 1: Calibration Determine an approximation, $h_{approx}$, of the true value of the PSF $h_{true}$ using $f_{beads}$ (i.e. beads.tif), where we know what $u_{beads}$ should look like. ### Aim 2: Deblurring Determine $u_{tubuline}$ from blurred image $f_{tubuline}$ (i.e. img-gpf-tubuline_aber.tif) using determined $h_{approx}$ from Aim 1 via a deconvolution technique. --- # 1. Theory ## 1.1 Point Spread Function As discussed in the introduciton, whenever an image is recorded using a microscope, the recorded image is not perfect/is not exact and contains abberations and blurring that form due to the structure of the microscope. The abberations introduced by the microscope can be described a a function called the **point spread function** (PSF). Generally speaking, what is a PSF [point spread function](https://en.wikipedia.org/wiki/Point_spread_function)? ![Point Spread Function](https://i.imgur.com/RgdlYTv.png "Point Spread Function") - Also known as impulse response of the optical system - Represents the response to a single "point object" of the lens - The spatial domain version of the Optical Transfer Function (OTF, defined on Fourier space as the FT of the PSF). - PSF represents the effect of the lens on objects (it's a convolution operator), so reversing it's action can be seen as a "known" operator deconvolution problem. - However, for more accuracy, you need to consider more unpredictable aberrations in the data (sample container shape light influence, and refractive index changes) ### Optical Transfer Function The optical transfer function (OTF) is defined as the Fourier transform of the PSF. As a Fourier transform, it is generally complex-valued, although, if the PSF is radially symmetric, then the OTF is real valued. - Specifies how different spatial frequencies are handled by microscope. ### Theoretical PSF Models A simple theoretical PSF model is given by the following equation $$h(x,y,z) = \left\vert\int\int p(\kappa_x,\kappa_y)e^{2i\pi z \sqrt{(n/\lambda)^2 - \kappa_x^2 - \kappa_y^2}} e^{2i\pi(\kappa_x x+\kappa_y y)}\mathrm{d}\kappa_x\mathrm{d}\kappa_y\right\vert^2$$ where - $\lambda$ is the wavelength (here is 0.525 $\mu\mathrm{m}$), - $n$ is the refractive index (typically ~1.35 here) - $p(\kappa_x, \kappa_y)$ is called the **pupil function** The theoretical PSF is useful for providing - A baseline with which to test our deblurring algorithm without accounting for aberrations (just use a non-aberration accounting one to get some initial metrics/results) - A part of a more complex theoretical model which includes some of the abberations we can observe. ### Pupil Function *Pupil Function* - "describes how a light wave is affected upon transmission through an optical imaging system" [Wikipedia](https://en.wikipedia.org/wiki/Pupil_function) - Complex function of position of microscope aperture indicating the relative change in amplitude and phase of the light wave. Or just indicates if light is being transmitted if less general. - Can be seen as a function which constrains the integral to a (unit) disc here. - The pupil function captures all optimal aberrations that occur between the image plane and the focal place in the sample. In general, the pupil function can be defined as $$ \begin{align} p(k_1,k_2) = A(k_1,k_2) e^{i\Theta(k_1,k_2)}, \quad (k_1,k_2) \in \mathbb{R}^2, \end{align} $$ where $\Theta$ is the *phase change* introduced by the optics/surrounding medium, and $A$ denotes the amplitude of light. #### Example: Ideal System In an ideal system, the pupil function can be seen as being equal to one at every point within the pupil (aperture of camera) and zero outside it. In case of a circular pupil, the pupil function can be defined as $$ p(k_1,k_2) := \begin{cases} 1 & \text{if } k_1^2 + k_2^2 \leq \frac{\text{NA}}{\lambda}, \\ 0 & \text{otherwise}, \end{cases} $$ where - $\text{NA}$ is the [numerical aperture](https://en.wikipedia.org/wiki/Numerical_aperture) - $\lambda$ is the wavelength of the light used - $\sqrt{\frac{\text{NA}}{\lambda}}$ is the pupil radius #### Example: Non-Ideal System ## 1.2 Discretisation of theoretical PSF We choose to discritise the PSF using a standard Riemann sum approximation, although higher order approximations can be used and will be considered if necessary. In particular, for a discretisation fineness parameter $N$, denote the discritation approximation of the PSF by $$h_N(x,y,z) := \left\vert\sum_{i=-N}^{N-1}\sum_{j=-N}^{N-1} (\Delta_{k_i}\Delta_{\omega_j})p(k_i,\omega_j)e^{2i\pi z \sqrt{(n/\lambda)^2 - k_i^2 - \omega_j^2}} e^{2i\pi(k_i x+ \omega_j y)}\right\vert$$ where - $k_i = \frac{i}{N}\frac{1}{\lambda}$, thus $\Delta_{k_i} = \frac{1}{N\lambda}$ - $\omega_i = \frac{i}{N}\frac{1}{\lambda}$, thus $\Delta_{\omega_i} = \frac{1}{N\lambda}$ and $h_N \to h$ pointwise as $N\to\infty$. #### Data-Driven PSF Models - Purely data-driven: Estimate the PSF deconvolution matrix from a comparable calibration image of spherical beads. Points to consider: - Are the aberrations space-invariant? This determines the size of the PSF? (We can estimate it for just a single segmented point source and average or break the overall image into segmented regions which ) - For a single lens, an on-axis point source will produce an [Airy disk](https://en.wikipedia.org/wiki/Airy_disc), an off-axis one producing a warped version of this? # 2. Aim 1: Calibrating Recall that in this section we are aiming to determine an approximation, $h_{approx}$, of the true value of the PSF $h_{true}$ using known $f_{beads}$ (i.e. beads.tif). ## 2.1 Zerkine Polynomials Zerkine polynomials are a sequence of polynomials that are orthogonal on the unit disk ([Wikipedia](https://en.wikipedia.org/wiki/Zernike_polynomials)) There are even and odd Zerkine polynomials. Respectively, the even and odd Zerkine polynomials are defined as $$ Z_{n}^{m}(\rho,\varphi) = R_n^m(\rho)\cos(m\varphi) \qquad Z_{n}^{-m}(\rho,\varphi) = R_n^m(\rho)\sin(m\varphi), $$ where $R_n^m$ are radial polynomials defined as $$ R_n^m(\rho) := \begin{cases} \sum_{k=0}^{\frac{n-m}{2}}\frac{(-1)^k(n-k)!}{k!\left(\frac{n+m}{2}-k\right)!\left(\frac{n-m}{2}-k\right)!}\rho^{n-2k}, & n-m \text{ is even} \\ 0 & \text{otherwise} \end{cases}\quad \rho \in [0,1]. $$ #### Zerkine Transform Any sufficiently smooth real-valued phase field over the unit disk $G(\rho,\varphi)$ can be represented in terms of its Zerkine coefficients (odd and even), i.e. $$ G(\rho, \varphi) = \sum_{m,n}[a_{m,n}Z_n^m(\rho,\varphi) + b_{m,n}Z_n^{-m}(\rho,\varphi)], $$ where the coefficients $a_{m,n}$ and $b_{m,n}$ are defined as $$ \begin{align}a_{{m,n}}&={\frac {2n+2}{\epsilon _{m}\pi }}\left\langle G(\rho ,\varphi ),Z_{n}^{{m}}(\rho ,\varphi )\right\rangle ,\\b_{{m,n}}&={\frac {2n+2}{\epsilon _{m}\pi }}\left\langle G(\rho ,\varphi ),Z_{n}^{{-m}}(\rho ,\varphi )\right\rangle, \end{align} $$ where $$ \epsilon_m := \frac{1}{\pi}\int_{0}^{2\pi}\cos(m\varphi)^2 d\varphi. $$ $\epsilon_m$ is defined as being 2 if $m=0$ and 1 if $m \neq 0$. #### Radial Zerkine Transform If our desired function $G$ is radial, i.e. independent of $\varphi$, then $$ G(\rho) = \sum_{n=1}^{\infty}a_{0,n}Z_{n}^0(\rho,0). $$ For brevity, write $a_{0,n}$ as $a_n$ and $Z_n^0(\rho,0)$ as $Z_n(\rho)$, which yields $$ G(\rho) = \sum_{n=0}^{\infty}a_{n}Z_{n}(\rho). $$ Recalling that $Z_{n} \equiv 0$ for $n$ odd, we have that for a radial function $G(\rho)$ $$ G(\rho) = \sum_{n=0}^{\infty}a_{2n}Z_{2n}(\rho), \quad \rho \in [0,1]. $$ #### Zerkine Polynomials of Interest: Radial For an approximation of a radial $G$ via Zerkine polynomials up to second order, the *Zernike polynomials* that we will need are $$ \begin{align} Z_0(\rho) &= Z_0^0(\rho,0) = R_{0}^{0}(\rho) = 1 \\ Z_2(\rho) &= R_2^0(\rho) = 2\rho ^{2}-1 \end{align} $$ with coefficients $$ \begin{align} a_0 &= a_{0,0} = \frac{1}{\pi}\langle G(\rho), Z_0(\rho)\rangle \\ a_2 &= a_{0,2} = \frac{3}{\pi}\langle G(\rho), Z_2(\rho)\rangle \end{align} $$ where $\langle F,G\rangle$ is defined as: $$ \begin{align} \langle F,G \rangle &= \int_0^1 \int_0^{2\pi} F(\rho, \varphi) G(\rho, \varphi) \rho d\rho d\varphi \end{align} $$ and thus we can write $$ \begin{align} G(\rho) = a_0Z_0(\rho) + a_2Z_2(\rho) \end{align} $$ #### Zerkine Polynomials of Interest: Non-Radial For an approximation up to second order, we have that $$ G(\rho,\varphi) \approx \sum_{m=0,n=0}^{2,2}[a_{m,n}Z_n^m(\rho,\varphi) + b_{m,n}Z_n^{-m}(\rho,\varphi)], $$ where $$ \begin{align} R_1^1(\rho) &= \rho \\ R_2^2(\rho) &= \rho^2 \end{align} $$ which means that $$ \begin{align} Z_1^{-1}(\rho,\varphi) &= 2\rho \sin(\varphi) \\ Z_1^1(\rho,\varphi) &= 2\rho \cos(\varphi) \\ Z_2^{-2}(\rho,\varphi) &= \sqrt{6} \rho \sin(2 \varphi) \\ Z_2^2(\rho,\varphi) &= \sqrt{6} \rho \cos(2 \varphi) \end{align} $$ with coefficients $$ \begin{align} a_{1,1} &= \frac{4}{\pi}\langle G(\rho,\varphi), Z_1^1(\rho,\varphi)\rangle \\ a_{2,2} &= \frac{6}{\pi}\langle G(\rho,\varphi), Z_2^2(\rho,\varphi)\rangle \\ a_{2,0} &= \frac{1}{\pi}\langle G(\rho,\varphi), Z_0^2(\rho,\varphi)\rangle\\ b_{0,0} &= a_{0,0} \\ b_{1,1} &= \frac{4}{\pi}\langle G(\rho,\varphi), Z_1^{-1}(\rho,\varphi)\rangle \\ b_{0,2} &= a_{0,2} \\ b_{2,0} &= \frac{1}{\pi}\langle G(\rho,\varphi), Z_0^{-2}(\rho,\varphi)\rangle\\ b_{2,2} &= \frac{6}{\pi}\langle G(\rho,\varphi), Z_2^{-2}(\rho,\varphi)\rangle \end{align} $$ ## 2.2 Method We shall use Zerkine polynomials to approximate an appropriate PSF. In particular, we shall use Zerkine polynomials to approximate the phase part of the *pupil function*, given by $\Theta$. Let (Z_n^m) denote the sequence of Zerkine polynomial, then assuming that $\Theta$ is smooth enough, we can write $\Theta$ as (after converting into polar coordinates) $$ \begin{align} \Theta(k_1,k_2) \equiv \Theta(\rho,\varphi) = \sum_{n=0}^{\infty}\sum_{m=0}^{\infty}[a_{m,n}Z_n^m(\rho,\varphi) + b_{m,n}Z_n^{-m}(\rho,\varphi)], \end{align} $$ where $$ \begin{align} k_1 = \rho\cos(\varphi), \quad k_2 = \rho\sin(\varphi). \end{align} $$ and $(a_{m,n})$ and $(b_{m,n})$ are coefficients defined as in Section 2.1. The above is an infinte series, although we shall approximate this up to second order, and write $$ \begin{align} \Theta(\rho,\varphi) \approx \Theta_{approx}(\rho,\varphi) &:= \sum_{n=0}^{2}\sum_{m=0}^{2}[a_{m,n}Z_n^m(\rho,\varphi) + b_{m,n}Z_n^{-m}(\rho,\varphi)] \\ &= 2a_{0,0}Z_0^0(\rho,\varphi) + 2a_{0,2}Z_2^0(\rho,\varphi) + a_{2,2}Z_{2}^{2}(\rho,\varphi) + a_{1,1}Z_{1}^{1}(\rho,\varphi) \\ &\qquad + b_{2,2}Z_{2}^{-2}(\rho,\varphi) + b_{1,1}Z_{1}^{-1}(\rho,\varphi) \end{align} $$ Given the above expansion of the phase part of the pupil function, we may then approximate the pupil function as (after assuming $A \equiv 1$) $$ p(\rho,\theta) \approx p_{approx}(\rho,\theta) := \exp(i\Theta_{approx}(\rho,\theta)), $$ and thus, we can approximate the PSF as $$ \begin{align} h(x,y,z) \approx h_{approx}(x,y,z) := \left\vert\int\int p_{approx}(\kappa_x,\kappa_y)e^{2i\pi z \sqrt{(n/\lambda)^2 - \kappa_x^2 - \kappa_y^2}} e^{2i\pi(\kappa_x x+\kappa_y y)}\mathrm{d}\kappa_x\mathrm{d}\kappa_y\right\vert \end{align} $$ ##### Method - To determine an approximation for the true $h_{true}$, we perform an inversion on the beads file to determine $u_{theory}$ with the Zerkine expanded pupil function. - We know the size of the beads and we know that they are spherical, thus it suffices to choose the coefficients of the Zerkine polynomial expansion that result in a best fit. ### Determining Optimal Coefficients Our aim is to find the coefficients $\mathbf{x} := (a_{0,0},a_{0,2},a_{2,2},a_{1,1}, b_{1,1},b_{2,2})$ such that $h_{approx}$ well approximates $h_{true}$. ### The inverse problem Given a sample $u$ , a PSF $h$ and an image $f$, we want to solve the following minimisation problem to give us the deconvoluted (deblurred) image. $$ \begin{align} \min_{u}({ \|u\|_{TV} + \frac{\lambda}{2} \|f - h \circledast u \|_{2}^{2}}) \end{align} $$ where $$ \begin{align} \| x \|_{TV} = \sum_{l=1}^{N}(|x^{(l)} - x^{({n_{l,1}})}|^2 + |x^{(l)} - x^{({n_{l,2}})}|^2)^{1/2} \end{align} $$ where $(n_{l,1},n_{l,2}) \in \{1,\cdots,N\}^2$ denote the positions of the horizontal/vertical nearest neighbours of $x^{(l)}$. To solve this problem, we apply the Primal-Dual Hybrid Gradient (PDHG) algorithm from the proxylab toolbox: ![](https://i.imgur.com/iku2Skn.png) This algorithm solves problems of the form $$ \begin{align} \min_{x \in X}(f(Kx) + g(x)) \end{align} $$ where $f,g$ are convex and $K : X \to Y$ is a bounded linear operator. We can then write the ptoblem as $$ \begin{align} \max_{y}\inf_{x} \langle y,Kx\rangle - f^* (y) + g(x) \end{align} $$ where we can alternate a descent in the variable $x$ and an ascent in the dual variable $y$ $$ \begin{align} x^{k+1} &= prox_{\tau g} (x^k - \tau K^* y^k)\\ y^{k+1} &= prox_{\sigma f^* } (y^k - \sigma K x^{k+1}). \end{align} $$ # Questions - Is $h$ lossless? (i.e. does it result in loss of information from source?) - Not in an ideal case, as it is a linear operator. There may be loss of information due to discretisation error though, and the deconvolution is an ill-posed problem. # Definitions - *Optical aberration* In optics, aberration is a property of optical systems such as lenses that causes light to be spread out over some region of space rather than focused to a point. Aberrations cause the image formed by a lens to be blurred or distorted. # Rapid Talk Script ## Introduction - Imaging an object with a microscope changes it due to effects from the lens, e.g. image can be blurred - Mathematically, this blurring effect of a microscope can be described by a point spread function, here called $h$ - If an image can be described by a matrix $u$, then its recorded image $f$ can be assumed to be of the form $f = h \circledast u + \eta$, where $\eta$ represents noise within the system - In this project we are presented with a 3D microscope image of tubulin, which we aim to deblur using deconvolution techniques (i.e. obtain $u$) ## Current Progress - To achieve our aim, we've split the task into two steps: calibrate and then deblur. ### Step 1: - We do not currenlty know what the PSF of the microscope is, and so must obtain it via an approximation. - We have approximated the PSF by expanding it's pupil function as a series of Zerkine polynomials and solve for coefficients that result in a best match with a calibration image file (provided by Bogdan) - We are currently in the process of implementing this numerically ### Step 2: Deconvolution - The next step is to perform the deblurring proceduce. - We have implemented a deconvolution operation on a simulated dataset where the true form of the PSF is known. - Below we show a test image that has been sharpened wih the deconvolution algorithm, the image from the microscope, the deconvoluted sharpened image and the true image that we are aiming for.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully