Skip to content

Official repository of the paper Learning Difference-of-Convex Regularizers for Inverse Problems: A Flexible Framework with Theoretical Guarantees

License

Notifications You must be signed in to change notification settings

YasminZhang/ADCR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Difference-of-Convex Regularizers for Inverse Problems: A Flexible Framework with Theoretical Guarantees

Static Badge

Environment Installation

conda env create -f environment.yml

If the installation fails using the environment.yml file, you can install the required packages manually.

Prepare Data(Mayo Grand Challenge)

Please go to the link and download the data. Please put the data in the following path:

./data/[test/valid/train]

In all of our experiments, we use 1mm B30 data of the highest precision.

Run Our Algorithm(ADCR)

example call:

CUDA_VISIBLE_DEVICES=0 python train.py --setup=5 --dataperc=100 --epochs=1 --lr=1e-4 --eps=1e-6 --alg=ADCR --iterates=200 --valid=128 --test=True --batch-size=10 --noise=3.2 --seed=10  --setting=limited --load=./data/nets_new/ADCR/limited/limited.pt --test_mode=GD 
  • epochs: number of epochs
  • lr: learning rate (used to train the neural network)
  • eps: step size for the optimization
  • alg: algorithm to be used (ADR, TV, FBP, ADCR etc.), please take a look at files names in the Algorithms folder
  • iterates: maximum number of iterations for the optimization
  • valid: number of validation images
  • batch-size: batch size
  • detectors: number of detectors
  • noise: noise level
  • load: path to the checkpoint
  • seed: random seed
  • setting: limited or sparse
  • test_mode: GD or CCP or PSM
  • K: number of innner loop iterations for the CCP/PSM algorithm

Train a regularizer

example call:

CUDA_VISIBLE_DEVICES=0 python train.py --setup=5 --dataperc=100 --epochs=20 --lr=1e-4 --eps=1e-5 --alg=ADCR --iterates=100 --valid=10 --batch-size=10  --gpu=1 --noise=3.2 --load=False --seed=10 --wclip=True --setting=sparse --mu=10

Credits

This code is based on the CT_framework.

Description of other methods

In order to add your own algorithms to the list, create a new file in the Algorithms folder in the form name.py and use BaseAlg.py as the template.

About

Official repository of the paper Learning Difference-of-Convex Regularizers for Inverse Problems: A Flexible Framework with Theoretical Guarantees

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages