This repository documents a Cavendish torsion balance experiment using video-based laser-spot tracking, calibrated position reconstruction, and uncertainty-aware analysis of the gravitational constant.
This project highlights reproducible time-series analysis from imperfect observational data. The workflow turns raw tracking outputs into calibrated measurements, records systematic-error assumptions, and regenerates report tables from code.
- Data workflow: video-derived laser-spot tracks are converted into calibrated displacement series and report-ready summary tables.
- Methods signal: computer-vision preprocessing, time-series reconstruction, calibration metadata, and systematic-error accounting.
- Reproducibility signal: one script rebuilds processed CSVs, summary tables, and the data catalog used by the report.
The main emphasis is traceability: raw tracking files, calibration choices, processed position series, and report-facing tables remain linked through code. Beyond the physics result, it is structured as a compact empirical replication package: raw tracking logs, calibration choices, fit metadata, systematic-error assumptions, and reported tables are linked through rerunnable code.
Method II refers to the equilibrium-center method: laser-spot time series are calibrated
into displacement, fitted before and after the source-mass swap, and converted into an
estimate of G using the PASCO torsion-balance formula.
The report treats the spread below as a diagnostic result rather than a precision measurement. The Method II estimates are above the accepted value, and the report attributes that gap mainly to run-to-run systematics and the shortened apparent period.
| Quantity | Value |
|---|---|
Method II G0 range |
(1.53--3.48) x 10^-10 m^3 kg^-1 s^-2 |
| Accepted reference value | 6.674 x 10^-11 m^3 kg^-1 s^-2 |
Equilibrium shift Delta S |
5.908--13.427 cm |
| Period used in Method II | 292.3 +/- 12.8 s |
| Statistical uncertainty by run | 9.4%--10.0% |
| Dominant limitation | shortened apparent period, drift/creep, and environmental perturbations |
- Track the reflected laser spot from video with OpenCV
- Convert pixel coordinates to physical displacement
- Reconstruct equilibrium shifts and oscillation behavior across multiple runs
- Recompute Method II results and the systematic-error table used in the report
- Export processed datasets and summary tables from the raw inputs
The summary figure below is regenerated from results/method2_summary.csv and
results/systematics_table3.csv by the reproducibility script.
Laser-spot tracking diagnostics
The diagnostic figure below shows a clean Method II damped-wave simulation for the three runs, alongside the raw centroid path and recovered points from the tracking workflow.
pip install -r requirements.txt
python scripts/reproduce_report_artifacts.pyIf make is available, the same artifacts can be regenerated with:
make allSmoke test:
python -m unittest discover -s testsGenerated outputs include:
data/processed/*.csvresults/method2_summary.csvresults/systematics_table3.csvresults/data_catalog.csvfigures/method2_overview.pngfigures/tracking_diagnostics.png
data/raw/ Raw laser-spot tracking CSVs
data/metadata/ Calibration and fit metadata used by the report
data/processed/ Generated calibrated position tables
figures/ Key plots used in the report
results/ Recomputed summary tables
scripts/ Reproducibility scripts
src/ Core tracking and analysis code
reports/ Final PDF report and LaTeX source
The tracking CSV files contain:
Frame: video frame indexTime_Sec: time in secondsX,Y: laser-spot centroid in pixelsMode:TRACKINGorRECOVEREDArea,Circularity: blob-shape diagnostics
- Final report:
reports/latex/main.pdf - Compiled report copy:
reports/G.pdf
Authors: Hongyu Wang and Cici Zhang.
Code, tracking workflow, and reproducible analysis pipeline maintained by Hongyu Wang.
