-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompute_psnr_ssim.py
35 lines (32 loc) · 1023 Bytes
/
compute_psnr_ssim.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from tifffile import imread
import os
import sys
from skimage.metrics import peak_signal_noise_ratio as psnr
from skimage.metrics import structural_similarity as ssim
#compute_psnr_ssim
if __name__ == "__main__":
GTdir = sys.argv[1]
noisydir = sys.argv[2]
drange = int(sys.argv[3])
file_list = [f for f in os.listdir(noisydir)]
numberofpoints = len(file_list)
counter = 0
avgps = 0
avgss = 0
for v in range(numberofpoints):
filename = file_list[v]
if filename[0] == '.':
continue
print(filename)
counter += 1
img = imread(GTdir + '/' + filename)
GT = imread(noisydir + '/' + filename)
ps = psnr(GT,img,data_range = drange)
ss = ssim(GT, img, gaussian_weights = True, sigma=1.5, use_sample_covariance=False, data_range = drange)
avgps += ps
avgss += ss
print(ps)
avgps = avgps/counter
avgss = avgss/counter
print('PSNR: '+str(avgps))
print('SSIM: '+str(avgss))