class_docstr: A simple graph class
  
      
code: def shortest_path(self, graph, start, end=None, path=None):
      path = path or []
      path = path + [start]
      if graph[start] == {} or start == end:
          return path
      if start not in graph:
          return []
      shortest = None
      for node in graph[start]:
          if node not in path:
              newpath = self.shortest_path(graph, node, end, path)
              if newpath:
                  if not shortest or len(newpath) < len(shortest):
                      shortest = newpath
      return shortest
  
file_path: dipy/dipy/core/graph.py
label_desc: Use image node_id 11 for calling the Graph obj's underlying member method code with example usage: obj.shortest_path(graph, start, end, path) and returns: shortest, path, list