Skip to content

Commit 7bfb569

Browse files
committed
👨‍🏫 Updated readme with more info about this project
1 parent 2495cfe commit 7bfb569

1 file changed

Lines changed: 130 additions & 26 deletions

File tree

README.md

Lines changed: 130 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,132 @@
11
# ImmersivePoints
22

3-
## What is it?
4-
ImmersivePoints is a web-application for virtual reality devices to explore 3D data in the most natural way possible. <br>
5-
To view the data you need to either attach a virtual reality device attached to your PC, or a stand-alone one, such as the oculus quest.
6-
7-
## Explore examples
8-
Take a look at the following already uploaded examples:
9-
* [A frame from the AEV dataset](https://immersivepoints.com/oculus.html?name=e2652aab-4ace-4a09-86f4-374b23cb677b.xyzi)
10-
* [A frame from the AEV dataset with semantic information](https://immersivepoints.com/oculus.html?name=816ca9a5-1eec-4e23-a34e-f409dbed1ff0.xyzi)
11-
* [A brain with some information of a clustering algorithm](https://immersivepoints.com/oculus.html?name=77b04781-5d7c-445f-9e6a-65956758d644.xyzi)
12-
* [The notre dame](https://immersivepoints.com/oculus.html?name=d6263c4a-7121-432f-8712-b0de530a78ff.xyzrgb)
13-
14-
## Upload your own
15-
Want to see your own pointcloud in virtual reality? Upload your binary file [here](https://immersivepoints.com/upload.html)!
16-
The binary file is expected to be in float32, and consist of XYZH values.
17-
X, Y, and Z are floating point numbers in any range, but it's wise to position them around the point of origin of the virtual reality environment.
18-
The H-value signifies the hue of that point, which should be between 0.0 and 1.0 according to [this specification](https://threejs.org/docs/#api/en/math/Color.setHSL>this specification).
19-
Note that saturation and lightness are currently always set to 1.0.
20-
21-
## Export examples
22-
Want to see some examples on how to export pointclouds? Take a look at:
23-
* [this subsampling example](https://github.com/rmeertens/ImmersivePoints/blob/master/export_subsample.ipynb)
24-
* [this example to export a CSV file](https://github.com/rmeertens/ImmersivePoints/blob/master/export_csv.ipynb)
25-
* [this export of a PLY file](https://github.com/rmeertens/ImmersivePoints/blob/master/export_ply.ipynb)
26-
* [this export of self driving car data](https://github.com/rmeertens/ImmersivePoints/blob/master/export_AEV_data.ipynb)
27-
28-
## All rights reserved.
3+
**Explore point clouds in 3D, including in VR and in Python**
4+
5+
ImmersivePoints is a Python package and web application that lets you visualize 3D point clouds in VR and Jupyter notebooks. Whether you're working with LiDAR data, 3D scans, ML embeddings, or any spatial data, ImmersivePoints makes it easy to see your data in an immersive, natural way.
6+
7+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8+
[![Python 3.6+](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/downloads/)
9+
10+
---
11+
12+
## Features
13+
14+
- **🎮 VR Visualization**: View point clouds in virtual reality (Oculus Quest, PC VR headsets)
15+
- **📊 Jupyter Integration**: Render point clouds inline in notebooks with a single function call
16+
- **🎨 Flexible Formats**: Support for XYZ, XYZI (with hue coloring), and XYZRGB point clouds
17+
- **⚡ Fast**: Efficient binary format and Three.js renderer for smooth performance
18+
19+
---
20+
21+
## Gallery
22+
23+
<table>
24+
<tr>
25+
<td align="center">
26+
<img src="images/astyx_lidar_radar.gif" width="250"/><br/>
27+
<b>Astyx LiDAR + Radar</b><br/>
28+
Automotive sensor fusion data
29+
</td>
30+
<td align="center">
31+
<img src="images/pandaset_rgb.gif" width="250"/><br/>
32+
<b>PandaSet RGB</b><br/>
33+
Full-color urban scene
34+
</td>
35+
<td align="center">
36+
<img src="images/pandaset_semantic.gif" width="250"/><br/>
37+
<b>Semantic Segmentation</b><br/>
38+
Labeled autonomous driving data
39+
</td>
40+
</tr>
41+
</table>
42+
43+
[**→ View more examples on immersivepoints.com**](https://immersivepoints.com/)
44+
45+
## Examples
46+
47+
The [`examples/`](examples/) directory contains comprehensive tutorials:
48+
49+
### 📚 Tutorial Notebooks
50+
- **[`inline_visualization.ipynb`](examples/inline_visualization.ipynb)** - Complete guide to Jupyter rendering
51+
- **[`export_subsample.ipynb`](examples/export_subsample.ipynb)** - Subsample large point clouds
52+
- **[`export_csv.ipynb`](examples/export_csv.ipynb)** - Load and export CSV data
53+
- **[`export_ply.ipynb`](examples/export_ply.ipynb)** - Work with PLY 3D scan files
54+
- **[`export_embeddings.ipynb`](examples/export_embeddings.ipynb)** - Visualize neural network embeddings
55+
56+
### 🚗 Autonomous Driving Examples
57+
- **[`export_AEV_data.ipynb`](examples/export_AEV_data.ipynb)** - AEV self-driving car dataset
58+
- **[`Astyx dataset lidar and radar.ipynb`](examples/Astyx%20dataset%20lidar%20and%20radar.ipynb)** - Sensor fusion visualization
59+
- **[`Export PandaSet.ipynb`](examples/Export%20PandaSet.ipynb)** - PandaSet with semantic labels
60+
61+
---
62+
63+
## Supported Data Formats
64+
65+
ImmersivePoints supports three point cloud formats:
66+
67+
| Format | Columns | Description |
68+
|--------|---------|-------------|
69+
| **XYZ** | 3 | `[x, y, z]` - Positions only (auto-colored) |
70+
| **XYZI** | 4 | `[x, y, z, hue]` - Positions + hue (0.0-1.0) |
71+
| **XYZRGB** | 6 | `[x, y, z, r, g, b]` - Positions + RGB (0.0-1.0) |
72+
73+
All coordinates should be `float32` numpy arrays.
74+
75+
76+
## Live Examples
77+
78+
Explore pre-loaded datasets:
79+
80+
- [Astyx LiDAR + Radar Fusion](https://immersivepoints.com/oculus.html?jsonb64=eyJwb2ludHMiOiBbeyJzb3VyY2UiOiAidXJsIiwgInVybCI6ICJodHRwczovL3BvaW50Y2xvdWR2aXN1YWxpemF0aW9uLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tL2FzdHl4L2FzdHl4MDAwMDAwLnR4dC54eXpyZ2IiLCAidHlwZSI6ICJYWVpSR0IifV0sICJiYm94ZXMiOiBbeyJzb3VyY2UiOiAidXJsIiwgInVybCI6ICJodHRwczovL3BvaW50Y2xvdWR2aXN1YWxpemF0aW9uLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tL2FzdHl4L2FzdHl4YmJveDAwMDAwMC50eHQuYmJveCJ9XX0=)
81+
- [PandaSet RGB Point Cloud](https://immersivepoints.com/oculus.html?jsonb64=eyJwb2ludHMiOiBbeyJzb3VyY2UiOiAidXJsIiwgInVybCI6ICJodHRwczovL3BvaW50Y2xvdWR2aXN1YWxpemF0aW9uLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tL3BhbmRhLWV4cG9ydC8wMjRfeHl6cmdiLm5weSIsICJ0eXBlIjogIlhZWlJHQiJ9XX0=)
82+
- [PandaSet Semantic Segmentation](https://immersivepoints.com/oculus.html?jsonb64=eyJwb2ludHMiOiBbeyJzb3VyY2UiOiAidXJsIiwgInVybCI6ICJodHRwczovL3BvaW50Y2xvdWR2aXN1YWxpemF0aW9uLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tL3BhbmRhLWV4cG9ydC8wMjRfeHl6aS5ucHkiLCAidHlwZSI6ICJYWVpJIn1dLCAiYmJveGVzIjogW3sic291cmNlIjogInVybCIsICJ1cmwiOiAiaHR0cHM6Ly9wb2ludGNsb3VkdmlzdWFsaXphdGlvbi5zMy5ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbS9wYW5kYS1leHBvcnQvMDI0X2Jib3gubnB5In1dfQ==)
83+
- [AEV Autonomous Driving](https://immersivepoints.com/oculus.html?name=e2652aab-4ace-4a09-86f4-374b23cb677b.xyzi)
84+
- [Notre Dame 3D Scan](https://immersivepoints.com/oculus.html?name=d6263c4a-7121-432f-8712-b0de530a78ff.xyzrgb)
85+
- [Brain Clustering Visualization](https://immersivepoints.com/oculus.html?name=77b04781-5d7c-445f-9e6a-65956758d644.xyzi)
86+
87+
---
88+
89+
## Documentation
90+
91+
For detailed documentation, see: (https://immersivepoints.com/)** - Live demos and upload tool
92+
93+
---
94+
95+
## VR Headset Support
96+
97+
ImmersivePoints works with:
98+
- **Oculus Quest 1/2/3** (standalone)
99+
- **Meta Quest Pro**
100+
- **PC VR headsets** (Valve Index, HTC Vive, Oculus Rift, etc.)
101+
- **Any WebXR-compatible browser**
102+
103+
---
104+
105+
## About the Creator
106+
107+
**Roland Meertens** is a robotics engineer and machine learning researcher with a passion for making data exploration more intuitive and accessible.
108+
109+
The story of ImmersivePoints began ~10 years ago when Roland was working on clustering algorithms for 3D brain data. Existing visualization tools were slow and uninformative, so he learned JavaScript to build better 3D visualizations. When Google launched Cardboard, he added VR support. Years later, when the Oculus Quest made untethered VR accessible, he finally realized his vision: walking freely through data in virtual reality.
110+
111+
**Website**: [pinchofintelligence.com](https://www.pinchofintelligence.com/)
112+
113+
---
114+
115+
## License
116+
117+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
118+
119+
---
120+
121+
## Citation
122+
123+
If you use ImmersivePoints in your research, please cite:
124+
125+
```bibtex
126+
@software{immersivepoints2024,
127+
author = {Meertens, Roland},
128+
title = {ImmersivePoints: 3D Point Cloud Visualization in VR},
129+
year = {2024},
130+
url = {https://github.com/rmeertens/ImmersivePoints}
131+
}
132+
```

0 commit comments

Comments
 (0)