1#!/usr/bin/env python3 2import os 3import sys 4from vmaf.core.quality_runner import QualityRunner 5from vmaf.core.result_store import FileSystemResultStore 6from vmaf.routine import run_remove_results_for_dataset 7from vmaf.tools.misc import import_python_file 8 9__copyright__ = "Copyright 2016-2020, Netflix, Inc." 10__license__ = "BSD+Patent" 11 12 13def print_usage(): 14 quality_runner_types = ['VMAF', 'PSNR', 'SSIM', 'MS_SSIM'] 15 print("usage: " + os.path.basename(sys.argv[0]) + \ 16 " quality_type dataset_filepath\n") 17 print("quality_type:\n\t" + "\n\t".join(quality_runner_types) +"\n") 18 19 20def main(): 21 if len(sys.argv) < 3: 22 print_usage() 23 return 2 24 25 try: 26 quality_type = sys.argv[1] 27 dataset_filepath = sys.argv[2] 28 except ValueError: 29 print_usage() 30 return 2 31 32 try: 33 dataset = import_python_file(dataset_filepath) 34 except Exception as e: 35 print("Error: " + str(e)) 36 return 1 37 38 try: 39 runner_class = QualityRunner.find_subclass(quality_type) 40 except: 41 print_usage() 42 return 2 43 44 result_store = FileSystemResultStore() 45 46 run_remove_results_for_dataset(result_store, dataset, runner_class) 47 48 return 0 49 50 51if __name__ == '__main__': 52 ret = main() 53 exit(ret) 54