All Projects → MLI-lab → ConvDecoder

MLI-lab / ConvDecoder

Licence: Apache-2.0 license
An un-trained neural network with a potential application in accelerated MRI

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ConvDecoder

spafe
🔉 spafe: Simplified Python Audio Features Extraction
Stars: ✭ 310 (+1376.19%)
Mutual labels:  signal-processing
computer-vision
Notebook series on interesting topics in computer vision
Stars: ✭ 17 (-19.05%)
Mutual labels:  signal-processing
Music-Genre-Classification
Automatic Music Genre Classification with Machine Learning Techniques
Stars: ✭ 49 (+133.33%)
Mutual labels:  signal-processing
FScape
A standalone audio rendering software for time domain and spectral signal processing.
Stars: ✭ 61 (+190.48%)
Mutual labels:  signal-processing
msda
Library for multi-dimensional, multi-sensor, uni/multivariate time series data analysis, unsupervised feature selection, unsupervised deep anomaly detection, and prototype of explainable AI for anomaly detector
Stars: ✭ 80 (+280.95%)
Mutual labels:  signal-processing
dsp-collection-java
A collection of Java classes for Digital Signal Processing
Stars: ✭ 41 (+95.24%)
Mutual labels:  signal-processing
FastPCC
Compute interstation correlations of seismic ambient noise, including fast implementations of the standard, 1-bit and phase cross-correlations.
Stars: ✭ 24 (+14.29%)
Mutual labels:  signal-processing
vmdpy
Variational mode decomposition (VMD) in Python
Stars: ✭ 158 (+652.38%)
Mutual labels:  signal-processing
QuakeMigrate
A Python package for automatic earthquake detection and location using waveform migration and stacking.
Stars: ✭ 101 (+380.95%)
Mutual labels:  signal-processing
tf audio signal
How to run GPU accelerated Signal Processing in TensorFlow
Stars: ✭ 22 (+4.76%)
Mutual labels:  signal-processing
L0Learn
Efficient Algorithms for L0 Regularized Learning
Stars: ✭ 74 (+252.38%)
Mutual labels:  compressed-sensing
Shifter
Pitch shifter using WSOLA and resampling implemented by Python3
Stars: ✭ 22 (+4.76%)
Mutual labels:  signal-processing
nmmn
Miscellaneous methods for: astronomy, dealing with arrays, statistical distributions, computing goodness-of-fit, numerical simulations and much more
Stars: ✭ 16 (-23.81%)
Mutual labels:  signal-processing
Fourier-and-Images
Fourier and Images
Stars: ✭ 81 (+285.71%)
Mutual labels:  signal-processing
bsuir-csn-cmsn-helper
Repository containing ready-made laboratory works in the specialty of computing machines, systems and networks
Stars: ✭ 43 (+104.76%)
Mutual labels:  signal-processing
computer-vision-notebooks
👁️ An authorial set of fundamental Python recipes on Computer Vision and Digital Image Processing.
Stars: ✭ 89 (+323.81%)
Mutual labels:  signal-processing
beatmup
Beatmup: image and signal processing library
Stars: ✭ 168 (+700%)
Mutual labels:  signal-processing
setigen
Python library for generating and injecting artificial narrow-band signals into radio frequency data
Stars: ✭ 19 (-9.52%)
Mutual labels:  signal-processing
us-rawdata-sda
A Deep Learning Approach to Ultrasound Image Recovery
Stars: ✭ 39 (+85.71%)
Mutual labels:  compressed-sensing
Signal-Processing-and-Pattern-Classification
Signal-Processing-and-Pattern-Classification - Atrial fibrillation & PCG classification
Stars: ✭ 47 (+123.81%)
Mutual labels:  signal-processing

ConvDecoder

Check out our colab-demo for a quick example on how the decoder works for multi-coil accelerated MRI reconstruction:

Explore ConvDecoder in Colab


This repository provides code for reproducing the results in the paper:

''Accelerated MRI with Un-trained Neural Networks'' by Mohammad Zalbagi Darestani and Reinhard Heckel

Code by: Mohammad Zalbagi Darestani ([email protected]) and Reinhard Heckel ([email protected])


The aim of the code is to investigate the capability of different un-trained methods, including our proposed ConvDecoder, for the MRI acceleration problem. The task is to recover a fine image from a few measurements. We provide experiments to:

(i) compare ConvDecoder with U-net, a standard popular trained method for medical imaging, on the FastMRI validation set (ConvDecoder_vs_Unet_multicoil.ipynb),

(ii) compare ConvDecoder with Deep Decoder and Deep Image Prior, two popular un-trained methods for standard inverse problems, again, on the FastMRI dataset (ConvDecoder_vs_DIP_vs_DD_multicoil.ipynb),

(iii) compare ConvDecoder with U-net on an out-of-distribution sample to demonstrate the robustness of un-trained methods toward a shift in the distribution at the inference time (robustness_to_distribution_shift.ipynb),

(iv) and finally, visualize the output of ConvDecoder layers to illustrate how ConvDecoder, as a convolutional generator, finds a fine representation of an image (visualize_layers_singlecoil.ipynb).

List of contents


Setup and installation

On a normal computer, it takes aproximately 10 minutes to install all the required softwares and packages.

OS requirements

The code has been tested on the following operating system:

Linux: Ubuntu 16.04.5

Python dependencies

To reproduce the results by running each of the jupyter notebooks, the following softwares are required. Assuming the experiment is being performed in a docker container or a linux machine, the following libraries and packages need to be installed.

    apt-get update
    apt-get install python3.6     # --> or any other system-specific command for installing python3 on your system.
	pip install jupyter
	pip install numpy
	pip install matplotlib
	pip install sigpy
	pip install h5py
	pip install scikit-image
	pip install runstats
	pip install pytorch_msssim
	pip install pytorch-lightning==0.7.5
	pip install test-tube
	pip install Pillow

If pip does not come with the version of python you installed, install pip manually from here. Also, install pytorch from here according to your system specifications.

Dataset

All the experiments are performed on the FastMRI dataset--except the experiment for measuring the robustness toward out-of-distribution samples which is performed on the cameraman test image.

Running the code

You may simply clone this repository and run each notebook to reproduce the results. Note that you need to download the FastMRI dataset and change the data path (when loading the measurements) in each notebook accordingly, provided that you intend to run the code for MRI data (for MRI data, all of our experiments are performed on the validation sets--either single-coil or multi-coil).

References

Code for training the U-net is taken from here.
Code for Deep Decoder and Deep Image Prior architectures are taken from repo1 and repo2, respectively.

License

This project is covered by Apache 2.0 License.

Citation

If you find our work useful in your research, please cite:

@inproceedings{,
    author = {Zalbagi Darestani, Mohammad and Heckel, Reinhard},
    title = {Accelerated MRI with Un-trained Neural Networks},
    booktitle = {IEEE Transactions of Computational Imaging},
    volume={7},
    pages={724--733},
    year={2021}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].