# XPDNet-brain-af8 --- tags: - TensorFlow - MRI reconstruction - MRI datasets: - fastMRI --- This model was used to achieve the 2nd highest submission in terms of PSNR on the fastMRI dataset (see https://fastmri.org/leaderboards/). It is a base model for acceleration factor 8. 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 8. It was shown [here](https://arxiv.org/abs/2106.00753), 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: ```python 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: ```python 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](https://fastmri.org/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 | 38.57 | 37.41 | 36.81 | 38.90 | | SSIM | 0.9348 | 0.9404 | 0.9086 | 0.9517 | 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} } ```