tfg.rendering.camera.perspective.ray

View source on GitHub

Computes the 3d ray for a 2d point (the z component of the ray is 1).

Computes the 3d ray \((r_x, r_y, 1)\) from the camera center to a 2d point \((x', y')\) on the image plane with

$$ \begin{matrix} r_x = \frac{(x' - c_x)}{f_x}, & r_y = \frac{(y' - c_y)}{f_y}, & z = 1, \end{matrix} $$

where \((f_x, f_y)\) is the focal length and \((c_x, c_y)\) the principal point. The camera optical center is assumed to be at \((0, 0, 0)\).

Note:

In the following, A1 to An are optional batch dimensions that must be broadcast compatible.

point_2d A tensor of shape [A1, ..., An, 2], where the last dimension represents a 2d point.
focal A tensor of shape [A1, ..., An, 2], where the last dimension represents a camera focal length.
principal_point A tensor of shape [A1, ..., An, 2], where the last dimension represents a camera principal point.
name A name for this op that defaults to "perspective_ray".

A tensor of shape [A1, ..., An, 3], where the last dimension represents a 3d ray.

ValueError If the shape of point_2d, focal, or principal_point is not supported.