Skip to content
fsahliPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 NF-cMRI: Unsupervised reconstruction of accelerated cardiac cine MRI using neural fields

by Tabita Catalán, Matías Courdurier, Axel Osses, Anastasia Fotaki, René Botnar, Francisco Sahli-Costabal, Claudia Prieto

Paper-Journal DOI Preprint Institution

📎 Citation

@article{catalanUnsupervisedReconstructionAccelerated2025,
	title = {Unsupervised reconstruction of accelerated cardiac cine {MRI} using neural fields},
	volume = {185},
	issn = {00104825},
	url = {https://linkinghub.elsevier.com/retrieve/pii/S001048252401552X},
	doi = {10.1016/j.compbiomed.2024.109467},
	language = {en},
	journal = {Computers in Biology and Medicine},
	author = {Catalán, Tabita and Courdurier, Matías and Osses, Axel and Fotaki, Anastasia and Botnar, René and Sahli-Costabal, Francisco and Prieto, Claudia},
	month = feb,
	year = {2025},
	pages = {109467},
}

🧠 Overview

This repository contains the code for our paper:

"Unsupervised reconstruction of accelerated cardiac cine MRI using neural fields", published at Computers in Biology and Medicine. We propose an unsupervised approach for highly undersampled cardiac cine reconstruction based on implicit neural field representations for cardiac cine MRI. We evaluate our method in in-vivo retrospectively undersampled golden-angle radial multi-coil acquisitions for undersampling factors of 13x, 17x and 26x.

Key features:

  • We propose STiFF, a spatio-temporal Fourier Features based encoding for periodic signals
  • We use a simple Radon-Transform approach for radial data that avoids NUFFT.

🚀 Getting Started

0. Install the BART Toolbox

Because some things use BART from the terminal and others the Python interface (cfl package), nfcmri.bart needs boths. All the experiments were done with BART 0.7.00 with the code from the GitHub repository (at commit e84f4ba7).

1. Clone repo and install dependencies

The easiest way of having everything running is installing the code as a pip package. The code uses Jax and Flax, and was tested in the versions given by the requirements.txt.

$ git clone git@github.com:fsahli/NF-cMRI.git
$ cd NF-cMRI 
$ python -m venv venv
$ source venv/bin/activate 
(venv)$ pip install -r requirements.txt 

2. Add PATHS to nfcmri code

nfcmri.bart needs to access the cloned repository from BART. Please change the os.environ["TOOLBOX_PATH"] variable in the nfcmri.bart file.

import os, sys

os.environ["TOOLBOX_PATH"] = "/home/tabita/ACIP-MRI/bart" # <-------- reemplace this with the directory where you cloned the BART Toolbox 
path = os.environ["TOOLBOX_PATH"] + "/python" # 
sys.path.append(path)

import cfl

We used the Replication Data for: Multi-Domain Convolutional Neural Network (MD-CNN) For Radial Reconstruction of Dynamic Cardiac MRI. The radial raw data can be downloaded with the code from nfcmri.data_harvard, but you need to set up the variables

HARVARD_FOLDER = '/home/tabita/ACIP-MRI/NF-cMRI/harvardDB' # <---------- replace with path to store the data
BART_DIRECTORY = '/home/tabita/ACIP-MRI/NF-cMRI/data_bart' # <---------- replace with path to store bart outputs

3. Install code as editable Python library

Check that there is a setup.py file in the directory and run to install in editable mode. This allows using the code in any place in the repo and modifying it

pip install -e .

You should be able to use the code in Python

import nfcmri 

4. Run the demo

  • demos/nfcmri.py has a Demo using the code and comparing against TD-DIP and GRASP.

👀 Considerations

We defined a custom interface to the BART library nfcmri.bart. The main class for working with radial data is nfcmri.bart.BARTAcquisition, which contains the trayectory and data of the acquisitions, and links results obtained from that acquisition such as coil sensitivity maps and reconstructions with different paramters. To avoid repeating calculations, the results are stored as cfl files.


🤝 Acknowledgements

This work was supported by the following grants:

  • Millennium Nucleus for Applied Control and Inverse Problems ACIP NCN19_161
  • Millennium Institute for Intelligent Healthcare Engineering iHEALTH ICN2021_004.
  • ANID Basal FB210005
  • ANID Fondecyt 1210637
  • ANID Basal FB210017
  • ANID FONDECYT Iniciación 11220816

📬 Contact

If you have questions, please contact:

Or open an issue in this repo.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages