code: def eval_objfn(self):
          r
  
          gvr = self.obfn_gvar()
          dfd = np.sum(self.Wdf * np.abs(gvr[..., -1]))
          reg = np.sum(self.Wtv * np.sqrt(np.sum(gvr[..., 0:-1]**2,
                                                 axis=self.saxes)))
          obj = dfd + self.lmbda*reg
          return (obj, dfd, reg)
docs: r"""Compute components of objective function as well as total
          contribution to objective function.  Data fidelity term is
          :math:`\| W_{\mathrm{df}} (H \mathbf{x} - \mathbf{s}) \|_1` and
          regularisation term is :math:`\| W_{\mathrm{tv}}
          \sqrt{(G_r \mathbf{x})^2 + (G_c \mathbf{x})^2}\|_1`.