US Tech Automations

Lens calibration maps JSON input Experimental offer

Lens distortion from grid correspondences

You provide matched grid points seen from several views of a single camera setup, including views held back for checking. It fits a standard five-coefficient lens distortion model and returns maps to remove and reapply that distortion.

Package price
$299
Built for
Compositors and VFX teams with calibrated grid point correspondences from one camera setup.
Input accepted
JSON, 2 MiB maximum
Synthetic example
13 files, 2026-09-09

Not connected yet. Synthetic downloads are available. Private processing and checkout are not yet connected on this website.

How it works

  1. 01

    Export your calibrated grid point correspondences to JSON, including the held-out views.

  2. 02

    Upload the file privately; inputs that do not meet the requirements are refused with no charge.

  3. 03

    Receive the distortion maps, masks, parameters, residuals, and convention guide.

LensGrid package contents

Paired 32-bit floating point OpenEXR and NPY maps for undistort and redistort, validity masks, the fitted parameters, residuals on both the training and held-out views, and a short guide to the conventions used.

Supported scope

  • Input is JSON point correspondences, not photographs.
  • Held-out views are required.
  • The Brown five-coefficient model only; results are valid only inside the region your measurements actually cover.
  • No guarantee about optical truth, focus, or zoom, and no camera tracking.

Download synthetic result Download example input

LensGrid example snapshot, generated 2026-09-09: 13 files in the downloadable ZIP. Source: the linked synthetic input and its checked export. This demonstrates supported file processing; it is not customer or commercial evidence.

Your workspace

Start with a file. Try the synthetic example, or use your own supported input.

Step 01

Prepare your input

or upload your file

2 MiB maximum · image size, views, held-out view IDs, point correspondences

No input selected.

Advanced: inspect or edit JSON

The preview uses the values shown here.

Submitting an input does not take a payment.

Step 02

Review your result

Your result will appear here.

Checking checkout availability…

Private by default. Job access is kept in this tab. Unpaid jobs expire 24 hours after submission; paid downloads expire 7 days after payment. Delete the private job at any time. The package may contain source data; payment records can remain after deletion.

Before you begin

Can I send photos instead of points?

Not currently. Input is JSON point correspondences from a calibrated grid, not images.

Are the maps valid across the whole frame?

Only where your measurements cover. Outside the measured region the fit is not claimed to hold, which the validity masks show.

Why do you need held-out views?

Q: Were held-out views used to fit intrinsics or distortion? A: No. Held-out views were not used to fit intrinsics or distortion. Q: Are they fully independent? A: Not entirely — pose was fitted against the held-out points, so those views are not independent for pose evaluation.

Other workspaces

Each workspace takes one declared file format and returns one package. They do not share inputs and none of them reads another one’s result.