|
|
|
@ -5,39 +5,46 @@ import sys
|
|
|
|
|
from pprint import pprint
|
|
|
|
|
from tabulate import tabulate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def process_raw_line(line):
|
|
|
|
|
fields = line.rstrip().split(' ')
|
|
|
|
|
fields = [field.split(':')[-1] for field in fields]
|
|
|
|
|
fields = line.rstrip().split(" ")
|
|
|
|
|
fields = [field.split(":")[-1] for field in fields]
|
|
|
|
|
fields[5] = fields[5][1:-1]
|
|
|
|
|
fields[0] = int(fields[0])
|
|
|
|
|
fields[1:] = list(map(np.float, fields[1:]))
|
|
|
|
|
return fields
|
|
|
|
|
|
|
|
|
|
with open(sys.argv[1], 'r') as f:
|
|
|
|
|
|
|
|
|
|
with open(sys.argv[1], "r") as f:
|
|
|
|
|
data = list(map(process_raw_line, f.readlines()))
|
|
|
|
|
|
|
|
|
|
df = pd.DataFrame(data)
|
|
|
|
|
df.columns = ['frame', 'Y', 'U', 'V', 'All', 'dB']
|
|
|
|
|
df['inv'] = [1 - value for value in df['All']]
|
|
|
|
|
df.columns = ["frame", "Y", "U", "V", "All", "dB"]
|
|
|
|
|
df["inv"] = [1 - value for value in df["All"]]
|
|
|
|
|
|
|
|
|
|
print(f'Mean overall SSIM: {df["All"].mean()}')
|
|
|
|
|
print(f'Median overall SSIM: {df["All"].median()}')
|
|
|
|
|
print(f'Frame with worst SSIM: {df.idxmin()["All"]+1}')
|
|
|
|
|
print(f'Frame with best SSIM: {df.idxmax()["All"]+1}')
|
|
|
|
|
|
|
|
|
|
print(tabulate(
|
|
|
|
|
[(key, value * 100) for key, value in [
|
|
|
|
|
['best', df['All'].max()],
|
|
|
|
|
[50, 1 - df['inv'].quantile(0.50)],
|
|
|
|
|
[66.6, 1 - df['inv'].quantile(0.666)],
|
|
|
|
|
[75, 1 - df['inv'].quantile(0.75)],
|
|
|
|
|
[80, 1 - df['inv'].quantile(0.80)],
|
|
|
|
|
[90, 1 - df['inv'].quantile(0.90)],
|
|
|
|
|
[95, 1 - df['inv'].quantile(0.95)],
|
|
|
|
|
[98, 1 - df['inv'].quantile(0.98)],
|
|
|
|
|
[99, 1 - df['inv'].quantile(0.99)],
|
|
|
|
|
[99.9, 1 - df['inv'].quantile(0.999)],
|
|
|
|
|
[100, df['All'].min()]
|
|
|
|
|
]],
|
|
|
|
|
headers=['% Frames', '≥ SSIM']
|
|
|
|
|
))
|
|
|
|
|
print(
|
|
|
|
|
tabulate(
|
|
|
|
|
[
|
|
|
|
|
(key, value * 100)
|
|
|
|
|
for key, value in [
|
|
|
|
|
["best", df["All"].max()],
|
|
|
|
|
[50, 1 - df["inv"].quantile(0.50)],
|
|
|
|
|
[66.6, 1 - df["inv"].quantile(0.666)],
|
|
|
|
|
[75, 1 - df["inv"].quantile(0.75)],
|
|
|
|
|
[80, 1 - df["inv"].quantile(0.80)],
|
|
|
|
|
[90, 1 - df["inv"].quantile(0.90)],
|
|
|
|
|
[95, 1 - df["inv"].quantile(0.95)],
|
|
|
|
|
[98, 1 - df["inv"].quantile(0.98)],
|
|
|
|
|
[99, 1 - df["inv"].quantile(0.99)],
|
|
|
|
|
[99.9, 1 - df["inv"].quantile(0.999)],
|
|
|
|
|
[100, df["All"].min()],
|
|
|
|
|
]
|
|
|
|
|
],
|
|
|
|
|
headers=["% Frames", "≥ SSIM"],
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|