SatelliteCameraViewer.SatelliteCamera.CameraAttitude module

CameraAttitude

CameraAttitude model

class SatelliteCameraViewer.SatelliteCamera.CameraAttitude.Attitude[source]

Bases: object

pitch_deg: float = 0.0
roll_deg: float = 0.0
yaw_deg: float = 0.0
class SatelliteCameraViewer.SatelliteCamera.CameraAttitude.CameraAttitude(sat_quat_body_to_eci: Quaternion = None, sat_attitude: Attitude = None, cam_attitude: Attitude = None)[source]

Bases: object

Full attitude model: - Satellite orientation in ECI (as quaternion or yaw/pitch/roll) - Camera mounting offsets (yaw/pitch/roll) - Produces final camera->ECI quaternion

Attributes:
cam_attitude
quat_cam_to_eci

quat_cam_to_eci

sat_attitude
sat_quat_body_to_eci

Methods

cam_to_eci()

quaternion_nadir_pointing(r_eci_km)

Compute camera->ECI quaternion for nadir pointing.

quaternion_pointing_ground(lat_deg, lon_deg, ...)

Compute camera->ECI quaternion that points +Z_cam at a ground location.

quaternion_pointing_radec(ra_deg, dec_deg, ...)

Compute camera->ECI quaternion that points +Z_cam at a given RA/Dec target.

quaternion_velocity_pointing(r_eci_km, ...)

Compute camera->ECI quaternion for velocity-vector pointing.

quaternion_wxyz([qw, qx, qy, qz])

quaternion

teme_to_gcrs_vector(r_teme_km, obs_time)

Convert a TEME position vector to GCRS (ECI) using Astropy.

cam_attitude: Attitude = None
cam_to_eci()[source]
property quat_cam_to_eci
classmethod quaternion_nadir_pointing(r_eci_km)[source]

Compute camera->ECI quaternion for nadir pointing. r_eci_km: satellite position in ECI (km), shape (3,)

Returns: quaternion [w, x, y, z]

classmethod quaternion_pointing_ground(lat_deg, lon_deg, obs_time, r_sat_gcrs_km)[source]

Compute camera->ECI quaternion that points +Z_cam at a ground location. lat_deg, lon_deg: ground target in degrees r_sat_gcrs_km: satellite position in GCRS (km)

classmethod quaternion_pointing_radec(ra_deg, dec_deg, obs_time)[source]

Compute camera->ECI quaternion that points +Z_cam at a given RA/Dec target.

classmethod quaternion_velocity_pointing(r_eci_km, v_eci_km_s)[source]

Compute camera->ECI quaternion for velocity-vector pointing. r_eci_km: satellite position in ECI (km) v_eci_km_s: satellite velocity in ECI (km/s)

Returns: quaternion [w, x, y, z]

classmethod quaternion_wxyz(qw: float = 1.0, qx: float = 0.0, qy: float = 0.0, qz: float = 0.0) Quaternion[source]

quaternion

sat_attitude: Attitude = None
sat_quat_body_to_eci: Quaternion = None
classmethod teme_to_gcrs_vector(r_teme_km, obs_time)[source]

Convert a TEME position vector to GCRS (ECI) using Astropy. r_teme_km: (3,) km vector Returns: (3,) km vector in GCRS

class SatelliteCameraViewer.SatelliteCamera.CameraAttitude.Quaternion(qw: float = 1.0, qx: float = 0.0, qy: float = 0.0, qz: float = 0.0)[source]

Bases: object

A satellite quaternion body (or attitude quaternion) is a 4-component mathematical tool q = [q0,q1,q2,q3] or q = [s,v] used to represent the 3D orientation (attitude) of a satellite’s body-fixed frame relative to a reference frame. https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

Attributes:
w
wxyz
x
y
z
qw: float = 1.0
qx: float = 0.0
qy: float = 0.0
qz: float = 0.0
property w
property wxyz
property x
property y
property z