code: def extract_params(func):
      """Extracts parameters and their default values from a function."""
      params = [arg.arg for arg in func.args.args if arg.arg != "self"]
      default_values = [NO_DEFAULT] * len(params)
  
      if func.args.defaults:
          default_values[-len(func.args.defaults) :] = [
              ast.literal_eval(node) for node in func.args.defaults
          ]
  
      return dict(zip(params, default_values))
  
imports: import ast
  import json
  import re
  import argparse
  import textwrap
  import os
  from collections import defaultdict
label_desc: Use image node_id 5 for calling a global function with example usage: extract_params(func) and returns: dict