3D Geodata Academy

All article materials Article materials

Wheelchair accessibility audit from a 3D scan

A classified scan of part of S3DIS Area 2 becomes a numbered accessibility audit: clear width, 1.50 m turning circles, doors against the required width and the rooms a wheelchair reaches from the entrances. 26 issues on the plan in under 4 s, the same however the scan is read.

Runs on Python 3.10, numpy, scipy, pytest for the tests, pandas and plyfile to rebuild the scan, and open3d with matplotlib for the 3D replay.

A classified indoor scan with its floor coloured by wheelchair reach and every issue numbered
Open

The code

Public, no email needed. Read it, fork it, run it, break it.

  • accessibility_audit.py The nine steps, from the walkable grid to the numbered issue list and the ramp.
  • prepare_s3dis.py Rebuilds the article’s part of Area 2 from your own S3DIS download, order-free, and prints its fingerprint.
  • visualize.py The stepped 3D replay, one Open3D window per step.
  • check_stability.py The audit four ways (as is, again, shuffled, rounded to 1 mm), twelve headline numbers side by side.
  • tests/test_audit.py Forty-six known-answer tests on scans built point by point (python -m pytest tests -q).
  • tests/run_tests.py Runs the tests from a script, for a double-click or a job runner.
  • run.bat Windows double-click runner, audit then replay.
View on GitHub
Email

The reference output

The files my run wrote, so you can check yours against them. Tell me where to send them.

  • issues.csv The 26 numbered issues, with room, position, measured and required value.
  • metrics.json The headline numbers in one flat file, with the SHA-256 fingerprint of the scan the audit read.
  • summary.json Every number the audit printed, with the door list and the issue list.

Data: Reference outputs computed by Florent Poux from S3DIS, Area 2: I. Armeni, O. Sener, A. R. Zamir, H. Jiang, I. Brilakis, M. Fischer, S. Savarese, 3D Semantic Parsing of Large-Scale Indoor Spaces, CVPR 2016.

Source

Get the data: S3DIS, the Stanford Large-Scale 3D Indoor Spaces dataset

From the official page, download Stanford3dDataset_v1.2_Aligned_Version.zip, unzip it anywhere, then run python prepare_s3dis.py --s3dis "path/to/Stanford3dDataset_v1.2_Aligned_Version" in the kit folder.

prepare_s3dis.py reads Area 2 with its stairs, keeps the north half without the ceiling, and writes the 4,031,139 points the audit ran on into a data/ folder next to the scripts, where accessibility_audit.py looks for them. It keeps one point per voxel by a rule that ignores read order, so your rebuild matches the article’s whatever order your copy is read in, and it prints a fingerprint to prove it. Nothing else from S3DIS is needed.

  • Stanford3dDataset_v1.2_Aligned_Version/Area_2/*/Annotations/*.txt Read. Every room of Area 2, one text file per object, named after its class (the stairs files included). Only Area_2 is needed.
  • data/s3dis_area2_access.ply Written next to the scripts. The north half of Area 2 the audit ran on, 4,031,139 points, fingerprint 6cfc4bc8…41181.

The numbers in the article come from S3DIS. Run the kit on your own scan and you get your own numbers.

Terms: Stanford’s registration form: “I will not redistribute the dataset in any way and in any format. Any new access will be established through this form and/or authors’ official method of releasing the dataset. I agree that the data and derivatives will be used only for non-commercial research and academic purposes.”

Get it from the official dataset page

The page’s download link opens the dataset’s registration form.

Where should I send them?

One email, and the download links appear right here. You also get them in your inbox so you can come back to this any time.

Cover of 3D Data Science with Python by Dr. Florent Poux
Go deeper

3D Data Science with Python

Building Accurate Digital Environments with 3D Point Cloud Workflows

This kit is one pipeline. The book is the discipline underneath them: 690 pages from the Python foundations through point cloud processing, meshing and the engineering that keeps a 3D workflow standing up in production. If the script above makes sense and you want the structure they came from, that is where it lives.

O’Reilly Media, 2025 · ISBN 9781098161330 · 15,000+ readers

See the book or buy it on O’Reilly
Dr. Florent Poux

Dr. Florent Poux

Founder and Lead Instructor at the 3D Geodata Academy. 15+ years on the automation of reality capture, from point clouds and photogrammetry to spatial AI, and 1,700+ citations across 60+ peer-reviewed publications.

These are the materials for Wheelchair accessibility audit from a 3D scan, one of the tutorials I publish on Medium and on learngeodata.eu. Every kit lives at learngeodata.eu/materials/.

Scroll to Top