Skip to content
Neurones 3D Download

Compare and register

Compare and detect change (M3C2)

Compare a survey against a reference (another survey, a mesh or a BIM model) as a signed distance with conformance bands and a worst-first list of defects, or run M3C2 to say what was gained, what was lost, and what simply was not observed.

Where Process › Compare & detect change… · Properties › Compare & detect change Tier Free + Pro CLI compare

Comparing and viewing are free. Writing the region list as CSV, and the report, are Pro.

Part of Point cloud processing software, Scan to BIM, LiDAR terrain (DTM, DSM).

Two surveys of one site compared with M3C2, coloured by the distance between them: unchanged ground in blue, the settlement bowl standing out in green and yellow, and the changed buildings in red
What moved between two surveys, and by how much.

When to use it

Nearest point for as-built checks against a design or a BIM model, with a tolerance. M3C2 for two surveys of the same site at different dates: settlement, erosion, stockpiles, demolition. M3C2 averages both surveys and gives each point the change it would take to be believed, so noise is not reported as movement.

Step by step

  1. Open the survey to be measured, then bring in the reference with File › Add Layer…: the other survey, a mesh, or an IFC model.
  2. Open Process › Compare & detect change…. The card shows MEASURED (the primary cloud, which gets the colours) and REFERENCE; press Use as reference on the layer to compare against.
  3. Choose the Method: Nearest point or M3C2. Set the Tolerance (0.05 m by default); for M3C2 also set the Registration error between the two surveys (0.01 m by default).
  4. With M3C2, read the four verdicts with their counts and shares: unchanged, gained, lost and not observed, then the median level of detection and the largest change, and the number of change patches.
  5. With Nearest point, read the share within tolerance and the mean, RMS, p95 and maximum. Tick Show as conformance bands for four flat colours cut at 1, 2 and 4 times the tolerance.
  6. Under Out-of-tolerance regions, set a Separation (0.25 m by default) and press Find: connected defects, worst first. Click a row to fly to it.
  7. Export the regions with Export regions (CSV), or put the review into a report.
The Compare and detect change card with M3C2: the measured and reference surveys, the four verdicts unchanged, gained, lost and not observed with their shares, and the median level of detection
Four verdicts, one of them ‘not observed’.
A scan compared with its reference, shown as four conformance bands at one, two and four times the tolerance
Conformance bands: a verdict, not a gradient.

What it was measured at

Measured

On a real vegetated tile with an injected 50 mm lift, M3C2 measured a median of +0.04998 m. A cloud compared with itself reports 0.0 % changed and no patches. On the demo pair a 120 mm settlement is found and a 10 mm one is correctly reported unchanged against a measured 14.9 mm level of detection.

Why “not observed” matters

A nearest-neighbour comparison always finds a neighbour somewhere, so it cannot say I did not see this. Delete every point in a box from the second survey and it reports a demolition; M3C2 reports the box as not observed. On the published test that is exactly what happened: the share not observed rose from 2.7 % to 5.9 % and no change patch was reported.

From the command line

n3d-render-cli compare --a survey_2024.laz --b survey_2026.laz --registration-error 0.01 --json change.json
n3d-render-cli report --input asbuilt.las --reference design.ifc --out review.html --tolerance-mm 25

report exits with 0 on a pass and 2 on a fail, so a batch of sites sorts itself.

Limits, stated

  • M3C2 measures change where the cored cloud has points. Material that is gone can only be seen from the earlier survey, which is why the cores default to it.
  • A region with no points in the other survey is not observed, not lost: an occlusion is not a demolition.
  • M3C2 reports a mean displacement in a cylinder, not a peak. A 1.5 m dome reads about 1.28 m at its apex, because the cylinder averages the curvature.
  • Against a mesh or BIM model, Nearest point measures the exact point-to-triangle distance; with M3C2 the model is sampled, not intersected.
  • If one region spans the whole site, the region list has stopped meaning anything, and the card says so: lower the separation.

Related questions

How does change detection avoid false alarms?

With M3C2 and a level of detection. Both surveys are averaged in a cylinder along the local normal, and each point carries the 95 % change it would take to be believed. A region with no points in the later survey is reported as not observed, not as lost, so a parked van is not called a demolition. On the demo pair a 120 mm settlement is found and a 10 mm one is reported unchanged against a measured 14.9 mm threshold.

What does a paid licence unlock?

Writing out what the program worked out: computed columns (class, segment, confidence, height above ground, deviation) on an export, drawings (DXF, PDF, SVG), terrain rasters, GIS vectors, meshes as glTF, reports, region and zone CSVs, saved images and flythrough videos. Desktop, Engine & SDK and the academic licence unlock the same features in the program; Engine & SDK adds the Python package and the command line. The boundary is enforced in code and tested in both directions.

More in the FAQ.

About

Why Neurones 3D exists.

Standing inside a 43.5 million point indoor laser scan rendered by Neurones 3D

I have spent years working with point clouds, and for most of them the software got in the way. I wanted one tool I would actually reach for every day: fast enough to enjoy, honest about what it does, and calm to use.

Neurones 3D started in Python, the way most of my research does. It worked, but it was heavy, and heavy tools quietly discourage you from opening them. So I rebuilt everything in Rust, from the file readers to the renderer, with one rule: stay frugal. A single small file, no cloud, no telemetry, billions of points on a laptop that is ten years old. In an age where every tool reaches for a data center, I wanted the opposite.

The goal is simple to say and hard to earn. One package that carries you from capture to understanding to deliverable, without exporting to five other programs along the way. Load a scan, a splat, a building, a phone video. See it, classify it, measure it, and send out something real. Together, in one place.

This is the tool I always wanted. I hope it becomes yours too.

Dr. Florent Poux 3D Geodata Academy

Get Neurones 3D

Free tier, no account, one 15 MB file. We send the download link to your inbox.

Check your inbox

We sent a confirmation to your address. Click the link inside and the download follows right after. The link stays valid for 72 hours.

If Windows shows "Windows protected your PC", that is SmartScreen meeting a build that is not code-signed yet, not a virus: choose More info, then Run anyway. Check the file's fingerprint first if you like.

Double opt-in, no spam. Your address never leaves 3D Geodata Academy. Privacy.

Cookie settings

Choose what this site may store in your browser. Strictly necessary items are always on, because the feature you asked for does not work without them. Everything else is off until you switch it on. Your choice is kept in this browser for six months.

Strictly necessaryAlways on

Needed for a feature you use. Never used to track you.

NameKindWhat it is forKept
n3d_boardCookie, HttpOnlyA random voter token set by the board (roadmap), so one browser counts as one vote.12 months
n3d-feedback-draftLocal storageA draft of the feedback form, so a refresh does not lose your message. It never leaves your browser and is cleared when you send.Until sent
n3d_consentLocal storageThis choice.6 months
Analytics

None in use today. If a measurement tool is ever added, it stays off until you allow it here.

Media

None. Nothing on this site embeds a player or media from another company.