"""
Benchmark different solver of the same CSC univariate or multivariate problem.

This script needs the following packages:
    pip install pandas pyfftw
    pip install alphacsc/other/sporco

- Use bench_methods_run.py to run the benchmark.
  The results are saved in alphacsc/figures.
- Use bench_methods_plot.py to plot the results.
  The figures are saved in alphacsc/figures.
"""

from __future__ import print_function
import os
import time
import itertools

import numpy as np
import pandas as pd
import scipy.sparse as sp
from joblib import Parallel, delayed

import alphacsc.other.heide_csc as CSC
from sporco.admm.cbpdndl import ConvBPDNDictLearn