Goal: comparison with Xavier’s implementation of primal-dual, audio pre-processing.

Related notebooks: comparison_xavier, gtzan, audio_preprocessing.

### Achieved

- Prototype on images:
- Dictionary is indeed full. The constraint less or equal instead of less is however more efficient as it is convex.

- Comparison with Xavier’s implementation and dataset (each patch has a zero mean, one patch per pixel).
- Obtained dictionary is very similar despite very different implementations (algorithms and platform).
- My implementation is slower because of numpy’s implementation of BLAS operations. We will switch to ATLAS or OpenBLAS.
- My Z is sparser despite a larger \(\|Z\|_1\) objective.
- Why using an under-complete dictionary, i.e. \(m < n\) ? For speed only.
- More iterations give a better convergence, i.e. sharper atoms.

- Improvements of the description of the optimization schemes and the graph definition.
- Implementation of the audio pre-processing steps: frames and CQT. See the
*audio_preprocessing*notebook for details. - Convert the GTZAN dataset to an HDF5 store. Load and save all subsequent data in HDF5. See the
*gtzan*notebook for details. - Many improvements to the PyUNLocBoX. See the repository for details.

### Discussion

- LCN can be viewed as one step of inverting the heat equation. Similar to shock filters [1].

### References

[1] Osher, S., & Rudin, L. I. (1990). Feature-oriented image enhancement using shock filters. *SIAM Journal on Numerical Analysis*, *27*(4), 919-940.