docstr: Method returns a dict, describing the object sufficiently enough to reconstruct it
  back.
  
  Returns
  -------
  out : dict
      OrderedDict, ready for json serialization.
docstr_tok: ["Method","returns","a","dict",",","describing","the","object","sufficiently","enough","to","reconstruct","it","back",".","Returns","--","--","--","-","out",":","dict","OrderedDict",",","ready","for","json","serialization","."]
code: def to_dict(self):
      """
      Method returns a dict, describing the object sufficiently enough to reconstruct it
      back.
  
      Returns
      -------
      out : dict
          OrderedDict, ready for json serialization.
  
      """
  
      d = {}
      argspec = inspect.getfullargspec(self.__class__)
  
      for item in self.__dict__.items():
          if item[0] not in argspec.args:
              continue
          if hasattr(item[1], "to_dict") and isinstance(
              item[1], Serializable
          ):
              # This situation is only possible when we serialize the stream
              d[item[0]] = {"stream": item[1].to_dict()}
          elif item[0] != "transforms":
              d[item[0]] = item[1]
          elif (
              isinstance(item[1], (tuple, list))
              and item[0] == "transforms"
          ):
              d[item[0]] = [
                  {x.__class__.serializable_name: x.to_dict()}
                  for x in item[1]
              ]
  
      return d
  
file_path: solt/solt/utils/_utils.py
imports: from functools import wraps
  import json
  import yaml
  import inspect
label_desc: Use image node_id 2 for calling the Serializable obj's underlying member method code with example usage: obj.to_dict() and returns: d