TV Gradient Code (2-D)

Numerical differentiation with regularization, allowing differentiation of noisy data without amplifying noise. Uses total variation and related penalty functions for regularization, allowing the derivative to be discontinuous. This is a 2-D version of the TVDiff code, but with a better algorithm.

Python code is available from GitHub: https://github.com/rickchartrand/regularized_differentiation. This code implements the algorithm in the paper R. Chartrand, "Numerical differentiation of noisy, nonsmooth, multidimensional data," in IEEE Global Conference on Signal and Information Processing, 2017. A notebook reproducing the examples from this paper is in the examples directory. The implementation is in the function regularized_differentiation.regularized_gradient.tv_regularized_gradient. The code was initially written and used in Python 2.7, but has been tested in Python 3.7.1.