midgard.data
midgard.data._h5utils
Simple utilities used by Dataset when dealing with HDF5 files
dict2h5attr()
Full name: midgard.data._h5utils.dict2h5attr
Signature: (dct:Dict[str, str]) -> str
Convert a dictionary to a string that can be stored as an HDF5 attribute
h5attr2dict()
Full name: midgard.data._h5utils.h5attr2dict
Signature: (attr:str) -> List[str]
Convert an HDF5 attribute to a dictionary of strings
h5attr2list()
Full name: midgard.data._h5utils.h5attr2list
Signature: (attr:str) -> List[str]
Convert an HDF5 attribute to a list of strings
h5attr2tuple()
Full name: midgard.data._h5utils.h5attr2tuple
Signature: (attr:str) -> Tuple[str, ...]
Convert an HDF5 attribute to a list of strings
sequence2h5attr()
Full name: midgard.data._h5utils.sequence2h5attr
Signature: (lst:Sequence[str]) -> str
Convert a list to a string that can be stored as an HDF5 attribute
midgard.data._position
Module for dealing with positions, velocities and position corrections in different coordinate systems
PosBase
Full name: midgard.data._position.PosBase
Signature: ()
Base class for the various position and velocity arrays
PosVelArray
Full name: midgard.data._position.PosVelArray
Signature: (val, ellipsoid=Ellipsoid(name='GRS80', a=6378137, f_inv=298.257222101, description='Used by ITRS'), **pos_args)
Base class for Position and Velocity arrays
This PosVelArray should not be instantiated. Instead instantiate one of the system specific subclasses, typically using the Position factory function.
PosVelDeltaArray
Full name: midgard.data._position.PosVelDeltaArray
Signature: (val, ref_pos, **delta_args)
Base class for position and velocity deltas
This PosVelDeltaArray should not be instantiated. Instead instantiate one of the system specific subclasses, typically using the PositionDelta factory function.
PositionArray
Full name: midgard.data._position.PositionArray
Signature: (val, ellipsoid=Ellipsoid(name='GRS80', a=6378137, f_inv=298.257222101, description='Used by ITRS'), **pos_args)
Base class for Position arrays
This PositionArray should not be instantiated. Instead instantiate one of the system specific subclasses, typically using the Position factory function.
PositionDeltaArray
Full name: midgard.data._position.PositionDeltaArray
Signature: (val, ref_pos, **delta_args)
Base class for position deltas
This PositionDeltaArray should not be instantiated. Instead instantiate one of the system specific subclasses, typically using the PositionDelta factory function.
VelocityArray
Full name: midgard.data._position.VelocityArray
Signature: (val, ref_pos, **vel_args)
Base class for Velocity arrays
This VelocityArray should not be instantiated. Instead instantiate one of the system specific subclasses. The intended usage will be through a PosVelArray
VelocityDeltaArray
Full name: midgard.data._position.VelocityDeltaArray
Signature: (val, ref_pos, **vel_args)
Base class for Velocity arrays
This VelocityArray should not be instantiated. Instead instantiate one of the system specific subclasses. The intended usage will be through a PosVelArray
register_attribute()
Full name: midgard.data._position.register_attribute
Signature: (cls:Callable, name:str, attr_cls:Callable) -> None
Function used to register new attributes on position arrays
The registered attributes will be available as attributes on PositionArray and its subclasses. In addition, each attribute can be given as a parameter when creating a PositionArray.
The reason for using this register-function instead of a regular attribute is to allow additional attributes to be added on all position systems.
Args:
cls
: Name of class to register the attribute forname
: Name of attributeattr_cls
: Class of attribute
register_field()
Full name: midgard.data._position.register_field
Signature: (units:List[str]) -> Callable
Decorator used to register fields and their units
register_system()
Full name: midgard.data._position.register_system
Signature: (convert_to:Dict[str, Callable]=None, convert_from:Dict[str, Callable]=None) -> Callable[[Callable], Callable]
Decorator used to register new position systems
The system name is read from the .system attribute of the Position class.
Args:
convert_to
: Functions used to convert to other systems.convert_from
: Functions used to convert from other systems.
Returns:
Decorator registering system.
midgard.data._time
Array with time epochs
TimeArray
Full name: midgard.data._time.TimeArray
Signature: (val, val2=None, format='', _jd1=None, _jd2=None)
register_scale()
Full name: midgard.data._time.register_scale
Signature: (convert_to:Dict[str, Callable]=None, convert_from:Dict[str, Callable]=None) -> Callable[[Callable], Callable]
Decorator used to register new time scales
The scale name is read from the .scale attribute of the Time class.
Args:
convert_to
: Functions used to convert to other scales.convert_from
: Functions used to convert from other scales.
Returns:
Decorator registering scale.
midgard.data._time_formats
Array with time epochs
TimeDateTime
Full name: midgard.data._time_formats.TimeDateTime
Signature: (val, val2=None)
TimeFormat
Full name: midgard.data._time_formats.TimeFormat
Signature: (val, val2=None)
TimeGPSWeekSec
Full name: midgard.data._time_formats.TimeGPSWeekSec
Signature: (val, val2=None)
GPS weeks and seconds.
TimeJD
Full name: midgard.data._time_formats.TimeJD
Signature: (val, val2=None)
TimeMJD
Full name: midgard.data._time_formats.TimeMJD
Signature: (val, val2=None)
Modified Julian Date time format.
This represents the number of days since midnight on November 17, 1858. For example, 51544.0 in MJD is midnight on January 1, 2000.
TimeYear
Full name: midgard.data._time_formats.TimeYear
Signature: (val, val2=None)
Year.
TODO: conversion is not correct!!!
register_format()
Full name: midgard.data._time_formats.register_format
Signature: (cls:Callable) -> Callable
Decorator used to register new time formats
The format name is read from the .format attribute of the TimeFormat class.
midgard.data._time_scales
Time scales and conversions between them
GpsTime
Full name: midgard.data._time_scales.GpsTime
Signature: (val, val2=None, format='', _jd1=None, _jd2=None)
TaiTime
Full name: midgard.data._time_scales.TaiTime
Signature: (val, val2=None, format='', _jd1=None, _jd2=None)
TtTime
Full name: midgard.data._time_scales.TtTime
Signature: (val, val2=None, format='', _jd1=None, _jd2=None)
UtcTime
Full name: midgard.data._time_scales.UtcTime
Signature: (val, val2=None, format='', _jd1=None, _jd2=None)
midgard.data.dataset
A dataset for handling time series data
Description:
Dataset
Full name: midgard.data.dataset.Dataset
Signature: (num_obs:int=0) -> None
A dataset representing fields of data arrays
Meta
Full name: midgard.data.dataset.Meta
Signature: (*args, **kwargs)
field_type (str)
field_type = 'time'
midgard.data.fieldtypes
Field types that can be used by Dataset
function()
Full name: midgard.data.fieldtypes.function
Signature: (plugin_name:str) -> Callable
Function creating new field
names()
Full name: midgard.data.fieldtypes.names
Signature: () -> List[str]
Names of fieldtype plugins
midgard.data.fieldtypes._fieldtype
Abstract class used to define different types of tables for a Dataset
FieldType
Full name: midgard.data.fieldtypes._fieldtype.FieldType
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
Abstract class representing a type of field in the Dataset
midgard.data.fieldtypes.collection
A Dataset collection field consisting of other fields
Collection
Full name: midgard.data.fieldtypes.collection.Collection
Signature: ()
CollectionField
Full name: midgard.data.fieldtypes.collection.CollectionField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.float
A Dataset float field
FloatField
Full name: midgard.data.fieldtypes.float.FloatField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.position
A Dataset position field
PositionField
Full name: midgard.data.fieldtypes.position.PositionField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.position_delta
A Dataset position delta field
PositionDeltaField
Full name: midgard.data.fieldtypes.position_delta.PositionDeltaField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.posvel
A Dataset position field
PositionField
Full name: midgard.data.fieldtypes.posvel.PositionField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.posvel_delta
A Dataset position delta field
PositionDeltaField
Full name: midgard.data.fieldtypes.posvel_delta.PositionDeltaField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.sigma
A Dataset sigma field
SigmaField
Full name: midgard.data.fieldtypes.sigma.SigmaField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.text
A Dataset text field
TextField
Full name: midgard.data.fieldtypes.text.TextField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.fieldtypes.time
A Dataset time field
TimeField
Full name: midgard.data.fieldtypes.time.TimeField
Signature: (num_obs, name, val, unit=None, write_level=None, **field_args)
midgard.data.position
Array with positions
EnuPosVelDelta
Full name: midgard.data.position.EnuPosVelDelta
Signature: (val, ref_pos, **delta_args)
EnuPositionDelta
Full name: midgard.data.position.EnuPositionDelta
Signature: (val, ref_pos, **delta_args)
EnuVelocityDelta
Full name: midgard.data.position.EnuVelocityDelta
Signature: (val, ref_pos, **vel_args)
LlhPosition
Full name: midgard.data.position.LlhPosition
Signature: (val, ellipsoid=Ellipsoid(name='GRS80', a=6378137, f_inv=298.257222101, description='Used by ITRS'), **pos_args)
PosVel()
Full name: midgard.data.position.PosVel
Signature: (val:numpy.ndarray, system:str, **pos_args:Any) -> 'PosVelArray'
Factory for creating PosVelArrays for different systems
See each position class for exact optional parameters.
Args:
val
: Array of position values.system
: Name of position system.pos_args
: Additional arguments used to create the PosVelArray.
Returns:
Array with positions in the given system.
PosVelDelta()
Full name: midgard.data.position.PosVelDelta
Signature: (val:numpy.ndarray, system:str, ref_pos:midgard.data._position.PosVelArray, **delta_args:Any) -> midgard.data._position.PosVelDeltaArray
Factory for creating PosVelArrays for different systems
See each position class for exact optional parameters.
Args:
val
: Array of position values.system
: Name of position system.ref_pos
: Reference position.delta_args
: Additional arguments used to create the PosVelArray.
Returns:
Array with positions in the given system.
Position()
Full name: midgard.data.position.Position
Signature: (val:numpy.ndarray, system:str, **pos_args:Any) -> 'PositionArray'
Factory for creating PositionArrays for different systems
See each position class for exact optional parameters.
Args:
val
: Array of position values.system
: Name of position system.pos_args
: Additional arguments used to create the PositionArray.
Returns:
Array with positions in the given system.
PositionDelta()
Full name: midgard.data.position.PositionDelta
Signature: (val:numpy.ndarray, system:str, ref_pos:midgard.data._position.PositionArray, **delta_args:Any) -> midgard.data._position.PositionDeltaArray
Factory for creating PositionArrays for different systems
See each position class for exact optional parameters.
Args:
val
: Array of position values.system
: Name of position system.ref_pos
: Reference position.delta_args
: Additional arguments used to create the PositionArray.
Returns:
Array with positions in the given system.
TrsPosVel
Full name: midgard.data.position.TrsPosVel
Signature: (val, ellipsoid=Ellipsoid(name='GRS80', a=6378137, f_inv=298.257222101, description='Used by ITRS'), **pos_args)
TrsPosVelDelta
Full name: midgard.data.position.TrsPosVelDelta
Signature: (val, ref_pos, **delta_args)
TrsPosition
Full name: midgard.data.position.TrsPosition
Signature: (val, ellipsoid=Ellipsoid(name='GRS80', a=6378137, f_inv=298.257222101, description='Used by ITRS'), **pos_args)
TrsPositionDelta
Full name: midgard.data.position.TrsPositionDelta
Signature: (val, ref_pos, **delta_args)
TrsVelocity
Full name: midgard.data.position.TrsVelocity
Signature: (val, ref_pos, **vel_args)
TrsVelocityDelta
Full name: midgard.data.position.TrsVelocityDelta
Signature: (val, ref_pos, **vel_args)
midgard.data.sigma
Array with sigma values
See https://docs.scipy.org/doc/numpy/user/basics.subclassing.html for information about subclassing Numpy arrays.
SigmaArray is a regular Numpy array with an added field, sigma.
SigmaArray
Full name: midgard.data.sigma.SigmaArray
Signature: (values, sigma=None)
midgard.data.time
Array with time epochs
Time()
Full name: midgard.data.time.Time
Signature: (val:numpy.ndarray, scale:str, format:str, val2:Union[numpy.ndarray, NoneType]=None, _jd1:Union[numpy.ndarray, NoneType]=None, _jd2:Union[numpy.ndarray, NoneType]=None) -> 'TimeArray'
Factory for creating TimeArrays for different systems
See each time class for exact optional parameters.
Args:
val
: Array of time values.val2
: Optional second array for extra precision.scale
: Name of time scale.format
: Format of values given in val and val2.
Returns:
Array with epochs in the given time scale and format