This code implements the experiments presented in the paper: ...
The main idea is to reformulate a nonsmooth bilevel parameter learning problem as a Mathematical Program with Complementarity Constraints
This python module requires the following modules:
- numpy
- pylops
- pyproximal
- ipopt with SPRAL solver
- pyoptsparse
- pillow
- scikit-image
We refer the user to the OpenMDAO installation script for compiling and installing the required solver.
It is necessary to install the module using pip in developer mode. Once the repository is cloned, cd into the folder and execute
$ cd bimpcc
$ pip install -e .
$ python experiments/tv_denoising.py $dataset_folder $output_folder --tik $tikhonov_value --patch_size $patch_size --img_scale $img_scale
$ python experiments/tv_inpainting.py $dataset_folder $output_folder --tik $tikhonov_value --patch_size $patch_size
$ python experiments/dtv_denoising.py $dataset_folder $output_folder --tik $tikhonov_value --patch_size $patch_size --angle $angle_diffusion
$ python experiments/dtv_inpainting.py $dataset_folder $output_folder --tik $tikhonov_value --patch_size $patch_size --angle $angle_diffusion
$ python experiments/mri_reconstruciton.py $dataset_folder $output_folder --tik $tikhonov_value --patch_size $patch_size --sampling_type $sampling_type --sampling_perc $sampling_perc