import numpy as np def getMSE(image, dm): assert(image.shape == dm.shape) w, h, c = image.shape mse = np.zeros((w,h)) for i in range(w): for j in range(h): rgb_image = np.array(image[i,j,:]) rgb_dm = np.array(dm[i,j,:]) l_image = np.sqrt(rgb_image.dot(rgb_image)) l_dm = np.sqrt(rgb_dm.dot(rgb_dm)) mse[i,j] = np.abs(l_image - l_dm) return mse/(mse.max() + 0.00000001) def getTheta(v1, v2): l1 = np.sqrt(v1.dot(v1)) if l1 == 0: l1 = 0.1 l2 = np.sqrt(v2.dot(v2)) if l2 ==0: l2 = 0.1 theta = v1.dot(v2) / l1*l2 return theta def getDeltaTheta(image, dm): assert(image.shape == dm.shape) w, h, c = image.