Paper output tooling: LaTeX dataset stats, sigma-fit figure, paper-ready convergence table#636
Merged
Merged
Conversation
…ady convergence table
Three small, cohesive additions to the paper-output scripts so the paper's
tables + figures are regenerable end-to-end without hand-editing:
- **dataset_statistics.py**: new `--latex` mode emits the paper's
`tab:dataset-stats` in one shot. Reads editorial metadata (per-city
Conditions blurb, VIGOR / rig markers, VIGOR pano-date override, Boston
Snowy / Night date overrides) from a `LATEX_PAPER_ROWS` dict; datasets
discovered on disk but not in that dict emit with an empty Conditions
cell so they're obvious-to-edit. Numeric fields (panos, sat patches,
sat coverage km², trajectory km, pano/OSM landmarks, YY-MM dates) are
derived from the same code path the ASCII summary uses, so the LaTeX
numbers can't drift from the plain-text output.
- **sigma_paper_figure.py**: new `--sigma=value[:label]` repeatable flag
overlays one or more HalfNormal(σ) PDFs on the empirical residual
histogram. Useful for A/B comparing calibrated σ values (e.g. the
σ=0.737 per-pair MLE vs the σ=0.4673 used by the canonical `Ours`).
Default behavior (no `--sigma`) still uses the per-pair MLE, unchanged.
- **paper_convergence_plot.py** (`print_summary_table`): match the paper's
hand-formatted style. 2-space indent inside `\begin{table*}`, ljust
padding on data rows for visual column alignment in the source (LaTeX
ignores it; the diff stays clean when reviewers touch cells). Caption
reads "mean $\pm$ 95\% CI using standard error of the mean" to be
explicit about how the interval is built.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three small, cohesive additions to the paper-output scripts so the paper's tables + figures are regenerable end-to-end without hand-editing.
Changes
1.
dataset_statistics.py— new--latexmodeEmits the paper's
tab:dataset-statsin one shot. Reads editorial metadata (per-city Conditions blurb, VIGOR / rig markers, VIGOR pano-date override, Boston Snowy/Night date overrides) from a new `LATEX_PAPER_ROWS` dict; datasets discovered on disk but not in that dict emit with an empty Conditions cell so they're obvious-to-edit. Numeric fields (panos, sat patches, sat coverage km², trajectory km, pano/OSM landmarks, YY-MM dates) are derived from the same code path the ASCII summary uses, so the LaTeX numbers can't drift from the plain-text output.Default `dataset_statistics` behavior (no `--latex`) is unchanged.
2. `sigma_paper_figure.py` — new `--sigma=value[:label]` overlay flag (repeatable)
Overlays one or more `HalfNormal(σ)` PDFs on the empirical residual histogram. Enables A/B comparisons of calibrated σ values — e.g. the σ=0.737 per-pair MLE vs the σ=0.4673 used by the canonical Ours variant of the paper.
Default behavior (no `--sigma`) still uses the per-pair MLE, unchanged.
Also finalizes the BUILD-registration/target: the `py_binary` entry was previously committed on main but pointed at an untracked source file, so `bazel build` of this target would fail on a fresh checkout. This PR fills that in.
3. `paper_convergence_plot.py` — paper-ready formatting in `print_summary_table`
Match the paper's hand-formatted style directly from the script:
All figure rendering behavior is unchanged; only the LaTeX table's whitespace + caption change.
Test plan