def METHOD_NAME(self, mean_vol, noise_variance, shrink_method=None):
    """
    Apply adjoint mapping to source
    :return: The sum of the outer products of the mean-subtracted images in `src`, corrected by the expected noise
        contribution and expressed as coefficients of `basis`.
    """
    covar_b = np.zeros(
        (self.src.L, self.src.L, self.src.L, self.src.L, self.src.L, self.src.L),
        dtype=self.dtype,
    )
    for i in range(0, self.src.n, self.batch_size):
        im = self.src.images[i : i + self.batch_size]
        batch_n = im.n_images
        im_centered = im - self.src.vol_forward(mean_vol, i, self.batch_size)
        im_centered_b = np.zeros(
            (batch_n, self.src.L, self.src.L, self.src.L), dtype=self.dtype
        )
        for j in range(batch_n):
            im_centered_b[j] = self.src.im_backward(im_centered[j], i + j)
        im_centered_b = Volume(im_centered_b).to_vec()
        covar_b += vecmat_to_volmat(im_centered_b.T @ im_centered_b) / self.src.n
    covar_b_coeff = self.basis.mat_evaluate_t(covar_b)
    return self._shrink(covar_b_coeff, noise_variance, shrink_method)