class_docstr: Notes
  -----
  a graph feature generation method. This is a simple wrapper of NetLSD [#]_.
  
  References
  ----------
  ..  [#] A. Tsitsulin, D. Mottin, P. Karras, A. Bronstein, and E. Müller, “NetLSD: Hearing the shape of a graph,”
      Proc. ACM SIGKDD Int. Conf. Knowl. Discov. Data Min., pp. 2347–2356, 2018.
class_docstr_tok: ["Notes","--","--","-","a","graph","feature","generation","method",".","This","is","a","simple","wrapper","of","NetLSD","[","#","]","_.","References","--","--","--","--","--","..","[","#","]","A.","Tsitsulin",",","D.","Mottin",",","P.","Karras",",","A.","Bronstein",",","and","E.","M\u00fcller",",","\u201c","NetLSD",":","Hearing","the","shape","of","a","graph",",","\u201d","Proc",".","ACM","SIGKDD","Int",".","Conf",".","Knowl",".","Discov",".","Data","Min.",",","pp",".","2347\u20132356",",","2018","."]
code: def __transform_homogeneous_static_graph(
      self, homogeneous_static_graph: GeneralStaticGraph
  ) -> GeneralStaticGraph:
      if not (
          homogeneous_static_graph.nodes.is_homogeneous
          and homogeneous_static_graph.edges.is_homogeneous
      ):
          raise ValueError("Provided static graph must be homogeneous")
      dsc: torch.Tensor = self.__extract(
          conversion.HomogeneousStaticGraphToNetworkX(
              to_undirected=True
          ).__call__(homogeneous_static_graph, to_undirected=True)
      )
      if "gf" in homogeneous_static_graph.data:
          gf = homogeneous_static_graph.data["gf"].view(-1)
          homogeneous_static_graph.data["gf"] = torch.cat([gf, dsc])
      else:
          homogeneous_static_graph.data["gf"] = dsc
      return homogeneous_static_graph
  
file_path: AutoGL/autogl/module/feature/_graph/_netlsd.py
imports: import netlsd
  import networkx
  import torch
  from autogl.data.graph import GeneralStaticGraph
  from autogl.data.graph.utils import conversion
  from .._base_feature_engineer import BaseFeatureEngineer
  from .._feature_engineer_registry import FeatureEngineerUniversalRegistry
label_desc: Use image node_id 3 for calling the NetLSD obj's underlying member method code with example usage: obj.__transform_homogeneous_static_graph(homogeneous_static_graph) and returns: homogeneous_static_graph