def test_todataframe_fromdataframe(self): print 'test on result to/from dataframe...' df = self.result.to_dataframe() df_vmaf = df.loc[df['scores_key'] == 'VMAF_legacy_scores'] df_adm = df.loc[df['scores_key'] == 'VMAF_feature_adm_scores'] df_vif = df.loc[df['scores_key'] == 'VMAF_feature_vif_scores'] df_ansnr = df.loc[df['scores_key'] == 'VMAF_feature_ansnr_scores'] df_motion = df.loc[df['scores_key'] == 'VMAF_feature_motion_scores'] df_adm_den = df.loc[df['scores_key'] == 'VMAF_feature_adm_den_scores'] self.assertEquals(len(df), 38) self.assertEquals(len(df_vmaf), 1) self.assertEquals(len(df_adm), 1) self.assertEquals(len(df_vif), 1) self.assertEquals(len(df_ansnr), 1) self.assertEquals(len(df_motion), 1) self.assertAlmostEquals(np.mean(df_vmaf.iloc[0]['scores']), 40.421899030550769, places=4) self.assertAlmostEquals(np.mean(df_adm.iloc[0]['scores']), 0.78533833333333336, places=4) self.assertAlmostEquals(np.mean(df_vif.iloc[0]['scores']), 0.156834666667, places=4) self.assertAlmostEquals(np.mean(df_ansnr.iloc[0]['scores']), 7.92623066667, places=4) self.assertAlmostEquals(np.mean(df_motion.iloc[0]['scores']), 12.5548366667, places=4) self.assertAlmostEquals(np.mean(df_adm_den.iloc[0]['scores']), 2773.8912249999998, places=3) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_legacy_scores', 'scores')), 40.421899030550769, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_adm_scores', 'scores')), 0.78533833333333336, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_vif_scores', 'scores')), 0.156834666667, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_ansnr_scores', 'scores')), 7.92623066667, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_motion_scores', 'scores')), 12.5548366667, places=4) self.assertEquals(df.iloc[0]['dataset'], 'test') self.assertEquals(df.iloc[0]['content_id'], 0) self.assertEquals(df.iloc[0]['asset_id'], 0) self.assertEquals(df.iloc[0]['ref_name'], 'checkerboard_1920_1080_10_3_0_0.yuv') self.assertEquals(df.iloc[0]['dis_name'], 'checkerboard_1920_1080_10_3_1_0.yuv') self.assertEquals( df.iloc[0]['asset'], '{"asset_dict": {"height": 1080, "use_path_as_workpath": 1, "width": 1920}, "asset_id": 0, "content_id": 0, "dataset": "test", "dis_path": "checkerboard_1920_1080_10_3_1_0.yuv", "ref_path": "checkerboard_1920_1080_10_3_0_0.yuv", "workdir": ""}') # noqa self.assertEquals(df.iloc[0]['executor_id'], 'VMAF_legacy_VF0.2.4b-1.1') Result._assert_asset_dataframe(df) recon_result = Result.from_dataframe(df) self.assertEquals(self.result, recon_result) self.assertTrue(self.result == recon_result) self.assertFalse(self.result != recon_result)
def test_todataframe_fromdataframe(self): print 'test on result to/from dataframe...' df = self.result.to_dataframe() df_vmaf = df.loc[df['scores_key'] == 'VMAF_legacy_scores'] df_adm = df.loc[df['scores_key'] == 'VMAF_feature_adm_scores'] df_vif = df.loc[df['scores_key'] == 'VMAF_feature_vif_scores'] df_ansnr = df.loc[df['scores_key'] == 'VMAF_feature_ansnr_scores'] df_motion = df.loc[df['scores_key'] == 'VMAF_feature_motion_scores'] df_adm_den = df.loc[df['scores_key'] == 'VMAF_feature_adm_den_scores'] self.assertEquals(len(df), 38) self.assertEquals(len(df_vmaf), 1) self.assertEquals(len(df_adm), 1) self.assertEquals(len(df_vif), 1) self.assertEquals(len(df_ansnr), 1) self.assertEquals(len(df_motion), 1) self.assertAlmostEquals(np.mean(df_vmaf.iloc[0]['scores']), 40.421899030550769, places=4) self.assertAlmostEquals(np.mean(df_adm.iloc[0]['scores']), 0.78533833333333336, places=4) self.assertAlmostEquals(np.mean(df_vif.iloc[0]['scores']), 0.156834666667, places=4) self.assertAlmostEquals(np.mean(df_ansnr.iloc[0]['scores']), 7.92623066667, places=4) self.assertAlmostEquals(np.mean(df_motion.iloc[0]['scores']), 12.5548366667, places=4) self.assertAlmostEquals(np.mean(df_adm_den.iloc[0]['scores']), 2773.8912249999998, places=3) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_legacy_scores', 'scores')), 40.421899030550769, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_adm_scores', 'scores')), 0.78533833333333336, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_vif_scores', 'scores')), 0.156834666667, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_ansnr_scores', 'scores')), 7.92623066667, places=4) self.assertAlmostEquals(np.mean(Result.get_unique_from_dataframe(df, 'VMAF_feature_motion_scores', 'scores')), 12.5548366667, places=4) self.assertEquals(df.iloc[0]['dataset'], 'test') self.assertEquals(df.iloc[0]['content_id'], 0) self.assertEquals(df.iloc[0]['asset_id'], 0) self.assertEquals(df.iloc[0]['ref_name'], 'checkerboard_1920_1080_10_3_0_0.yuv') self.assertEquals(df.iloc[0]['dis_name'], 'checkerboard_1920_1080_10_3_1_0.yuv') self.assertEquals( df.iloc[0]['asset'], '{"asset_dict": {"height": 1080, "use_path_as_workpath": 1, "width": 1920}, "asset_id": 0, "content_id": 0, "dataset": "test", "dis_path": "checkerboard_1920_1080_10_3_1_0.yuv", "ref_path": "checkerboard_1920_1080_10_3_0_0.yuv", "workdir": ""}') # noqa self.assertEquals(df.iloc[0]['executor_id'], 'VMAF_legacy_VF0.2.4b-1.1') Result._assert_asset_dataframe(df) recon_result = Result.from_dataframe(df) self.assertEquals(self.result, recon_result) self.assertTrue(self.result == recon_result) self.assertFalse(self.result != recon_result)
def load_result(result_file_path): with open(result_file_path, "rt") as result_file: df = pd.DataFrame.from_dict(ast.literal_eval(result_file.read())) result = Result.from_dataframe(df) return result
def load_result(result_file_path): with open(result_file_path, "rt") as result_file: df = pd.DataFrame.from_dict(ast.literal_eval(result_file.read())) result = Result.from_dataframe(df) return result