import numpy as np | |
from skimage.metrics import structural_similarity as ssim | |
def compute_ssim(rendering_gt, rendering_reconstructed): | |
# The images passed to the function should already be normalized | |
ssim_value = ssim(rendering_gt, rendering_reconstructed, data_range=rendering_gt.max() - rendering_gt.min(), multichannel=True, channel_axis=0) | |
return ssim_value | |
def compute_psnr(gt_image, rendered_image): | |
# The images passed to the function should already be normalized | |
gt_image = gt_image.astype(np.float32) | |
rendered_image = rendered_image.astype(np.float32) | |
mse = np.mean((gt_image - rendered_image) ** 2) | |
psnr = 20 * np.log10(1.0 / np.sqrt(mse)) | |
return psnr |