Normalize.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # import
  2. # ------------------------------------------------------------------------------------------
  3. import miam
  4. import copy
  5. import numpy as np
  6. # ------------------------------------------------------------------------------------------
  7. # MIAM project 2020
  8. # ------------------------------------------------------------------------------------------
  9. # author: remi.cozot@univ-littoral.fr
  10. # ------------------------------------------------------------------------------------------
  11. class Normalize(object):
  12. """description of class"""
  13. def __init__(self,f):
  14. self.normFunction = f
  15. def eval(self, u): return self.normFunction(u) # single vector
  16. def evals(self, u): # array of vector
  17. res = np.zeros(u.shape)
  18. for i in range(u.shape[0]): res[i] = self.normFunction(u[i])
  19. return res
  20. def cosineNorm(u):
  21. u1 = copy.deepcopy(u)
  22. unorm = np.sqrt(np.dot(u1,u1))
  23. u1 =u1/unorm if unorm != 0.0 else u1
  24. return u1
  25. def noNorm(u): return u
  26. def sortNorm(u):
  27. u1 = copy.deepcopy(u)
  28. return np.asarray(sorted(u1.tolist(), key = lambda u : np.sqrt(np.dot(u,u))))