Git Product home page Git Product logo

ivim-model-parameter-estimation's Introduction

Improved Architecture for MRI IVIM Model Prediction

Project A 044167 – Spring 2021

Technion – Israel Institute of Technology

Mayan Leavitt Edan Kinderman



animated animated animated



📝 Summary

We proposed a novel architecture and training protocol for a network, which estimate the IVIM model parameters from a DW MRI signal. By estimating these parameters, it is possible to distinguish between healthy and pathological tissues. we implemented it and tested the proposed network on simulated data as well as on clinical data. Our network achieved significantly improved results in terms of accuracy (RMSE). We conclude that the proposed network is more robust to different image quality conditions and thus can deal with noised data in a manner that accommodates real life clinical settings.


🧠 DW MRI

Diffusion-Weighted (DW) MRI is an imaging technique which deploys the diffusion process of molecules in order to extract diffusion bio-markers [1]. By using signals with different b values (proportional to the gradient of the magnetic field inside the scanner) the motion sensitivity is varied.



📖 The IVIM model

The Intravoxel Incoherent Motion (IVIM) model proposes a relation between the obtained signal and the tissue parameters in each voxel [1]. By estimating these parameters, it is possible to distinguish between healthy and pathological tissues.


Below is the IVIM model:

Sn = S0 (F · e-bn·Dp + (1-F) · e-bn·D)


The known paramters are:

  • Sn - the signal value that was obtained with bn (the solvers input).
  • bn - the n-th b-value.
  • S0 - the signal value with b=0.

The bio-markers that are estimated:

  • F - the perfusion fraction.
  • Dp - the pseudo-diffusion coefficient.
  • D - the diffusion coefficient.

Following are parametric maps of an osteosarcoma tumor, obtained using classic algorithms [2]:


Parameters maps


🎓 Existing solvers

We implemented two types of solvers based on existing solutions to the IVIM estimation problem (see references).


The first solver is an LSQ-based method (the "Classic solver") [3]. It adjusts the parameter values of the IVIM model by minimizing the MSE between the fitted signal and the acquired signal. Below is an outline of the classic solver flow:

Parameters maps


The second solver is a DNN with the next properties [4]:

  • The input vector is the normalized signal for each b-value.
  • The output vector is the parameter predictions – F, D, Dp.
  • The network consists of 3 fully connected hidden layers.
  • ELU activation.
  • MSE loss function calculated on the signal value.
  • Training is done with 100,000 samples with an SNR of 60.
  • Adam Optimizer.
  • Early stopping – after 10 unimproved epochs.
  • The estimation is done voxel wise.

Below is a schematic of the net:

Parameters maps


💭 The proposed nets

Differnet clinical settings lead to aquired signals with varying SNR's, but the solvers described above don't deal well with noised data.

  • Classic solvers are sensitive to noise and can’t utilize the SNR.
  • The DNN needs to be trained in every new clinical setting.

As a sulotion, we propose a modified network architecture and training protocol in order to achieve improved robustness to varying image quality conditions (i.e. unknown SNR). We examined two new networks:

  1. A net with the same architecture as the “basic net”, but with richer training data - using 16 sets of samples, such that each set has a different SNR.
  2. A net that is similar to the previous net but with an addition of the SNR as an input. This way the net has more information about the noise it needs to deal with.

Both networks train with 1,000,000 samples.

These solutions are based on the idea of defending against adversarial attacks [5].

Below is an illustration of the training data:

Parameters maps


📊 Results

The comparison between the different solvers is presented using two measures:

  • For the parameters - using RMSE.
  • Calculating the accumulated loss - using MSE between the IVIM model signals.

We devided each comparison in to two - first, comapring the basic net and the classic solver, and then comparing the three nets.

D comaprison
















Dp comaprison
















Fp comaprison
















Loss comaprison

















🩺 Clinical Data

Below are examples of bio-marker maps that were created from the solvers ouputs, for clinical data inputs (upper abdomen DWI MRI scans). It is important to notice that clinical data always contains a significant amount of noise or inaccuracies. In addition, there are less b-values in each input. This explains the black "stains" in the Classic Solver's maps - there aren't enough b-values under 200 and the solver fails to converge in these areas. The nets, however, are capable of estimating the bio-markers even in ares with significant noise.



































👨‍💻 Files and Usage

File Name Description
top_defenitions.py Defines the constant variables, and the functions for creating a net
least_Square_Solver.py Implementation of the classic solver
solver_main.py Executes the classic solver
net_training_and_testing.py Implementation of the nets training and testing protocols
basic_net_defenition.py Creates the training data for the basic net and trains it
different_vars_net_defenition.py Creates the training data for the first proposed net and trains it
vars_with_input_net_defenition.py Creates the training data for the second proposed net and trains it
compare_solvers.py Plots the comparison graphs between the different solvers
data_simulations.py Creates data that is used to test the solvers
clinical_data_test.py Tests all four solvers on clinical data
weights Contains the net weights
classic_solver_estimations Contains the classic solver's preformance variables

🙌 References and credits

  • Project supervisor: Shira Nemorovsky-Rotman. Some of the algorithms were implemented based on her code.
  • The clinical data belongs to Harvard Medical School.
  • [1] The IVIM model and DW MRI are explained in "Diffusion-Weighted MRI in the Body: Applications and Challenges in Oncology", D.-M. K. and D. J. Collins, American Journal of Roentgenology, pp. 1622-1635, 2007.
  • [2] The parametric maps of an osteosarcoma tumor were taken from "Reliable estimation of incoherent motion parametric maps from diffusion-weighted MRI using fusion bootstrap moves", M. F., J. M. Perez-Rossello, M. J. Callahan, S. D. Voss, K. E., R. V. Mulkern and S. K. Warfield, Medical image analysis, pp. 325-336, 2013.
  • [3] The classic solver is proposed in “Estimation of intravoxel incoherent motion parameters using low b-values”, C. Ye, D. Xu, Y. Qin, L. Wang, R. Wang, W. Li, Z. Kuai, Y. Zhu, PloS one, 2019.
  • [4] The Basic net architecture is presented in "Deep learning how to fit an intravoxel incoherent motion model to diffusion‐weighted MRI", S. Barbieri, O. J. Gurney‐Champion, R. K. and H. C. Thoeny, Magnetic resonance in medicine, pp. 312-321, 2020.
  • [5] Adversarial noise is examined in "Explaining and harnessing adversarial exmaples", I. J. Goodfellow, J. Shlens and C. Szegedy, arXiv preprint, 2014.

ivim-model-parameter-estimation's People

Contributors

idankinderman avatar mayanleavitt 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.