class_docstr: Represents a graph suitable for further processing with the graphcut package.
  
  The graph contains nodes, edges (directed) between the nodes (n-edges), edges
  between two terminals (called source and sink) and the nodes (t-edges), and a
  weight for each edge. 
  
  Notes
  -----
  The node-ids used by the graph are assumed to start with 1 and be
  continuous. This is not actually checked, except when calling the
  inconsistent() method, so be careful.
docstr: Set the number of graph nodes (starting from node-id = 1),
  excluding sink and source.
  
  Parameters
  ----------
  nodes : int
      Number of nodes
docstr_tok: ["Set","the","number","of","graph","nodes","(","starting","from","node-id","=","1",")",",","excluding","sink","and","source",".","Parameters","--","--","--","--","--","nodes",":","int","Number","of","nodes"]
code: def set_nodes(self, nodes):
      r"""
      Set the number of graph nodes (starting from node-id = 1),
      excluding sink and source.
  
      Parameters
      ----------
      nodes : int
          Number of nodes
      """
      self.__nodes = int(nodes)
  
imports: from .maxflow import GraphDouble, GraphFloat
label_desc: Use image node_id 2 for calling the Graph obj's underlying member method code with example usage: obj.set_nodes(nodes) without return types