Convert Rohbau3D .npy point cloud files to standard formats (PLY, PCD, LAS).
| Format | Extension | Library | Colors | Normals | Intensity | Notes |
|---|---|---|---|---|---|---|
| PLY | .ply |
Open3D | Yes | Yes | -- | Binary format, widely supported |
| PCD | .pcd |
Open3D | Yes | Yes | -- | Point Cloud Library native format |
| LAS | .las |
laspy | Yes (16-bit) | Yes (extra dims) | Yes | LAS 1.4, point format 7 |
Each scene directory contains:
| File | Shape | Description |
|---|---|---|
coord.npy |
(N, 3) float | XYZ coordinates (required) |
color.npy |
(N, 3) uint8 | RGB values |
intensity.npy |
(N, 1) float | Laser reflectance |
normal.npy |
(N, 3) float | Surface normals |
pip install -e .npy2pointcloud convert -i /path/to/scene -o output.ply -f ply
npy2pointcloud convert -i /path/to/scene -o output.las -f las
npy2pointcloud convert -i /path/to/scene -o output.pcd -f pcdnpy2pointcloud info -i /path/to/sceneExample output:
Source: /data/rohbau3d/scene_001
Points: 10,452,301
XYZ range: x=[-12.345, 45.678] y=[-8.901, 23.456] z=[0.123, 15.789]
Colors: yes
Intensity: yes
Normals: yes
# Mirror directory structure
npy2pointcloud batch -i /path/to/dataset -o /path/to/output -f ply
# Flatten into a single directory
npy2pointcloud batch -i /path/to/dataset -o /path/to/output -f las --flattenfrom npy2pointcloud.loader import load_scene
from npy2pointcloud.converter import convert
data = load_scene("/path/to/scene")
print(data.summary())
convert(data, "output.ply", "ply")
convert(data, "output.las", "las")
convert(data, "output.pcd", "pcd")pip install -e .
pip install pytest
pytest tests/ -v