Code for:
A parallel & automatically tuned algorithm for multispectral image deconvolution.
R. Ammanouil, A. Ferrari, D. Mary, C. Ferrari and F. Loi.
Submitted to MNRAS, 2019.
example_class.py: executes centralized version ofmuffintakes as input the path to the data and the prefix of the data. The data is supposed to be nameddata/prefix_dirty prefix_sky prefix_psf.
python3 example_class.py -fol data -nam m31_3d_conv_10dbexample_class_mpi_sure.p: executes & compares the centralized & distributed version ofmuffin+ SURE. Similarly toexample_class.pyit takes as input the path to the data folder and the prefix of the data.
mpirun --np 6 python3 example_class_mpi_sure.py -fol data -nam m31_3d_conv_10dbrun_tst_mpi.py: executes & saves results of the distributedmuffin. You have to set the algorithm parameters from the terminal.
mpirun --np 3 python3 run_tst_mpi.py -L 2 -N 4 -mu_s 0.2 -mu_l 7 -mu_w 10 -stp_s 0.3 -stp_l 10000 -data m31_3d_conv_10db -fol data -pxl_w 1 -bnd_w 1plot_figures_Run_tst_mpi.py: Loads results saved inrun_test_mpi.pyand plots Figures (SNR, PSNR, MSE, cost, SUGAR, ... )
python3 plot_figures_Run_tst_mpi.py -res_fol output/1881888run_sigamm.py: adapted version ofrun_tst_mpi.py to run on a cluster using SLURMrun_sigamm.slurm: sets the number of nodes, and all algorithm parameters, and wall time for runningrun_sigamm.pyon a cluster using SLURM
arguments=" -s 1 -L 256 -N 5000 -mu_s 0.005 -mu_l 3 -mu_w 10 -stp_s 0 -stp_l 0 -pxl_w 1 -bnd_w 1 -data M31_skyline220db -fol data/data_david -sav 1 -init 0 -fol_init output_sigamm/7844989";
export arguments
sbatch run_sigamm.slurm
squeue -u rammanouil- example with dependency
arguments=" -s 1 -L 256 -N 5000 -mu_s 0.005 -mu_l 3 -mu_w 10 -stp_s 0 -stp_l 0 -pxl_w 1 -bnd_w 1 -data M31_skyline220db -fol data/data_david -sav 1 -init 1 -fol_init output_sigamm/7844989";
export arguments
sbatch --dependency=afterok:7645246 run_sigamm.slurmdeconv3d.py: code for themuffiniterative algorithm written using a class frameworkdeconv3d_mpi.py: distributed version ofdeconv3d.pyusing MPIdeconv3d_tools.py: module with fonctions called bydeconv3d.pyanddeconv3d_mpi.py