satsim.generator.obs package — SatSim 0.13.0 documentation

# 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
                  ]
              }
          }
      }