Coder Social home page Coder Social logo

interlacer's Introduction

Interlacer

Joint frequency- and image- space learning for Fourier imaging tasks.

Sample reconstruction results

keywords: image reconstruction, motion correction, denoising, magnetic resonance imaging, deep learning

Dependencies

All dependencies required to run this code are specified in environment.yml. To create an anaconda environment with those dependencies installed, run conda env create --name <env> --file environment.yml. You will also need to add this repo to your python path (if you're using conda, conda-develop /path/to/interlacer/).

Layer Implementation

If you'd like to incorporate our joint learning strategy into your own networks, we provide a standalone Keras Layer in interlacer/layers.py. This layer currently supports only 2D inputs.

Training Code

Unfortunately, we are unable to provide the images used for training, due to license restrictions. However, we provide code to train on alternative datasets. To specify your own dataset paths and paths for output of training results, fill in the appropriate fields in scripts/filepaths.py.

The entry to our training code is in scripts/train.py, which is called via python scripts/train.py $path_to_config.ini. Running this script:

  • reads the experiment configuration specified
  • loads the appropriate model architecture
  • loads the training data
  • executes training
  • writes all training logs to a subdirectory created under training/.

We provide a helper script to generate config files for experiments comparing multiple models in scripts/make_configs.py. This script allows the user to specify the name of an experiment as well as lists of model/data parameters to be tried (e.g. a list of model architectures). Running scripts/make_configs.py creates the subdirectory configs/$experiment_name, which contains a single configuration file for each specified model/data combination.

For SLURM users, running python scripts/run_experiment.py ../configs/$experiment_name$ starts training (by running train.py) for each configuration file within the directory.

Pretrained Models

Pretrained models are available in the pretrained models directory. This directory also includes a jupyter notebook which shows how to load and run inference using the models.

Paper

If you use the ideas or implementation in this repository, please cite our paper:

@article{melba:2022:018:singh,
    title = "Joint Frequency and Image Space Learning for MRI Reconstruction and Analysis",
    authors = "Singh, Nalini M. and Iglesias, Juan Eugenio and Adalsteinsson, Elfar and Dalca, Adrian V. and Golland, Polina",
    journal = "Machine Learning for Biomedical Imaging",
    volume = "1",
    issue = "June 2022 issue",
    year = "2022"
}

interlacer's People

Contributors

nalinimsingh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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