METHODS / VERSION 1.0.0

Nothing hidden in the math.

Definitions, limits, and the decisions you need to make before using the result.

01 / Batch CSV

Input contract

Each file contributes one XY curve. Use UTF-8 CSV, TSV or semicolon-separated text. Select the same X and Y column positions in all files. The header option is explicit; there is no automatic header guessing. Blank rows are skipped. Selected blank/non-numeric values, duplicate X values, malformed quotes, or fewer than two data rows stop the entire analysis. Extra unselected columns are ignored.

Alignment

Exact mode retains only numerically identical X values shared by every curve. No tolerance is inferred. Interpolation mode uses the first listed file’s X values within the common overlap of all measured ranges. Other curves are piecewise-linearly interpolated at those X values. No extrapolation occurs. Omitted reference-grid points and the number of interpolated contributions are reported. Unequal spacing is allowed.

Statistics across curves at each X

mean = Σ yᵢ / n
sample SD = √[Σ(yᵢ − mean)² / (n − 1)]
SEM = sample SD / √n

A stable online accumulation algorithm is used. n is the number of input curves, not the total number of data rows. SD and SEM are undefined when n = 1 and are exported as empty cells / null. The plotted band is mean ± 1 sample SD, not a confidence interval. SEM interpretation requires independent, comparable replicate curves. Interpolation introduces correlation along X; the tool does not model that correlation.

Optional normalization

normalized Yᵢ(X) = 100 × Yᵢ(X) / Yᵢ(first sorted X)

Each curve must have a positive first Y. This is first-observation normalization, not a stabilized baseline or a burn-in correction. The reference can add uncertainty that this descriptive summary does not separately propagate. Files are sorted by X; any reordering is reported. No fitting, automatic outlier removal, imputation, or hypothesis testing is performed.

Limits and exports

Browser limits: 30 files, 2 MB per file, 20 MB combined, 20,000 data rows per file, 200,000 total rows, and numerical magnitude ≤ 1e100. Results are deterministic up to floating-point rounding. Large plot series are sampled to 1,500 points for rendering; the full-resolution data is retained in CSV/JSON exports. Inspect the data, not only the figure.

02 / Figure Sizer

pixels = round(size_mm / 25.4 × ppi)
PNG pHYs = round(ppi / 0.0254) pixels per metre

Aspect-lock preserves the source ratio up to whole-pixel rounding. With aspect-lock off, images are fitted with padding, never cropped or stretched. Upscaling needs explicit permission and adds no measurement information. Export is raster PNG using the browser’s image decoder and canvas resampling. Original metadata and colour profiles are not preserved; output colour handling is browser-dependent.

A PNG pHYs chunk is written after IHDR, replacing existing resolution metadata. The pixels-per-metre values are integers, so metadata resolution is approximate. Maximum output is 8,192 px per side and 30 megapixels total, at 36–2,400 ppi. Source limit is 40 megapixels and 20 MB. This tool does not handle vector, multipage, TIFF, or CMYK-preserving workflows.

Reference documents

NIST: measures of scale
MDN: canvas export and default resolution metadata
W3C PNG specification: pHYs

These explain definitions and formats. They are not endorsements or product validation.