code: def _do_matlab_eval(json_dataset, salt, output_dir="output"):
      import subprocess
  
      logger.info(
          "-----------------------------------------------------"
      )
      logger.info(
          "Computing results with the official MATLAB eval code."
      )
      logger.info(
          "-----------------------------------------------------"
      )
      info = voc_info(json_dataset)
      path = os.path.join(
          cfg.ROOT_DIR,
          "detectron",
          "datasets",
          "VOCdevkit-matlab-wrapper",
      )
      cmd = "cd {} && ".format(path)
      cmd += "{:s} -nodisplay -nodesktop ".format(cfg.MATLAB)
      cmd += '-r "dbstop if error; '
      cmd += "voc_eval('{:s}','{:s}','{:s}','{:s}'); quit;\"".format(
          info["devkit_path"],
          "comp4" + salt,
          info["image_set"],
          output_dir,
      )
      logger.info("Running:\n{}".format(cmd))
      subprocess.call(cmd, shell=True)
  
file_path: dense-pose/detectron/datasets/voc_dataset_evaluator.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import logging
  import numpy
  import os
  import shutil
  import uuid
  from detectron.core.config import cfg
  from detectron.datasets.dataset_catalog import get_devkit_dir
  from detectron.datasets.voc_eval import voc_eval
  from detectron.utils.io import save_object
label_desc: Use image node_id 5 for calling a global function with example usage: _do_matlab_eval(json_dataset, salt, output_dir) without return types