Skip to content

kleinicke/ply-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

246 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Point Cloud and Mesh Visualizer for VS Code

View, compare and inspect point clouds, meshes, depth maps and disparity images directly inside VS Code.

Depth image converted to a point cloud

Highlights

  • Open large point clouds quickly, including files with millions of points
  • Compare multiple point clouds in one view and toggle them independently
  • Convert depth and disparity images into point clouds
  • Inspect meshes as surfaces, wireframes, points and normals
  • Use Eye-Dome Lighting and brightness correction for clearer uncolored geometry
  • Measure distances and adjust camera, rotation center and view parameters
  • Use the same viewer outside VS Code on the static website: https://f-kleinicke.de

Supported formats

Type Formats
Point clouds PLY, XYZ, XYZN, XYZRGB, PCD, PTS, NPY
Meshes PLY, OBJ, STL, OFF, GLTF, GLB
Depth/disparity images TIFF, PNG, PFM, NPY, NPZ
3D Body Poses JSON pose data (experimental)
Camera Profiles JSON pose data (experimental)

Features

Depth and Disparity to Point Cloud

Convert depth or disparity images into point clouds directly from VS Code. Projection settings include fx, fy, cx, cy, camera distortion models, mono depth scale and bias, PNG int16 scale and disparity offset.

Eye-Dome Lighting

Use Eye-Dome Lighting to improve depth perception, especially for uncolored point clouds.

Eye-Dome Lighting

Multiple Point Clouds

Load multiple point clouds into the same view, toggle them independently and switch between them with Shift-click.

Multiple point clouds

Mesh Inspection

Inspect mesh files with controls for surface, wireframe, points and normals. This is useful when checking geometry, topology or exported reconstruction results without leaving the editor.

Point Cloud Attributes

Point cloud files can include positions, RGB colors, normals and scalar fields. The viewer uses positions for geometry, original RGB values when available, normals for inspection, and intensity/reflectivity fields for optional scalar coloring.

Distance Measurement Tools and Camera Manipulation

Shift-double-click measures the distance between the rotation center and the selected point.

Navigation

Double-click a point to change the rotation center. This allows for easy navigation using a mouse or a trackpad. You can also manually enter the camera position, rotation center and viewing angle.

Performance-Aware Rendering

The viewer shows the current frame rate. When the point cloud is not moving, no more frames are generated, which helps reduce power usage.

NPY file structure options

  • As a depth image: [X,Y]
  • As a point cloud: [...,3] with the three values X,Y,Z

Quick start

  1. Open a supported file in VS Code.
  2. Use the default custom editor, or right-click the file and choose Open with 3D Visualizer.
  3. For depth and disparity images, use the conversion command for the file type and adjust the camera parameters when prompted.

The extension also adds commands for opening multiple point clouds, playing a point cloud sequence and converting depth files to point clouds.

Feature requests and issues

If you have a workflow that would benefit from new features or file formats, please open an issue on the GitHub repository. Example files are especially helpful when adding support for new formats.

Roadmap

  • Add support for more file formats, including FBX and Gaussian splats
  • Improve dataset support with example images from Middlebury stereo and ETH3D
  • Use calibration files next to depth images automatically when available (example files needed)
  • Accept 3d body pose files (example files needed)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors