code: def _do_matlab_eval(self, comp_id, output_dir="output"):
      rm_results = self.config["cleanup"]
  
      path = os.path.join(
          os.path.dirname(__file__), "VOCdevkit-matlab-wrapper"
      )
      cmd = "cd {} && ".format(path)
      cmd += "{:s} -nodisplay -nodesktop ".format(datasets.MATLAB)
      cmd += '-r "dbstop if error; '
      cmd += (
          "voc_eval('{:s}','{:s}','{:s}','{:s}',{:d}); quit;\"".format(
              self._devkit_path,
              comp_id,
              self._image_set,
              output_dir,
              int(rm_results),
          )
      )
      print("Running:\n{}".format(cmd))
      status = subprocess.call(cmd, shell=True)
  
imports: from __future__ import print_function
  import os, pdb
  import xml.dom.minidom
  import numpy
  import scipy.sparse
  import scipy.io
  import pickle
  import subprocess
  from .imdb import imdb
  from .voc_eval import voc_eval
label_desc: Use image node_id 15 for calling the pascal_voc obj's underlying member method code with example usage: obj._do_matlab_eval(comp_id, output_dir) without return types