satsim.generator.obs package
Submodules
satsim.generator.obs.breakup module
- satsim.generator.obs.breakup.breakup_from_tle(tle, breakup_time, radius=37.5, breakup_velocity=108, n=100, target_mv_scale=[0.5, 2.0], target_mv=12.0, offset=[0.0, 0.0], breakup_time_offset=0.0, variable_brightness=True)
Generates a breakup configuration from the input tle.
- Parameters:
tle – array, an array containing the SGP4 two line element set.
breakup_time – array, UCT time as year, month, day, hour, minute, seconds.
radius – float, one sigma breakup cone radius in degrees. default=37.5
breakup_velocity – float, the relative velocity of generated particles in km/s. default=108
n – array, number of particles to generate. default=100
target_mv_scale – array, brightness of target and total brightness of generated particles after breakup. scale based on original target brightness. default=[0.5,2.0]
offset – array, row column offset of target position on fpa in normalized coordinates. default=12
breakup_time_offset – float, number of seconds to offset breakup time from breakup. default=[0,0]
variable_brightness – boolean, if True randomly assign sine variable brightness between 0 to 1 hz. default=True
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.breakup", "function": "breakup_from_tle", "kwargs": { "n": 39, "tle": { "ref": "geometry.site.track.tle" }, "breakup_time": { "ref": "geometry.time" }, "breakup_time_offset": 2.0256606954447602, "breakup_velocity": 0.01, "radius": 35.38582838190615, "target_mv": 7.906961060952362, "target_mv_scale": [ 0.8199894271217592, 0.7148000784383131 ], "offset": [ -0.2808046122089142, 0.05683173727181447 ], "variable_brightness": false } } }
- satsim.generator.obs.breakup.collision_from_tle(tle, collision_time, radius=37.5, K=0.5, attack_angle='random', attack_velocity=None, attack_velocity_scale=1.0, n=[100, 100], target_mv_scale=[0.5, 2.0], rpo_mv_scale=[0.5, 2.0], target_mv=12.0, rpo_mv=12.0, offset=[0.0, 0.0], collision_time_offset=0.0, variable_brightness=True, fragment_angle='random', scale_fragment_velocity=False)
Generates a two object collision configuration from the input tle.
- Parameters:
tle – array, an array containing the SGP4 two line element set.
collision_time – array, UCT time as year, month, day, hour, minute, seconds.
radius – float, one sigma breakup cone radius in degrees. default=37.5
K – array or `float, one sigma velocity transfer multiplier from colliding object. default=0.5
attack_angle – string, random or retrograde. default=’random’
attack_velocity – float, the relative velocity magnitude of colliding object in km/s, if None then make equal to target velocity magnitude. default=None
attack_velocity_scale – float, scale attack_velocity by this number. default=1.0
n – array, number of particles to generate from target and colliding object. default=[100,100]
target_mv_scale – array, brightness of target and total brightness of generated particles after collision. scale based on original target brightness. default=[0.5,2.0]
rpo_mv_scale – array, brightness of colliding target and total brightness of generated particles after collision. scale based on original colliding target brightness. default=[0.5,2.0]
target_mv – float, brightness of target before collision in visual magnitude. default=12
rpo_mv – float, brightness of colliding object before collision in visual magnitude. default=12
offset – array, row column offset of target position on fpa in normalized coordinates. default=[0,0]
collision_time_offset – float, number of seconds to offset collision time from collision_time. default=0
variable_brightness – boolean, if True randomly assign sine variable brightness between 0 to 1 hz. default=True
fragment_angle – string, specified the fragment angle sampling. random or linspace. default=`random`
scale_fragment_velocity – boolean, if True scale the fragment velocity by cosine of the exit velocity. default=`false`
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.breakup", "function": "collision_from_tle", "kwargs": { "n": [ 237, 122 ], "tle": { "ref": "geometry.site.track.tle" }, "collision_time": { "ref": "geometry.time" }, "collision_time_offset": 1.1863922763597272, "K": 0.2717057721240569, "attack_angle": "random", "attack_velocity_scale": 0.2050451649939875, "radius": 24.32114494260032, "target_mv": 8.455948844613438, "rpo_mv": 8.507130983802519, "target_mv_scale": [ 0.09979647598905288, 1.1819183509832407 ], "rpo_mv_scale": [ 0.26064801046837316, 1.2893265228436015 ], "offset": [ 0.1736509022094605, 0.22670133968196546 ], "variable_brightness": true } } }
satsim.generator.obs.cso module
- satsim.generator.obs.cso.one(origin=[0.5, 0.5], velocity=[0.0, 0.0], mv=[15.0, 16.0], separation=0.01)
Generates two objects that are spaced by separation.
- Parameters:
origin – array, row and column coordinate in normalized image space
velocity – array, row and column velocity in pixel per second
mv – array, brightness of object 1 and object 2
separation – float, distance between object in normalized image space
Example usage in SatSim configuration:
"obs": { "mode": "list", "sample": "random.list", "length": { "sample": "random.randint", "low": 0, "high": 15 }, "list": { "generator": { "module": "satsim.generator.obs.cso", "function": "one", "kwargs": { "origin": [ { "sample": "random.uniform", "low": 0.05, "high": 0.95 }, { "sample": "random.uniform", "low": 0.05, "high": 0.95 } ], "velocity": [ { "sample": "random.uniform", "low": -1.0, "high": 1.0 }, { "sample": "random.uniform", "low": -1.0, "high": 1.0 } ], "mv": [ { "sample": "random.uniform", "low": 12.5, "high": 15.5 }, { "sample": "random.uniform", "low": 12.5, "high": 15.5 } ], "separation": { "sample": "random.uniform", "low": -0.02, "high": 0.02 } } } } }
satsim.generator.obs.geometry module
- satsim.generator.obs.geometry.circle(n=10, origin=[0.5, 0.5], velocity=0.01, mv=1.0, t=0.0)
Generates objects that emanate from a point at equal angles.
- Parameters:
n – int, number of objects
origin – array, row and column coordinate in normalized image space
velocity – float, velocity in pixel per second
mv – float, brightness of each object
t – t, seconds elapsed from epoch
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.geometry", "function": "circle", "kwargs": { "n": 100, "t": 0, "velocity": 1.0 "origin": [0.5, 0.5], "mv": 15.0 } } }
- satsim.generator.obs.geometry.cone(n=10, origin=[0.5, 0.5], velocity=[3.0, 5.0], direction=[0.0, 15.0], mv=[10.0, 16.0], t=0.0, target_mv=15.0, rpo_mv=15.0, collision_time=30.0)
Generates objects that emanate from a point in a random normal distribution about angle direction[0].
- Parameters:
n – int, number of objects
origin – array, row and column coordinate in normalized image space
velocity – array, mean velocity and sigma expressed as velocity[0] / velocity[1] of normal distribution in pixel per second
direction – array, mean direction and sigma of normal distribution in degrees
mv – array, min and max visual magnitude of a uniform distribution
t – t, seconds elapsed from epoch
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.geometry", "function": "cone", "kwargs": { "n": { "sample": "random.randint", "low": 500, "high": 1000 }, "t": 0, "origin": [ { "sample": "random.uniform", "low": 0.2, "high": 0.8 }, { "sample": "random.uniform", "low": 0.2, "high": 0.8 }], "direction": [ { "sample": "random.uniform", "low": 0, "high": 360 }, { "sample": "random.uniform", "low": 10, "high": 30 }], "velocity": [ { "sample": "random.uniform", "low": 1.0, "high": 5.0}, { "sample": "random.uniform", "low": 3.0, "high": 5.0 }], "mv": [15.0, 17.0] } } }
- satsim.generator.obs.geometry.sphere(n=10, origin=[0.5, 0.5], velocity=[0.01, 5.0], mv=[10.0, 16.0], t=0.0)
Generates objects that emanate from a point at random angles.
- Parameters:
n – int, number of objects
origin – array, row and column coordinate in normalized image space
velocity – array, mean velocity and sigma of a normal distribution in pixel per second
mv – array, min and max visual magnitude of a uniform distribution
t – t, seconds elapsed from epoch
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.geometry", "function": "sphere", "kwargs": { "n": { "sample": "random.randint", "low": 500, "high": 1000 }, "t": 0, "origin": [ { "sample": "random.uniform", "low": 0.2, "high": 0.8 }, { "sample": "random.uniform", "low": 0.2, "high": 0.8 }], "velocity": [ { "sample": "random.uniform", "low": 0.0, "high": 1.0}, { "sample": "random.uniform", "low": 3.0, "high": 10.0 }], "mv": [15.0, 17.0] } } }
satsim.generator.obs.io module
- satsim.generator.obs.io.tle_file(filename, lines=3, mv=[10.0, 16.0])
Generates SGP4 objects from a tle file.
- Parameters:
filename – str, path to file
lines – int, number of lines per object. 2 or 3.
mv – array, min and max brightness from uniform distribution
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.io", "function": "tle_file", "kwargs": { "filename": "./tle.txt", "lines": 2, "mv": [10.0, 15.0] } } }
satsim.generator.obs.rpo module
- satsim.generator.obs.rpo.rpo_from_tle(tle, epoch, delta_distance=5, delta_position_direction='random', delta_velocity=0, delta_velocity_direction='random', target_mv=12.0, rpo_mv=12.0, offset=[0.0, 0.0])
Generates an rpo from the input tle.
- Parameters:
tle – array, an array containing the SGP4 two line element set.
epoch – array, UCT time as year, month, day, hour, minute, seconds.
delta_distance – float, distance to position rpo away from target in km. default=5
delta_position_direction – string or array, “random” or [x,y,z] direction vector. default=”random”
delta_velocity – float, delta velocity between target and rpo in km/s. default=0
delta_velocity_direction – string or array, “random” or [x,y,z] direction vector. default=”random”
target_mv – float, brightness of target before collision in visual magnitude. default=12
rpo_mv – float, brightness of colliding object before collision in visual magnitude. default=12
offset – array, row column offset of target position on fpa in normalized coordinates. default=[0,0]
Example usage in SatSim configuration:
"obs": { "generator": { "module": "satsim.generator.obs.rpo", "function": "rpo_from_tle", "kwargs": { "tle": { "ref": "geometry.site.track.tle" }, "epoch": { "ref": "geometry.time" }, "delta_distance": 1.5, "delta_position_direction": [0, 1, 0], "delta_velocity": 0.001, "delta_velocity_direction": "random", "target_mv": 12.0, "rpo_mv": 15.0, "offset": [ 0.1736509022094605, 0.22670133968196546 ] } } }