Skip to content

About

SOTA UnrollingNets for accelerated dynamic MRI reconstruction

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnrollingNets-dMRI

( If you find this code is helpful to you, could you please kindly give me a star )

This repo provides the TensorFlow 2.x implementation for several SOTA unrolling networks in accelerated MRI reconstruction.

It contains JotlasNet (MRI 2025), T2LR_Net (CIBM 2024), L+S_Net (MedIA 2021), SLR_Net (TMI 2021), ISTA_Net (CVPR 2018), DCCNN (TMI 2017).

Method Paper GitHub
JotlasNet (MRI 2025) Link Link
T2LR_Net (CIBM 2024) Link Link
L+S_Net (MedIA 2021) Link Link
SLR_Net (TMI 2021) Link Link
ISTA_Net (CVPR 2018) Link Link
DCCNN (TMI 2017) Link Link

1. Getting Started

Environment Configuration

  • we recommend to use docker

    # pull the docker images
    docker pull yhaoz/tf:2.9.0-bart
    # then you can create a container to run the code, see docker documents for more details
    
  • if you don't have docker, you can still configure it via installing the requirements by yourself

    pip install -r requirements.txt # tensorflow is gpu version
    

Note that, we only run the code in NVIDIA GPU. In our implementation, the code can run normally in both Linux & Windows system.

Dataset preparation

Actually, two dataset involves in this code, i.e., OCMR and CMRxRecon. Here we just provides our pre-processing pipeline for OCMR dataset. Since CMRxRecon is a MICCAI challenge and has its own leader board, we do not provide our own code.

You could find the the single-coil and multi-coil dataset pre-processing and creating code in yhao-z/ocmr-preproc-tf. You may need to put the pre-processed data into a file folder that contains four subfolders.

# the data needs to be arranged into four sub file folders, and you may set the datadir in the code.
- train
- val
- test
- masks

2. Run the code

Test only

We provide the training weights on OCMR dataset for many sampling cases and both single-coil and multi-coil scenarios as in weights-ocmr. Note that the provided weights are only applicable in our data pre-processing implementation. If you are using other different configuration, retraining from scratch is needed.

# Please refer to main.py for more configurations.
python main.py --mode 'test'

Training

# Please refer to main.py for more configurations.
python main.py --mode 'train'

3. To Do

  • Add VISTA mask generation code.
  • OCMR has release more data in last three years, but this code still uses the initial released limited data. Add more training data or make a new dataset in the future.

4. Note

  • If this code have any error, feel free to raise an issue.
  • If you have built your own model with this code, welcome to pull request and merge your model into this ModelZoo, of course, if you want.

About

SOTA UnrollingNets for accelerated dynamic MRI reconstruction

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages