atommic image-reconstruction LPDNet ATOMMIC pytorch en dataset:StanfordKnees2019 license:apache-2.0 region:us
---
language:
- en
license: apache-2.0
library_name: atommic
datasets:
- StanfordKnees2019
thumbnail: null
tags:
- image-reconstruction
- LPDNet
- ATOMMIC
- pytorch
model-index:
- name: REC_LPDNet_StanfordKnees2019_gaussian2d_12x_AutoEstimationCSM
  results: []

---


## Model Overview

Learned Primal Dual Network (LPDNet) for 12x accelerated MRI Reconstruction on the StanfordKnees2019 dataset.


## ATOMMIC: Training

To train, fine-tune, or test the model you will need to install [ATOMMIC](https://github.com/wdika/atommic). We recommend you install it after you've installed latest Pytorch version.
```
pip install atommic['all']
```

## How to Use this Model

The model is available for use in ATOMMIC, and can be used as a pre-trained checkpoint for inference or for fine-tuning on another dataset.

Corresponding configuration YAML files can be found [here](https://github.com/wdika/atommic/tree/main/projects/REC/StanfordKnees2019/conf).


### Automatically instantiate the model

```base
pretrained: true
checkpoint: https://huggingface.co/wdika/REC_LPDNet_StanfordKnees2019_gaussian2d_12x_AutoEstimationCSM/blob/main/REC_LPDNet_StanfordKnees2019_gaussian2d_12x_AutoEstimationCSM.atommic
mode: test
```

### Usage

You need to download the Stanford Knees 2019 dataset to effectively use this model. Check the [StanfordKnees2019](https://github.com/wdika/atommic/blob/main/projects/REC/StanfordKnees2019/README.md) page for more information.


## Model Architecture
```base
model:
  model_name: LPDNet
  num_primal: 5
  num_dual: 5
  num_iter: 5
  primal_model_architecture: UNET
  primal_in_channels: 2
  primal_out_channels: 2
  primal_unet_num_filters: 16
  primal_unet_num_pool_layers: 2
  primal_unet_dropout_probability: 0.0
  primal_unet_padding_size: 11
  primal_unet_normalize: true
  dual_model_architecture: UNET
  dual_in_channels: 2
  dual_out_channels: 2
  dual_unet_num_filters: 16
  dual_unet_num_pool_layers: 2
  dual_unet_dropout_probability: 0.0
  dual_unet_padding_size: 11
  dual_unet_normalize: true
  dimensionality: 2
  reconstruction_loss:
    wasserstein: 1.0
```

## Training
```base
  optim:
    name: adamw
    lr: 1e-4
    betas:
      - 0.9
      - 0.999
    weight_decay: 0.0
    sched:
        name: InverseSquareRootAnnealing
        min_lr: 0.0
        last_epoch: -1
        warmup_ratio: 0.1

trainer:
  strategy: ddp_find_unused_parameters_false
  accelerator: gpu
  devices: 1
  num_nodes: 1
  max_epochs: 20
  precision: 16-mixed
  enable_checkpointing: false
  logger: false
  log_every_n_steps: 50
  check_val_every_n_epoch: -1
  max_steps: -1
```

## Performance

To compute the targets using the raw k-space and the chosen coil combination method, accompanied with the chosen coil sensitivity maps estimation method, you can use [targets](https://github.com/wdika/atommic/tree/main/projects/REC/StanfordKnees2019/conf/targets) configuration files.

Evaluation can be performed using the [evaluation](https://github.com/wdika/atommic/blob/main/tools/evaluation/reconstruction.py) script for the reconstruction task, with --evaluation_type per_slice.

Results
-------

Evaluation against SENSE targets
--------------------------------
12x: MSE = 0.0016 +/- 0.005712 NMSE = 0.05706 +/- 0.09372 PSNR = 29.79 +/- 6.276 SSIM = 0.7366 +/- 0.297



## Limitations

This model was trained on the StanfordKnees2019 batch0 using a UNet coil sensitivity maps estimation and Geometric Decomposition Coil-Compressions to 1-coil, and might differ from the results reported on the challenge leaderboard.


## References

[1] [ATOMMIC](https://github.com/wdika/atommic)

[2] Epperson K, Rt R, Sawyer AM, et al. Creation of Fully Sampled MR Data Repository for Compressed SENSEing of the Knee. SMRT Conference 2013;2013:1