Skip to content
LightCurve
WebsiteApp

Automate

Synthetic datasets

Labelled light curves to train and test classifiers and photometric pipelines.

The generator draws objects, attitude states and geometries, renders their light curves with the GPU integrator and adds the noise of a real sensor. Every curve carries its true labels and the class found by LightCurve’s attitude classifier.

Terminal window
npm run dataset -- -n 1000 -o dataset/ --duration 600 --cadence 2 --sensor rasa11-qhy600 --seed 1
Element Draw
Model A satellite or rocket body of the catalogue
Attitude state Stabilised; rotation about a fixed axis, period log-uniform from 4 steps to a third of the duration; free tumbling, random inertia and an initial axis at least 25° from every principal axis
Geometry Starting phase ±(20–110)°, drifting by up to ±30° along the pass; phase-plane tilt; range 0.7 to 1.5 × the typical range of the model
Materials Albedo factor, ±20 %
Noise Photon noise of the object and the sky, read noise (SNR budget of the chosen sensor), plus a 0.01 mag floor

The Earth’s shadow is ignored: the curves describe the object, not the night.

Option Default
-n 100 curves
-o, --out DIR dataset/
--seed 1
--classes stable,spin,tumble
--presets every satellite and rocket body
--duration, --cadence 600 s, 2 s
--sensor, --exposure the interface’s sensor
--floor 0.01 mag
--resolution 96 px

About 0.2 s per 300-point curve.

id,preset,class,period_s,spin_axis_az_deg,spin_axis_el_deg,inertia_x,inertia_y,inertia_z,albedo_factor,range_km,phase_start_deg,phase_end_deg,points,predicted_class,predicted_confidence,predicted_period_s
bs-00001,geo,stable,,,,,,,1.357,37280.1,63.97,37.58,301,stable,0.950,
bs-00002,falcon9-s2,tumble,45.457,88.5,-59.1,1.000,6.130,2.739,1.226,785.6,-28.39,-53.89,301,spin,0.919,28.746
bs-00003,ariane5-esca,spin,10.625,42.2,24.6,,,,1.146,10048.4,-34.25,-32.12,301,spin,0.970,10.626
id,t_s,mag,mag_err
bs-00003,0.000,7.4803,0.0101
bs-00003,2.000,7.3961,0.0101