Package: satsim
SatSimSatSim source code was developed under contract with ARFL/RDSM, and is approved for public release under Public Affairs release approval
#AFRL-2022-1116.SatSim is a high fidelity space surveillance optical scene simulation environment built on top of TensorFlow to utilize the speed of CUDA GPUs. SatSim is capable of generating synthetic observation data for SatNet, a deep learning platform for satellite object detection, and can provide users with nearly limitless labeled data. SatSim allows for systematic changes in the synthetic data, such as object brightness and star drift rate. The synthetic data is useful for training deep learning models. The synthetic data can also be used for model evaluation, characterizing performance metrics such as false alarm rate and minimum detectable target (MDT).![SatSim Example](satsim.jpg)Documentation[Installation](docs/installation.rst)[Usage](docs/usage.rst)[Developers](CONTRIBUTING.rst#getting-started)Versions[History](HISTORY.md)History0.17.1Copy useful TensorFlow Addon (TFA) functions intotfaas the TFA project is no longer maintained.Copy tests.0.17.0Add JSON schema definitions. Seeschema/v1/Document.jsonfor root schema file.Add observation object type.Add support for cropped sensors.Add altitude to site object. Set sitealtparameter in km. Default is 0.0.16.0Add option to annotate stars. Set sim optionstar_annotation_thresholdto the minimum star brightness magnitude orfalseto disable. Disabled by default.Add option to show annotated stars in annotated images. Set sim optionshow_star_boxestotrueto enable.0.15.1Remove clipping of negative values in ground truth files by default.Fix missing dependencies for ground truth file generation.0.15.0Add support to save ground truth image data to the Annotations directory. Set sim optionsave_ground_truthtotrue.Add support for running on CPU with no GPU acceleration.Add CZML options for sensor visualization and object billboard image.0.14.0Add vector math library.Add CZML output for sensor visualization.Fix objects not updating properly when image renderer is off.0.13.1Add argument to set folder name ingen_multi.Add environment variable,SATSIM_SKYFIELD_LOAD_DIR, to specify location of Skyfield ephemeris files.Fix incorrect CZML output when image renderer is off.0.13.0Add ephemeris objects that are propagated with the Lagrange interpolator.Add Cesium CZML output. Set sim optionsave_czmltofalseto disable.Add CSV text file star catalog loader. This feature is useful for small catalogs such as Hipparcos and simulating wide FOV sensors.Add multiplier and clipping for radial cosine.Add option to skip image rendering. Set sim optionmodetononeto bypass image rendering.Update interfaces for newest version of Skyfield, Poliastro, POPPY, and AstroPy.Fix star renderer issue removing stars in field of view for non-square arrays.0.12.0Add augmentation of SatNettf.data.Dataset. This feature allows injecting synthetic targets into real data during training.Add FFT convolution toadd_patchsprite render andscatter_shiftimage augmenter for speed improvement.Add cache last PSF FFT tofftconv2pfor speed improvement for static PSFs.Add two-body state vector as a trackable target.Add moon and sun model and misc methods to calculate phase angle and target brightness.0.11.0Add support to render star motion with FFT. Set sim optionstar_render_modetofft.Add option to sample photon noise multiple times. Set sim optionnum_shot_noise_samplesto integer number.Add support to render a satellite as a sprite. Setmodeloption in obs.Add support to load and augment sprite model with$pipelineoperator.Add cropped POPPY PSF generation.Fix GreatCircle propagator tracking offset.Fix runtime exception when site and track_mode are not defined.Add TensorFlow 2.6 and update TensorFlow 2.2 and 2.4 Docker build file.0.10.0Add support for piecewise rendering. Set sim optionrender_sizeto enable. For example, [256, 256].Addfixedtracking mode with mount azimuth and elevation.Add great circle propagator for targets.Add in-memory image generation. See generator functionimage_generator.Fix missing stars when FOV crosses zero degree RA.Add curved targets using bezier curve raster. Enabled by default. Set sim optionnum_target_samplesto 2 to enable linear raster.Add LRU cache to star catalog reader.Add option to turn off SNR calculation. Set sim optioncalculate_snrto false will render targets and stars together.Handle unstable SGP4 TLEs.Add TensorFlow 2.4 Docker build file.Add debug output for pristine images of targets and stars.0.9.1Calculate POPPY input wavefront resolution to avoid PSF aliasing.Add support for additional FITS image data types (int16,uint16,int32,uint32,float32).Add batch processing totransform_and_add_countsto support batch processing of stars.Addautooption to calculate temporal oversample factor based on star velocities.Add option to turn off serializing config data to pickle file (save_pickle).Add option to turn off png movie output (save_movie).Addcrop_and_resizeandflipimage augmentation.Set pixels with values beyond the pixel data type’s capacity to the maximum value for that data type.Addlognormalfunction to generate a distribution with a true target mean.Fix issue with sidereal track.Fix issue with fragment velocity not being randomly sampled.0.9.0Add Physical Optics Propagation in Python (POPPY) PSF generation.Add PSF augmentation with$pipelinereplacement key.Add$functionand$compoundreplacement key.Add ability to generate stray light from a$functionreplacement key.Add built-in 2D polynomial image generator for stray light,polygrid2d.Add built-in cosine fourth image generator for irradiance falloff,radial_cos2d.Add built-in sine wave image generator for fix pattern noise,sin2d.Add built-in image generator from AstroPy model,astropy_model2d.Add built-in image augmentation,scatter_shiftandscatter_shift_polar.Add$cachereplacement key (caching works for PSF and$function).0.8.3Fix new Skyfield incompatibility.0.8.2Prefix replacement keys with$in SatSim configuration file.Add option to scale collision fragments by cosine of the exit angle.0.8.1Add astrometric metadata into FITS headerRefactor WCS libraryAdd option to flip images about x or y axisAdd option to refresh stars for each frameAdd RPO from TLE generator0.8.0Add two body propagatorAdd objectcreate,delete, andupdateeventsAdd collision generatorAdd breakup generatorAddrefkeyword to configurationAddkeykeyword toimportconfigurationRefactor astrometric library0.7.2Add option to specify star and obs velocity in polar coordinates0.7.1Add option to turn off shot noise:sim.enable_shot_noise: trueAdd option to turn off annotation boxes in image:sim.show_obs_boxes: trueAdd option to specify velocity in arcseconds:sim.velocity_units: arcsecFix PNG output threading issue0.7.0Add function pipelines to support variable target brightness0.6.1Fix built-in generators not included in distributionAdd dockerfile0.6.0Add configuration import.Add configuration generator functions.Add built-in generator for breakups.Add built-in generator for CSOs.Add built-in generator for loading TLE files.0.5.0Runtime optimization.Add parallel processing and multi-gpu utilization.Add option to limit gpu memory usage.0.4.0Add signal to noise calculation for target pixels.0.3.0Add support for two line element set SGP4 satellite propagator.Add support for rate and sidereal track from topocentric site.0.2.0Add support for SSTR7 star catalog.0.1.1Add target position to annotation file.Updates to run GitLab CI.0.1.0First release.