code: def _label_(f, parent, left, labelled):
      temp = np.nonzero(parent == f)
  
      if np.size(temp) > 0:
          i = temp[0][np.nonzero(left[temp[0]] == 1)]
          j = temp[0][np.nonzero(left[temp[0]] == 0)]
          labelled = _label_(i, parent, left, labelled)
          labelled[f] = labelled.max() + 1
          labelled = _label_(j, parent, left, labelled)
  
      if labelled[f] < 0:
          labelled[f] = labelled.max() + 1
  
      return labelled
  
imports: from warnings import warn
  import numpy
  from ..graph.forest import Forest
  from ..graph.graph import WeightedGraph
label_desc: Use image node_id 14 for calling a global function with example usage: _label_(f, parent, left, labelled) and returns: labelled