Edit model card
YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

XPDNet-brain-af4


tags:

  • TensorFlow
  • MRI reconstruction
  • MRI datasets:
  • fastMRI

This model was used to achieve the 3rd highest submission in terms of PSNR on the fastMRI dataset (see https://fastmri.org/leaderboards/). It is a base model for acceleration factor 4. The model uses 25 iterations and a medium MWCNN, and a big sensitivity maps refiner.

Model description

For more details, see https://arxiv.org/abs/2010.07290. This section is WIP.

Intended uses and limitations

This model can be used to reconstruct brain data from Siemens scanner at acceleration factor 4. It was shown here, that it can generalize well, although further tests are required.

How to use

This model can be loaded using the following repo: https://github.com/zaccharieramzi/fastmri-reproducible-benchmark. After cloning the repo, git clone https://github.com/zaccharieramzi/fastmri-reproducible-benchmark, you can install the package via pip install fastmri-reproducible-benchmark. The framework is TensorFlow.

You can initialize and load the model weights as follows:

import tensorflow as tf

from fastmri_recon.models.subclassed_models.denoisers.proposed_params import get_model_specs
from fastmri_recon.models.subclassed_models.xpdnet import XPDNet


n_primal = 5
model_fun, model_kwargs, n_scales, res = [
        (model_fun, kwargs, n_scales, res)
        for m_name, m_size, model_fun, kwargs, _, n_scales, res in get_model_specs(n_primal=n_primal, force_res=False)
        if m_name == 'MWCNN' and m_size == 'medium'
][0]
model_kwargs['use_bias'] = False
run_params = dict(
    n_primal=n_primal,
    multicoil=True,
    n_scales=n_scales,
    refine_smaps=True,
    refine_big=True,
    res=res,
    output_shape_spec=True,
    n_iter=25,
)
model = XPDNet(model_fun, model_kwargs, **run_params)
kspace_size = [1, 1, 320, 320]
inputs = [
    tf.zeros(kspace_size + [1], dtype=tf.complex64),  # kspace
    tf.zeros(kspace_size, dtype=tf.complex64),  # mask
    tf.zeros(kspace_size, dtype=tf.complex64),  # smaps
    tf.constant([[320, 320]]),  # shape
]
model(inputs)
model.load_weights('model_weights.h5')

Using the model is then as simple as:

model([
    kspace,  # shape: [n_slices, n_coils, n_rows, n_cols, 1]
    mask,  # shape: [n_slices, n_coils, n_rows, n_cols]
    smaps,  # shape: [n_slices, n_coils, n_rows, n_cols]
    shape,  # shape: [n_slices, 2]
])

Limitations and bias

The limitations and bias of this model have not been properly investigated.

Training data

This model was trained using the fastMRI dataset.

Training procedure

The training procedure is described in https://arxiv.org/abs/2010.07290. This section is WIP.

Evaluation results

On the fastMRI validation dataset, the same model with a smaller sensitivity maps refiner gives the following results for 30 validation volumes per contrast:

Contrast T1 T2 FLAIR T1-POST
PSNR 41.56 40.68 39.60 42.53
SSIM 0.9506 0.9554 0.9321 0.9683

Further results can be seen on the fastMRI leaderboards for the test and challenge dataset: https://fastmri.org/leaderboards/

Bibtex entry

@inproceedings{Ramzi2020d,
archivePrefix = {arXiv},
arxivId = {2010.07290},
author = {Ramzi, Zaccharie and Ciuciu, Philippe and Starck, Jean-Luc},
booktitle = {ISMRM},
eprint = {2010.07290},
pages = {1--4},
title = {{XPDNet for MRI Reconstruction: an application to the 2020 fastMRI challenge}},
url = {http://arxiv.org/abs/2010.07290},
year = {2021}
}
Downloads last month
0
Unable to determine this model's library. Check the docs .