EclairsOrbit¶
-
class
EclairsOrbit(orbit_filename=None, attitude_filename=None)[source]¶ Bases:
objectManage orbital aspects for the SVOM mission.
Constructor
Parameters: - orbit_filename (str) – name of the orbit .fits file
- attitude_filename (str) – name of the attitude .fits file
Methods Summary
compute_earth_frac(open_fov_map)Compute earth fraction in FOV; earth_position([position, quater, idx_row])Return Earth angular position (theta_E, phi_E) in field of view. get_field(field)Get field column from already loaded data. is_earth_in_fov([position, quater, idx_row])Check whether Earth appears in the instrument FOV. is_in_saa()Check whether the satellite is in the South Atlantic Anomaly (SAA). limb_angle([position, idx_row])Compute alpha limb angle at different times so as to determine whether a given pixel falls on the Earth surface or not. open_fov_map([position, quater, idx_row])Create the open field of view map, ie. Methods Documentation
-
compute_earth_frac(open_fov_map)[source]¶ Compute earth fraction in FOV;
Parameters: open_fov_map (array(bool)) – sky map with directions occulted by Earth Returns: earth fraction Return type: float
-
earth_position(position=None, quater=None, idx_row=None)[source]¶ Return Earth angular position (theta_E, phi_E) in field of view.
See section 9.1 (p.50/65) in SV-SY-NT-242-JPO document (v4). See mail/code from Sujay 17 Sept 2019
Note
transformation (dir, elev) <-> (theta, phi) is
theta = 90 - elev and phi = dir.
Parameters: position – instrument position (X, Y, Z) in geocentric frame. Assume coordinates are given in km. Default is None. :type position: array :param quater: quaternion (q0, q1, q2, q3). Default is None. :type quater: array :param n: row index in astropy table. Default is None. :type n: int :return: unit vector pointing to the center of the Earth in FOV frame :rtype: array(float) of shape (3,)
-
get_field(field)[source]¶ Get field column from already loaded data.
Parameters: field (str) – name of the required field
-
is_earth_in_fov(position=None, quater=None, idx_row=None)[source]¶ Check whether Earth appears in the instrument FOV.
documentation: * simulation_correction_cxb_earth_15_05_2020_v2_alg.pdf (version 2) p.6 * simulation_correction_pipeline_cxb_earth_15_05_2020_v2_pb.pdf (version 2) p.3
Parameters: position – instrument position (X, Y, Z) in geocentric frame. Assume coordinates are given in km. Default is None. :type position: array :param quater: quaternion (q0, q1, q2, q3). Default is None. :type quater: array :param idx_row: row index in astropy table. Default is None. :type idx_row: int :return: if Earth is in FOV :rtype: bool
-
is_in_saa()[source]¶ Check whether the satellite is in the South Atlantic Anomaly (SAA).
Note
likely to be provided by a .fits file. No need to be recomputed.
-
limb_angle(position=None, idx_row=None)[source]¶ Compute alpha limb angle at different times so as to determine whether a given pixel falls on the Earth surface or not.
Limb angle is defined to be the angle between the earth direction and a tangent line (see AlG slides for scheme and maths)
documentation: * simulation_correction_cxb_earth_15_05_2020_v2_alg.pdf (version 2) p.5 * simulation_correction_pipeline_cxb_earth_15_05_2020_v2_pb.pdf (version 2) p.3
Parameters: position – instrument position (X, Y, Z) in geocentric frame. Assume coordinates are given in km. Default is None. :type position: array :param idx_row: row index in astropy table. Default is None. :type idx_row: int :return: limb angle in degrees :rtype: float
-
open_fov_map(position=None, quater=None, idx_row=None)[source]¶ Create the open field of view map, ie. a detector size array (199x199) filled with 0 and 1. Each pixel value is 0 if Earth is present in the LoS and 1 otherwise.
docstring TBC
Parameters: idx_row (int) – row index in astropy table Returns: open fov 199x199 map Return type: 2D array(bool)