← Manual

FAQ

Short answers to the questions people arrive with. In-app Why? chips land on the matching heading in From the app. The full message list is in Troubleshooting.

What is semper for?

It measures how a surface deforms from photographs — full-field displacement and strain maps, computed on your phone. It is aimed at mechanical testing and materials work.

Is it free, and do I need an account?

You sign in (Google or email), and a new account needs a one-time admin approval before you can use the app. That gate is about managing access, not payment.

Why does my account need approval?

semper is an allow-list app while it is in early release. Support is emailed automatically when you sign up; tap Check status in the app after you are approved — it does not update on its own.

Does it work offline?

Yes, once your phone has been approved. Importing frames and running the correlation need no network. Only sign-in, approval checks, and cloud uploads do.

Can I use my phone camera, or a video?

You load photos you have already taken, or pick a video and semper samples it into frames (the first frame becomes the reference). For how to shoot a good speckle and lighting, see the iDICs guide below.

Are results in millimetres?

No. Displacements are in pixels — semper has no spatial calibration. Convert with your own scale factor (pixels per mm from your setup).

How accurate is it?

The engine locates each subset to roughly 1/100 of a pixel, and recommends a subset size that targets about 0.007 px displacement accuracy on your image. Real accuracy depends on your speckle, lighting, and camera — see Lighting & accuracy and Strain field stats. A parameter sweep lets you check it on your own images.

Why does semper warn about JPEG?

Lossy formats (JPEG, HEIC, and similar) soften speckle edges. Prefer PNG or TIFF. RAW and DNG import only through Files, not the gallery. Details: From the app · jpeg-warning.

Why is speckle contrast too low?

On import the app measures your pattern. Weak contrast or the wrong speckle size both raise failed subsets. Details: From the app · speckle-contrast.

Is my data uploaded to the cloud?

Only if you turn on Save to cloud. The correlation always runs on the phone; cloud backup just stores the results you choose to sync, so you can restore them. See Privacy for the full picture.

Can I use semper results in a paper?

Yes. Export “Everything”, quote the VSG with any strain value, and keep the archive with your raw images — inputs, fields, and parameters together are what make the result reproducible. From a sweep you can also Save graph for an annotated lattice plot PNG.

I forgot my password — do I leave the app?

No. Forgot password mails a link that reopens semper on a set-new-password form (same password rules). Email sign-in links work the same way once App Links are verified.

Does semper send crash reports?

Only if you opt in. After the beta notice on first run you are asked once; you can change it later under Settings → Your data → Send crash reports. Declining is the default. Reports never include your images or results.

How do I reuse parameters from a sweep?

On the lattice plot, double-tap the value readout to copy that combination’s subset, step, and strain window. Start a new single-setting analysis and tap Paste params on step 2.

Something went wrong — where do I look?

The From the app section below covers the messages the app links here. Troubleshooting has the full list keyed by on-screen text. For how-to, use the Manual; for account or private matters, email support.

From the app

Answers for the exact warnings and errors the app can open here. Heading IDs match the app’s FAQ links — do not rename them without updating the app strings. Sourced from the app FAQ (updated 2026-08-28).

Why the JPEG / lossy format warning?

When you see it: Wizard step 1 — a chip warns that a frame or reference is not lossless (JPEG, HEIC, etc.).

Why it matters: Lossy compression adds blocking artefacts and softens speckle edges. Displacement can still run, but strain noise and failed subsets rise.

What to do: Re-export or re-shoot as PNG or TIFF when accuracy matters. On a phone, shoot in a camera mode that writes lossless stills rather than pulling JPEGs out of the gallery.

Getting started · images

Why the low speckle / contrast warning?

When you see it: Speckle chips in the wizard’s first step. They report different faults — contrast and size — and are worth telling apart.

Low speckle contrast

Why it matters: DIC tracks small windows of random pattern. If gradients inside a subset are weak, correlation fails or wanders.

What to do:

  • Paint a finer, high-contrast speckle (black on white or white on black).
  • Improve lighting — even, diffuse light; avoid glare and deep shadows in the ROI.
  • Focus sharply on the speckled surface.
  • Draw the ROI over the busiest part of the pattern.

Speckle size

Under the subset slider the wizard reports how large your speckles measure, in pixels of the frame you imported. The iDICs Good Practices Guide asks for dots spanning 3 to 9 px.

What it saysWhat it meansWhat to do
Below 3 pxThe pattern is too fine for this frame to resolve. It aliases, and points can fail to correlate at all.Shoot closer, or spray a coarser pattern.
3–9 pxNothing to change.—
Above 9 pxIt will correlate, but the extra pixels buy no extra accuracy, and a subset large enough to span the dots leaves fewer measurement points across the ROI.A finer pattern, or shoot from further back.
Subset spans too few specklesA subset should cover about three dots. Fewer than that and it can correlate confidently against the wrong place.Raise the subset size to the value the chip names (under the slider on step 2).

Contrast and size are independent: a pattern can be crisp and still be far too fine. See Lighting & accuracy for how much light changes measured strain noise.

Troubleshooting · loading

How does lighting affect accuracy?

Context: Internal noisetest (2026-08-28) — static speckle, fixed specimen and tripod, only lighting varied (bright / medium / dim). True strain = 0; all reported Exx values are measurement error.

Main finding: More light → better accuracy when subset size is held fixed. Dim light is always worst; a larger subset partially compensates but does not beat bright at the same patch size.

Example — robust strain scatter (typical error, mε) at 65 px subset, same ROI:

LightingTypical σ
Bright0.07–0.12
Medium0.10–0.13
Dim0.23–0.37

At 15 px subset, dim scatter can be 2–3× bright (e.g. 1.6 vs 0.5 mε).

Why dim sometimes looked “best” in the app

The app raises subset size in dim light (e.g. 65 px vs 15–21 px in bright). Larger patches average noise down. Comparing app-default runs confuses lighting with subset. Always compare at the same subset to isolate lighting.

LightingEffect on imagesEffect on strain
DimDark ROI, low sharpness, weak SSSIGHighest scatter; needs large subset
MediumGood luma and SSSIGMiddle — but tripod drift in some runs dominated outliers
BrightStrong ROI luma, good contrastLowest scatter at fixed subset

Practical rules

  • Prefer bright or medium light on the speckle — dim costs accuracy even when the pattern looks usable.
  • Hold the rig steady — session drift (e.g. 0.6 px vertical over ten frames) can spike max strain while mean/median stay near zero.
  • Draw the same contrast ROI when comparing lighting sessions.
  • Do not trust heatmap max alone — see Strain field stats.

Device-to-device differences were secondary to lighting and burst stability in this study.

How should I read mean, max, and scatter on a strain map?

When you see it: Result viewer heatmap, CSV # field_stats, PDF field summary.

On a static specimen (zero true strain), the app still reports mean, median, min, max, and scatter. They answer different questions.

StatWhat it isHow to read it on a static test
Mean / medianAverage / middle Exx in the fieldStay near 0 mε — looks fine even when the run is noisy
Min / maxSingle worst points in the fieldSpike (±100–800 mε) from outliers, drift, or bad subsets — misleading alone
Robust σ (MAD)Typical point-to-point scatterBest single accuracy read — tracks lighting and subset

Patterns from the lighting study

  • Mean and median barely moved across bright / medium / dim — do not use them alone to judge quality.
  • Max swung with drift and small subsets; min/max tightened with larger subset and stable burst.
  • Robust σ ranked lighting cleanly: bright < medium < dim at fixed subset.

What to trust

  • Compare robust σ to the measurement floor on static or near-static checks.
  • Treat max as “worst pixel this frame,” not “accuracy.”
  • If mean ≈ 0 but max is huge, look for tripod drift or too small a subset before blaming the specimen.

CSV exports max/min/mean per frame; median on points is computed in reports. The heatmap colour scale uses percentiles (p02–p98); CSV extrema are raw.

Manual · reading results

Why the frame-size mismatch warning?

When you see it: Wizard step 2 — deformed frames differ in pixel size from the reference.

Why it matters: Subset positions are in reference pixels; a size change breaks the grid unless frames are rescaled (not automatic).

What to do: Re-export all frames at the same resolution, or re-shoot with a fixed resolution setting.

Troubleshooting · loading

Why “ROI too small”?

When you see it: ROI width or height is smaller than the subset diameter.

What to do: Enlarge the ROI on the speckle, or reduce subset size in step 3.

Manual · region of interest

Why does the sweep say the subset range is too big?

When you see it: Sweep plan chip — subset range extends above what the ROI can fit.

What to do: Widen the ROI, lower the maximum subset in the sweep, or reduce step so fewer grid points are required.

Manual · sweeps

Why is the sweep plan empty?

When you see it: No valid subset × strain-window combinations for this ROI and ranges.

What to do: Enlarge the ROI or narrow subset / VSG ranges until at least one combination fits.

Manual · sweeps

Why did feature detection fail?

When you see it: Engine failure — decorrelation / AKAZE could not match the pair.

What to do: Check focus and speckle; ensure reference and deformed frames are the same scene; improve speckle contrast.

Troubleshooting · during a run

Why did the engine fail on the ROI?

When you see it: Engine failure — ROI held no valid points.

What to do: Enlarge ROI; confirm it lies on speckle; check subset fits inside ROI (ROI too small).

Troubleshooting · during a run

Why couldn’t the engine start?

When you see it: Engine failure — decode or engine start failed.

What to do: Re-import images; confirm files are readable PNG/TIFF; free memory on low-RAM phones.

Troubleshooting · loading

Why did the run stop for low convergence?

When you see it: Engine failure — too few subsets converged.

What to do: Improve speckle and lighting; try a larger subset or smaller step; check for motion blur between frames.

Troubleshooting · during a run

Why did this sweep combination fail (VSG)?

When you see it: Engine failure or hollow lattice nodes — strain window too large for ROI/step, or no points survived VSG filtering.

What to do: Reduce strain window (VSG), enlarge ROI, or coarsen step. In sweeps, tap a hollow node for its one-line reason; Why? opens this section.

Manual · result lattice

Why did the reference fail to load?

When you see it: Reference image failed to load or decode.

What to do: Try PNG/TIFF; avoid corrupted or unsupported RAW without conversion; check storage permission.

Troubleshooting · loading

Why did the deformed frames fail to load?

When you see it: One or more deformed frames failed to load.

What to do: Same as reference; ensure batch paths are stable and formats match.

Troubleshooting · loading

Why couldn’t semper read this video?

When you see it: Video metadata could not be read.

What to do: Re-copy the file; try a shorter clip; confirm the container is supported on this phone.

Troubleshooting · loading

Why weren’t enough frames extracted from the video?

When you see it: Too few frames extracted from the selected segment.

What to do: Widen the segment, lower sampling interval, or raise max frames in Settings.

Getting started · video

Why “No valid batch data found”?

When you see it: Result viewer opened without a .dat batch for this session.

What to do: Re-run analysis from the wizard, or open a session that completed successfully.

Troubleshooting · reading

Why isn’t there enough memory to open this frame?

When you see it: Not enough memory to decode a full-field frame.

What to do: Close other apps; open a smaller analysis; reduce the ROI or shoot at a lower resolution.

Troubleshooting · reading

Why are the custom scale inputs invalid?

When you see it: Custom colour-scale min ≥ max.

What to do: Set min below max, or reset to auto scale.

Manual · reading results

For painting a speckle and experiment design beyond this FAQ, see the iDICs Good Practices Guide for Digital Image Correlation, or the Manual and How DIC works.

Troubleshooting · Privacy · Support