Finding a Hidden Moon in Noisy Brightness Data
The question
An asteroid's brightness rises and falls as it spins. Buried in that signal there is sometimes something better: periodic dips caused by a companion eclipsing its host. Can those events be pulled out of sparse, noisy, irregularly sampled measurements?
The approach
SpinDoc fits rotation periods, light-curve amplitudes, and phase-function behavior from calibrated photometry, then searches for mutual-event signatures on top of the rotational signal. The demo shown injects a synthetic eclipsing-binary signal with a 61.7-hour period into realistic survey cadence and noise, then asks the pipeline to find it blind.
The result
The pipeline recovers the injected period at 61.64 hours, within a tenth of a percent, and flags both the primary (0.14 magnitude) and secondary (0.10 magnitude) eclipse events out of scatter of comparable size.
Tools: Python, NumPy, SciPy, period-search methods
Read the code: SpinDoc on GitHub →Feel it for yourself: fold the real data until the asteroid’s spin period reveals itself.
Try the interactive demo