symforce.cam.atan_camera_cal module¶
- class ATANCameraCal(focal_length, principal_point, omega)[source]¶
Bases:
CameraCal
ATAN camera with 5 parameters [fx, fy, cx, cy, omega]. (fx, fy) representing focal length, (cx, cy) representing principal point, and omega representing the distortion parameter.
See here for more details: https://hal.inria.fr/inria-00267247/file/distcalib.pdf
- Parameters:
focal_length (
Sequence
[float
]) –principal_point (
Sequence
[float
]) –omega (
float
) –
- NUM_DISTORTION_COEFFS = 1¶
- __init__(focal_length, principal_point, omega)[source]¶
- Parameters:
focal_length (
Sequence
[float
]) –principal_point (
Sequence
[float
]) –omega (
float
) –
- property omega: float¶
- Return type:
float
- classmethod symbolic(name, **kwargs)[source]¶
Construct a symbolic element with the given name prefix. Kwargs are forwarded to sf.Symbol (for example, sympy assumptions).
- Parameters:
name (
str
) –kwargs (
Any
) –
- Return type:
- classmethod storage_order()[source]¶
Return list of the names of values returned in the storage paired with the dimension of each value.
- Return type:
Tuple
[Tuple
[str
,int
], …]
- pixel_from_camera_point(point, epsilon=0.0)[source]¶
Project a 3D point in the camera frame into 2D pixel coordinates.
- Returns:
(x, y) coordinate in pixels if valid is_valid: 1 if the operation is within bounds else 0
- Return type:
pixel
- Parameters:
point (
Matrix31
) –epsilon (
float
) –
- camera_ray_from_pixel(pixel, epsilon=0.0)[source]¶
Backproject a 2D pixel coordinate into a 3D ray in the camera frame.
TODO(hayk): Add a normalize boolean argument? Like in cam.Camera
- Returns:
The ray in the camera frame (NOT normalized) is_valid: 1 if the operation is within bounds else 0
- Return type:
camera_ray
- Parameters:
pixel (
Matrix21
) –epsilon (
float
) –