code: def _create_dot_graph(
      graph, show_connectinfo=False, simple_form=True
  ):
      """Create a graph that can be pickled.
  
      Ensures that edge info is pickleable.
      """
      logger.debug("creating dot graph")
      import networkx as nx
  
      pklgraph = nx.DiGraph()
      for edge in graph.edges():
          data = graph.get_edge_data(*edge)
          srcname = get_print_name(edge[0], simple_form=simple_form)
          destname = get_print_name(edge[1], simple_form=simple_form)
          if show_connectinfo:
              pklgraph.add_edge(
                  f'"{srcname}"',
                  f'"{destname}"',
                  l=str(data["connect"]),
              )
          else:
              pklgraph.add_edge(f'"{srcname}"', f'"{destname}"')
      return pklgraph
  
imports: import os
  import sys
  import pickle
  from collections import defaultdict
  import re
  from copy import deepcopy
  from glob import glob
  from pathlib import Path
  from traceback import format_exception
  from hashlib import sha1
  from functools import reduce
  import numpy
  from ...None import logging, config
  from ...utils.filemanip import indirectory, relpath, fname_presuffix, ensure_list, get_related_files, save_json, savepkl, loadpkl, write_rst_header, write_rst_dict, write_rst_list
  from ...utils.misc import str2bool
  from ...utils.functions import create_function_from_source
  from ...interfaces.base.traits_extension import rebase_path_traits, resolve_path_traits, OutputMultiPath, isdefined, Undefined
  from ...interfaces.base.support import Bunch, InterfaceResult
  from ...interfaces.base import CommandLine
  from ...interfaces.utility import IdentityInterface
  from ...utils.provenance import ProvStore, pm, nipype_ns, get_id
  from inspect import signature
label_desc: Use image node_id 13 for calling a global function with example usage: _create_dot_graph(graph, show_connectinfo, simple_form) and returns: pklgraph