Browser-based interactive explorer for the 30-magnetometer-array indoor localization datasets released alongside:
Position and Orientation Estimation Uncertainty Using Magnetometer Arrays for Indoor Localization Thomas Edridge and Manon Kok, IEEE Journal of Indoor and Seamless Positioning and Navigation, vol. 3, pp. 152–164, 2025. doi: 10.1109/JISPIN.2025.3567258
🔗 Live demo: https://gisbi-kim.github.io/mag-array-explorer/ 📄 Paper github: https://github.com/Tedridge/magnetometerArrayOdometryAnalysis 🗂 Original data: https://hendeby.gitlab-pages.liu.se/research/magdata/
Helps a researcher decide whether the dataset fits their needs in under a minute:
- 3D pose trajectory with optional RGB orientation frames (density / length / width controllable)
- Per-sensor magnetic-field heatmap (30 sensors × time)
- Mean |B|, IMU |acc|/|gyr|, baro height — time-aligned
- Per-sequence metadata: kind, duration, GT availability, anomaly richness (σ |B|), path length, mean/max speed
- Gallery grouped by dataset release — click any thumbnail to switch
- Linked brushing: zooming the heatmap highlights the matching segment on the 3D trajectory in yellow
- |B| colormap range presets matching paper sections IV-B / IV-C for fair cross-sequence comparison
40 sequences across 3 dataset releases:
| Tag | Release | Count | Used in paper |
|---|---|---|---|
TINY |
Tiny squares — 0.4 × 0.4 m | 9 | Section IV-A & IV-B |
SM |
Small / medium squares — 4 × 4 m | 2 | Section IV-C (LP-1, NP-1 from MAINS [Huang 2024]) |
S25 |
Summer 2025 — complex environments | 29 | Follow-up data (corridors / snake / spiral / 8-pattern …) |
- Pure HTML + CSS + vanilla JS — no build step, no framework
- Plotly.js for 3D scatter, heatmap, time-series
- Data exported as JSON from a local SQLite DB (see
build_static.py) - Hosted on GitHub Pages
index.html UI structure
style.css light theme, Inter font
app.js state, rendering, linked brushing
build_static.py SQLite → JSON exporter (one-time)
data/ generated artifacts (~10 MB total)
index.json sequence index + gallery thumbnails
<seq>.json per-sequence figures payload (~280 KB, lazy-loaded)
fetch() is blocked on file://, so use a static server:
python -m http.server 8000
# open http://localhost:8000If you have the original .mat files, the process is:
- Download the three dataset releases from https://hendeby.gitlab-pages.liu.se/research/magdata/
(
magArrayData.zip,smallSquares.zip, the Summer 2025 set) - Combine them into one SQLite DB (the converter script lives in the parent project — not included here)
- Run
python build_static.pyto refreshdata/
The DB is intentionally not checked in (~360 MB).
If this explorer helps your work, please cite the underlying paper:
@article{edridge2025magarray,
author = {Edridge, Thomas and Kok, Manon},
title = {Position and Orientation Estimation Uncertainty Using Magnetometer Arrays for Indoor Localization},
journal = {IEEE Journal of Indoor and Seamless Positioning and Navigation},
volume = {3},
pages = {152--164},
year = {2025},
doi = {10.1109/JISPIN.2025.3567258},
}Data collected by Thomas Edridge & Manon Kok (TU Delft) in collaboration with Gustaf Hendeby (Linköping), Isaac Skog & Chuan Huang (KTH).