class_docstr: Extract data from a SurfaceImage, averaging over atlas regions.
  
  Parameters
  ----------
  labels_img : SurfaceImage object
      Region definitions, as one image of labels.
  
  label_names : :obj:`list` of :obj:`str`, default=None
      Full labels corresponding to the labels image.
  
  Attributes
  ----------
  labels_data_ : :obj:`numpy.ndarray`
  
  labels_ : :obj:`numpy.ndarray`
  
  label_names_ : :obj:`numpy.ndarray`
class_docstr_tok: ["Extract","data","from","a","SurfaceImage",",","averaging","over","atlas","regions",".","Parameters","--","--","--","--","--","labels_img",":","SurfaceImage","object","Region","definitions",",","as","one","image","of","labels",".","label_names",":",":","obj",":","`","list","`","of",":","obj",":","`","str","`",",","default=None","Full","labels","corresponding","to","the","labels","image",".","Attributes","--","--","--","--","--","labels_data_",":",":","obj",":","`","numpy.ndarray","`","labels_",":",":","obj",":","`","numpy.ndarray","`","label_names_",":",":","obj",":","`","numpy.ndarray","`"]
docstr: Transform extracted signal back to surface object.
  
  Parameters
  ----------
  masked_img : numpy.ndarray
      Extracted signal.
  
  Returns
  -------
  SurfaceImage object
      Mesh and data for both hemispheres.
docstr_tok: ["Transform","extracted","signal","back","to","surface","object",".","Parameters","--","--","--","--","--","masked_img",":","numpy.ndarray","Extracted","signal",".","Returns","--","--","--","-","SurfaceImage","object","Mesh","and","data","for","both","hemispheres","."]
code: def inverse_transform(self, masked_img: np.ndarray) -> SurfaceImage:
      """Transform extracted signal back to surface object.
  
      Parameters
      ----------
      masked_img : numpy.ndarray
          Extracted signal.
  
      Returns
      -------
      SurfaceImage object
          Mesh and data for both hemispheres.
      """
      data = {}
      for part_name, labels_part in self.labels_img.data.items():
          data[part_name] = np.zeros(
              (*masked_img.shape[:-1], labels_part.shape[0]),
              dtype=masked_img.dtype,
          )
          for label_idx, label in enumerate(self.labels_):
              data[part_name][..., labels_part == label] = masked_img[
                  ..., label_idx
              ]
      return SurfaceImage(mesh=self.labels_img.mesh, data=data)
  
imports: from __future__ import annotations
  from typing import Any
  import numpy
  import pandas
  from joblib import Memory
  from sklearn.base import BaseEstimator, TransformerMixin
  from nilearn import signal
  from nilearn._utils.cache_mixin import CacheMixin, cache
  from nilearn._utils.class_inspect import get_params
  from nilearn.experimental.surface._surface_image import PolyMesh, SurfaceImage
label_desc: Use image node_id 5 for calling the SurfaceLabelsMasker obj's underlying member method code with example usage: obj.inverse_transform(masked_img) and returns: SurfaceImage