Giter VIP home page Giter VIP logo

qsm-reconstruction's Introduction

QSM reconstruction w/ Deep Image Prior

To run code...

bash run_DIP.sh

I can not upload QSM dataset or demo QSM data due to privacy.

What is QSM?

Susceptibility

  • Response to an applied magnetic field
  • A material responses ⬆ or ⬇ in magnetic flux density

QSM (Quantitative Susceptibility Mapping)

  • Voxel intensity in QSM is value linearly proportional to underlying tissue apparent magnetic susceptibility.
  • Useful for chemical identification or quantification of specific biomarkers in contrast to structural MRI.

How to obtain QSM?

For more details, please watch this video

Why is QSM reconstruction difficult?

In MRI, the local field $\delta B$ induced by non-ferromagnetic biomaterial susceptibility along the main polarization $B_0$ field is the convolution of the volume susceptibility distribution $\chi$ with the dipole kernel $d: \delta B = d \otimes \chi$. This spatial convolution can be expressed as a point-wise multiplication in Fourier domain. $\bigtriangleup B=D \cdot X$. This Fourier expression provides an efficient way to predict the field perturbation when the the susceptibility distribution is known. However, the field to source inverse problem involves division by zero at a pair of cone surfaces at the magic angle with respect to $B_0$ in the Fourier domain. Consequently, susceptibility is underdetermined at the spatial frequencies on the cone surface, which often leads to severe streaking artifacts in the reconstructed QSM.

From QSM wikipedia

Method

In practice, there is no ground-truth in MRI acquisition but only gold-standard which is manually considered as standard. However, previous works solve this problem in supervised learning-way with regarding gold-standard as ground-truth. It is theoretically wrong approach so, we adopt Deep Image Prior which is optimization-based solver effective in inverse problems.

Inverse Problem definition

$$y=A(x)+b$$

$y$ is acquired data. $x$ is unknown true measurement. $b$ is a noise from sampling process.

$A: x \rightarrow y$ is mapping operator from the true measurement to data. $A$ differs according to problem definition (denoising, deblurring, Super-Resolution, Inpainting, etc.)

Deep learning-based models learn inverse of $A$, $A^{-1}$ to reconstruct real signal $x$.

Deep Image Prior (DIP)

original paper

A great deal of image statistics are captured by the structure of generator ConvNets, independent of learning. This is especially true for the statistics required to solve certain restoration problems (inverse problems), where image prior must supplement the information lost in the degradation processes.

DIP interprets the neural network $f_\theta$ as a parameterziation of the image $x$. The network maps the paramters $\theta$, comprising the weights and bias of the filters in the network, to the image $x$.

When you only have degraded image $x_0$, the network takes fixed gaussian noise vector $z$ as input and update it to reconstruct intact signal $x$ in $x_0$. Then, the network $f_\theta (z)$ is optimized in way of parameterization of signal $x$ with respect to $\theta$. The below formula satifies the optimization. In this term, $y=x_0$.

$$argmin_\theta ||A(f_\theta (z)) - y||^2_2$$

My approach

그림1

We only have degraded data, local-field $\delta B$. So we take $N-$ stacked 2D gaussian noise $Z \in R^{N \times H \times W}$ as input to 3D DIP to output $x = f_\theta (z)$. We optimize this 3D DIP with the formula defined as below,

$$argmin_\theta||d * f_\theta (z) - \delta B||$$

$d$ is dipole kernel. $*$ is spatial convolution.

Result

image

The upper one is "gold-standard" QSM and the below one is ours. We've got PSNR as 45.34. Ours have less distinct contrast than gold-standard but it is the first try to solve QSM reconstruction with Deep Image Prior.

qsm-reconstruction's People

Contributors

9b8dy6 avatar

Watchers

 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.