Source code for sym.ops.double_sphere_camera_cal.lie_group_ops
# -----------------------------------------------------------------------------# This file was autogenerated by symforce from template:# ops/CLASS/lie_group_ops.py.jinja# Do NOT modify by hand.# -----------------------------------------------------------------------------# ruff: noqa: PLR0915, F401, PLW0211, PLR0914importmathimporttypingasTimportnumpyimportsym
[docs]classLieGroupOps(object):""" Python LieGroupOps implementation for :py:class:`symforce.cam.double_sphere_camera_cal.DoubleSphereCameraCal`. """
[docs]@staticmethoddeffrom_tangent(vec,epsilon):# type: (numpy.ndarray, float) -> sym.DoubleSphereCameraCal# Total ops: 0# Input arraysifvec.shape==(6,):vec=vec.reshape((6,1))elifvec.shape!=(6,1):raiseIndexError("vec is expected to have shape (6, 1) or (6,); instead had shape {}".format(vec.shape))# Intermediate terms (0)# Output terms_res=[0.0]*6_res[0]=vec[0,0]_res[1]=vec[1,0]_res[2]=vec[2,0]_res[3]=vec[3,0]_res[4]=vec[4,0]_res[5]=vec[5,0]returnsym.DoubleSphereCameraCal.from_storage(_res)
[docs]@staticmethoddefretract(a,vec,epsilon):# type: (sym.DoubleSphereCameraCal, numpy.ndarray, float) -> sym.DoubleSphereCameraCal# Total ops: 6# Input arrays_a=a.dataifvec.shape==(6,):vec=vec.reshape((6,1))elifvec.shape!=(6,1):raiseIndexError("vec is expected to have shape (6, 1) or (6,); instead had shape {}".format(vec.shape))# Intermediate terms (0)# Output terms_res=[0.0]*6_res[0]=_a[0]+vec[0,0]_res[1]=_a[1]+vec[1,0]_res[2]=_a[2]+vec[2,0]_res[3]=_a[3]+vec[3,0]_res[4]=_a[4]+vec[4,0]_res[5]=_a[5]+vec[5,0]returnsym.DoubleSphereCameraCal.from_storage(_res)