curryer.kernels.attitude

attitude

@author: Brandon Stone

Attributes

Classes

AttitudeTypes

Attitude kernel types.

AttitudeInputDataTypes

Attitude input data types.

AttitudeWriterTimeTypes

Attitude writer time types.

AttitudeAngularRateTypes

Attitude angular rate types.

AbstractAttitudeProperties

Attitude kernel common properties.

AttitudeQuaternionProperties

Attitude quaternion kernel properties.

AttitudeEulerProperties

Attitude euler angle kernel properties.

AttitudeWriter

Create or append to a SPICE attitude (CK) kernel.

Module Contents

curryer.kernels.attitude.logger
class curryer.kernels.attitude.AttitudeTypes(*args, **kwds)

Bases: enum.Enum

Attitude kernel types. Note: msopck only supports types 1, 2 & 3.

DISCRETE_QUAT_AND_RATE = 1
CONTINUOUS_QUAT_AND_FIXED_RATE = 2
LINEAR_QUAT = 3
POLYNOMIAL_QUAT_AND_OPTIONAL_RATE = 4
class curryer.kernels.attitude.AttitudeInputDataTypes(*args, **kwds)

Bases: enum.Enum

Attitude input data types.

SPICE_QUAT = 'SPICE QUATERNIONS'
MSOP_QUAT = 'MSOP QUATERNIONS'
FLIPSIGN_QUAT = 'FLIP SPICE QUATERNIONS'
EULER_ANGLES = 'EULER ANGLES'
class curryer.kernels.attitude.AttitudeWriterTimeTypes(*args, **kwds)

Bases: enum.Enum

Attitude writer time types.

SCLK = 'SCLK'
UTC = 'UTC'
TICKS = 'TICKS'
DSCLK = 'DSCLK'
ET = 'ET'
class curryer.kernels.attitude.AttitudeAngularRateTypes(*args, **kwds)

Bases: enum.Enum

Attitude angular rate types.

PRESENT = 'YES'
NOT_PRESENT = 'NO'
MAKE_UP_AVG = 'MAKE UP'
MAKE_UP_NO_AVG = 'MAKE UP/NO AVERAGING'
class curryer.kernels.attitude.AbstractAttitudeProperties

Bases: curryer.kernels.classes.AbstractKernelProperties

Attitude kernel common properties.

SUPPORTED_INPUT_DATA_TYPES: ClassVar = None
input_body: curryer.spicierpy.obj.AnyBodyOrFrame = None
input_frame: curryer.spicierpy.obj.Frame = None
input_time_type: str = 'ugps'
input_data_type: curryer.kernels.classes.TypedDataDescriptor
input_angular_rate: curryer.kernels.classes.TypedDataDescriptor
input_time_columns: list[str] = ['ugps']
input_data_columns: list[str] = None
input_rate_columns: list[str] = ['rate_x', 'rate_y', 'rate_z']
ck_type: curryer.kernels.classes.TypedDataDescriptor
down_sample_tolerance: float = None
leapsecond_kernel: str = None
frame_kernel: str = None
clock_kernel: str = None
create_clock: bool = False
writer_time_type: curryer.kernels.classes.TypedDataDescriptor
__post_init__()
to_dict()

Convert the properties class to a dict for creating kernels.

class curryer.kernels.attitude.AttitudeQuaternionProperties

Bases: AbstractAttitudeProperties

Attitude quaternion kernel properties.

SUPPORTED_INPUT_DATA_TYPES: ClassVar
input_data_columns: list[str] = ['quaternion_c', 'quaternion_x', 'quaternion_y', 'quaternion_z']
class curryer.kernels.attitude.AttitudeEulerProperties

Bases: AbstractAttitudeProperties

Attitude euler angle kernel properties.

SUPPORTED_INPUT_DATA_TYPES: ClassVar
input_data_type: curryer.kernels.classes.TypedDataDescriptor
input_rotations_order: list[str] = ['X', 'Y', 'Z']
input_rotations_type: str = 'SPACE'
input_angle_units: str = 'DEGREES'
input_data_columns: list[str] = ['angle_x', 'angle_y', 'angle_z']
to_dict()

Convert the properties class to a dict for creating kernels.

class curryer.kernels.attitude.AttitudeWriter(properties: AbstractAttitudeProperties, **kwargs)

Bases: curryer.kernels.classes.AbstractKernelWriter

Create or append to a SPICE attitude (CK) kernel.

Notes

Kernel configuration arguments set by this class:
  • TODO

KTYPE = 'ck'
FILE_EXT = '.bc'
properties
prepare_input_data(input_data: pandas.DataFrame) list[pandas.DataFrame]

Prepare an accessor that will provide input data for the kernel.

write_input_data(fobj_or_str, input_data: pandas.DataFrame)

Write input data.

_write_kernel(setup_file, input_file, kernel_file, append=False)

Setup the command to create a “CK” kernel using the external tool “msopck”.

Parameters:
  • setup_file (str) – Setup file containing kernel creation properties (see “msopck”).

  • input_file (str) – Input data file to create kernel from.

  • kernel_file (str) – Kernel filename to create.

  • append (bool, optional) – Not supported by msopck (auto-appends). Public wrappers methods add support for not appending.

Returns:

List of subprocess commands and arguments.

Return type:

list of str

curryer.kernels.attitude.PROPERTIES_TO_WRITER