calc_ssim() does not work for input data with completely different data ranges or data ranges exceeding np.int16.
In such cases, the output values of calc_ssim are wrong.
Proposed solution:
-
remove datatype downcasting -
add data normalization -
mask nodata values