> So, would you check if the translation part of the 4x4 trans is empty and if so apply the trans without memory reallocation?

not empty but [0,0,0]
you can always avoid the reallocation thats adds a column of 1 to
points by doing something like


pts = np.dot(pts, trans[:3,:3])
if np.any(trans[:3,-1]):
    pts += trans[:3,-1][None, :]

makes sense?