diff --git a/skimage/restoration/_denoise.py b/skimage/restoration/_denoise.py index f86e4e0f..50eed95b 100644 --- a/skimage/restoration/_denoise.py +++ b/skimage/restoration/_denoise.py @@ -175,7 +175,12 @@ def _denoise_tv_chambolle_nd(im, weight=0.2, eps=2.e-4, n_iter_max=200): g[slices_g] = np.diff(out, axis=ax) slices_g[ax] = slice(None) - norm = np.sqrt((g*g).sum(-1, keepdims=True)) + try: + norm = np.sqrt((g*g).sum(-1, keepdims=True)) + except: + # no keepdims argument available prior to numpy 1.7 + norm = np.sqrt((g*g).sum(-1))[..., np.newaxis] + E += weight * norm.sum() norm *= 0.5 / weight norm += 1.