class_docstr: Define basic tools for triangular mesh analysis and improvement.
  
  A TriAnalyzer encapsulates a `.Triangulation` object and provides basic
  tools for mesh analysis and mesh improvement.
  
  Attributes
  ----------
  scale_factors
  
  Parameters
  ----------
  triangulation : `~matplotlib.tri.Triangulation`
      The encapsulated triangulation to analyze.
docstr: Compress (if masked) the encapsulated triangulation.
  
  Returns minimal-length triangles array (*compressed_triangles*) and
  coordinates arrays (*compressed_x*, *compressed_y*) that can still
  describe the unmasked triangles of the encapsulated triangulation.
  
  Returns
  -------
  compressed_triangles : array-like
      the returned compressed triangulation triangles
  compressed_x : array-like
      the returned compressed triangulation 1st coordinate
  compressed_y : array-like
      the returned compressed triangulation 2nd coordinate
  tri_renum : int array
      renumbering table to translate the triangle numbers from the
      encapsulated triangulation into the new (compressed) renumbering.
      -1 for masked triangles (deleted from *compressed_triangles*).
  node_renum : int array
      renumbering table to translate the point numbers from the
      encapsulated triangulation into the new (compressed) renumbering.
      -1 for unused points (i.e. those deleted from *compressed_x* and
      *compressed_y*).
code: def _get_compressed_triangulation(self):
      """
      Compress (if masked) the encapsulated triangulation.
  
      Returns minimal-length triangles array (*compressed_triangles*) and
      coordinates arrays (*compressed_x*, *compressed_y*) that can still
      describe the unmasked triangles of the encapsulated triangulation.
  
      Returns
      -------
      compressed_triangles : array-like
          the returned compressed triangulation triangles
      compressed_x : array-like
          the returned compressed triangulation 1st coordinate
      compressed_y : array-like
          the returned compressed triangulation 2nd coordinate
      tri_renum : int array
          renumbering table to translate the triangle numbers from the
          encapsulated triangulation into the new (compressed) renumbering.
          -1 for masked triangles (deleted from *compressed_triangles*).
      node_renum : int array
          renumbering table to translate the point numbers from the
          encapsulated triangulation into the new (compressed) renumbering.
          -1 for unused points (i.e. those deleted from *compressed_x* and
          *compressed_y*).
  
      """
      # Valid triangles and renumbering
      tri_mask = self._triangulation.mask
      compressed_triangles = self._triangulation.get_masked_triangles()
      ntri = self._triangulation.triangles.shape[0]
      if tri_mask is not None:
          tri_renum = self._total_to_compress_renum(~tri_mask)
      else:
          tri_renum = np.arange(ntri, dtype=np.int32)
  
      # Valid nodes and renumbering
      valid_node = (
          np.bincount(
              np.ravel(compressed_triangles),
              minlength=self._triangulation.x.size,
          )
          != 0
      )
      compressed_x = self._triangulation.x[valid_node]
      compressed_y = self._triangulation.y[valid_node]
      node_renum = self._total_to_compress_renum(valid_node)
  
      # Now renumbering the valid triangles nodes
      compressed_triangles = node_renum[compressed_triangles]
  
      return (
          compressed_triangles,
          compressed_x,
          compressed_y,
          tri_renum,
          node_renum,
      )
  
file_path: catboost/contrib/python/matplotlib/py3/matplotlib/tri/_tritools.py
imports: import numpy
  from matplotlib import _api
  from matplotlib.tri import Triangulation
label_desc: Use image node_id 5 for calling the TriAnalyzer obj's underlying member method code with example usage: obj._get_compressed_triangulation() and returns: compressed_triangles,  compressed_x,  compressed_y,  tri_renum,  node_renum