GithubHelp home page GithubHelp logo

lts5 / ussr-ius2017 Goto Github PK

View Code? Open in Web Editor NEW
10.0 7.0 8.0 7.24 MB

USSR: An UltraSound Sparse Regularization framework

License: Other

Python 85.25% Shell 2.05% MATLAB 12.70%
reproducible-research ultrasound-imaging sparse-regularization convex-optimization

ussr-ius2017's Introduction

USSR: An UltraSound Sparse Regularization framework

Adrien Besson1, Dimitris Perdios1, Florian Martinez1, Marcel Arditi1, Yves Wiaux2 and Jean-Philippe Thiran1, 3

1Signal Processing Laboratory (LTS5), Ecole Polytechnique Fédérale de Lausanne (EPFL), Switzerland

2Institute of Sensors, Signals and Systems, Heriot-Watt University , UK

3Department of Radiology, University Hospital Center (CHUV), Switzerland

Code used to reproduce the results presented in this paper, accepted at the IEEE International Ultrasonics Symposium 2017

Requirements

  • Linux (code tested on Linux Mint 18.1)
  • Python >= 3.5 (code tested with default Python 3.5.2 and Anaconda 4.2.0)
  • pip (with setuptools and wheel)
  • MATLAB (code tested on MATLAB R2016b and R2017a)
  • git
  • (Optional) NVIDIA GPU with Kepler or newer architecture and its driver (version >= 367.48). The CUDA toolkit is not required to run the code.

Installation

  1. Clone the repository (--recursive is used to download the PICMUS submodule when cloning the repo)

    git clone --recursive https://github.com/LTS5/USSR-IUS2017.git
  2. Enter in the USSR-IUS2017 folder

    cd USSR-IUS2017
  3. (Optional) Create a dedicated Python environment

    • Using Anaconda:

      conda create -n ussr_ius2017 python=3.5
      source activate ussr_ius2017
    • Using pyenv:

      pyvenv /path/to/new/virtual/env . /path/to/new/virtual/env/bin/activate
  4. Install Python dependencies from python_requirements.txt. Depending on your installation, pip may refer to Python 2 (you can verify with pip -V). In that case, use pip3 instead of pip.

    pip install --upgrade pip
    pip install -r python_requirements.txt

Reproduce the results of the paper

  1. Launch the bash file

    • To run the GPU version of the code

      ./ius_results.sh 'GPU'
    • To run the CPU version of the code

      ./ius_results.sh 'CPU'

    The bash file does the following operations:

    • Download the PICMUS datasets (may take some time depending on your Internet connection)
    • Reconstruct the images
    • Compute and export the metrics
    • Generate and export the figures
  2. The folder USSR-IUS2017/results contains the metrics reported in Table I of the paper and the B-mode images displayed on Figure 2 of the paper

Remarks

The GPU code uses NVIDIA CUDA and therefore is only compatible with NVIDIA GPUs. It should support every GPU architecture starting from Kepler (compute capability >= 3.0). The code has been tested on the following architectures:

  • GPUs:
    • NVIDIA Titan X (cc = 6.1)
    • NVIDIA GeForce GTX 1080 Ti (cc = 6.1)
    • NVIDIA GeForce GT 630 (cc = 3.5)
  • CPU:
    • Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz

The CPU version of the code may take a very long time. It took 10 minutes to run 200 iterations of FISTA on the above mentioned CPU.

Developers

License

License for non-commercial use of the software. Please cite the following paper when using the code.

ussr-ius2017's People

Contributors

adribesson avatar dperdios avatar flomz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ussr-ius2017's Issues

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.