Source code for monalisa.trajectory._traj_norm

"""Port of src/traj123/bmTraj_norm.m."""

import numpy as np

from monalisa._mat import msize, reshape
from monalisa.array._point_reshape import point_reshape


[docs] def traj_norm(t): """Euclidean norm of each trajectory point, shaped like ``size(t)(2:end)``.""" mySize = msize(t) t = np.asarray(point_reshape(t)) dt = t.dtype if t.dtype in (np.float32, np.float64) else np.float64 myNorm = np.zeros(t.shape[1], dtype=dt) for i in range(mySize[0]): myNorm = myNorm + t[i, :] ** 2 return reshape(np.sqrt(myNorm), list(mySize[1:]))