code: def generate_scores_map(
      self, embedding, out_shape, gaussian_blur=True
  ):
      # calculate distance matrix
      # B, C, H, W = embedding.shape
      # embedding = embedding.reshape((B, C, H * W))
  
      # calculate mahalanobis distances
      distances = mahalanobis_einsum(
          embedding, self.mean, self.inv_covariance
      )
      score_map = postporcess_score_map(
          distances, out_shape, gaussian_blur
      )
      img_score = score_map.reshape(score_map.shape[0], -1).max(axis=1)
      return score_map, img_score
      return
  
imports: import numpy
  from tqdm import tqdm
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.vision.models.resnet import resnet18, resnet50, wide_resnet50_2
  from scipy.ndimage import gaussian_filter
  from qinspector.cvlib.workspace import register
  from qinspector.uad.utils.utils import cdist, cholesky_inverse, mahalanobis, mahalanobis_einsum, orthogonal, svd_orthogonal
  from qinspector.uad.utils.k_center_greedy import KCenterGreedy
label_desc: Use image node_id 19 for calling the PaDiMPlus obj's underlying member method code with example usage: obj.generate_scores_map(embedding, out_shape, gaussian_blur) and returns: score_map,  img_score