code: def compute_video_metrics_from_png_files(
      output_dirs, problem_name, video_length, frame_shape
  ):
      """Computes the average of all the metric for one decoding.
  
      This function assumes that all the predicted and target frames
      have been saved on the disk and sorting them by name will result
      to consecutive frames saved in order.
  
      Args:
        output_dirs: directory with all the saved frames.
        problem_name: prefix of the saved frames usually name of the problem.
        video_length: length of the videos.
        frame_shape: shape of each frame in HxWxC format.
  
      Returns:
        Dictionary which contains the average of each metric per frame.
      """
      ssim_all_decodes, psnr_all_decodes = [], []
      for output_dir in output_dirs:
          (
              output_files,
              target_files,
          ) = get_target_and_output_filepatterns(
              output_dir, problem_name
          )
          args = get_zipped_dataset_from_png_files(
              output_files, target_files, video_length, frame_shape
          )
          psnr_single, ssim_single = compute_one_decoding_video_metrics(
              *args
          )
          psnr_all_decodes.append(psnr_single)
          ssim_all_decodes.append(ssim_single)
  
      psnr_all_decodes = np.array(psnr_all_decodes)
      ssim_all_decodes = np.array(ssim_all_decodes)
      all_results = {"PSNR": psnr_all_decodes, "SSIM": ssim_all_decodes}
      return compute_all_metrics_statistics(all_results)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import numpy
  import six
  import tensorflow.compat.v1
label_desc: Use image node_id 14 for calling a global function with example usage: compute_video_metrics_from_png_files(output_dirs, problem_name, video_length, frame_shape) and returns: compute_all_metrics_statistics