code: def eval_objfn(self):
          r
  
          Ef = self.Af * self.Xf - self.Sf
          dfd = sl.rfl2norm2(Ef, self.S.shape, axis=self.axes) / 2.0
          reg = np.sum(self.Wtv * np.sqrt(np.sum(self.obfn_gvar()**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:`(1/2) \| H \mathbf{x} - \mathbf{s} \|_2^2` and
          regularisation term is :math:`\| W_{\mathrm{tv}}
          \sqrt{(G_r \mathbf{x})^2 + (G_c \mathbf{x})^2}\|_1`.