Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SplatTransform GUI | 点云转换工具图形界面

为 @playcanvas/splat-transform 命令行工具打造的美观、易用的桌面图形界面。这个基于 Electron 的应用程序为 3D 高斯点云文件的转换和变换提供了可视化操作界面。

SplatTransform GUI License

功能特性 | Features

✨ Comprehensive GUI - Full access to all splat-transform CLI options through an intuitive interface

🔄 Format Conversion - Support for multiple formats:

  • PLY (standard and compressed)
  • SOG (bundled and unbundled)
  • SPLAT / KSPLAT
  • CSV
  • HTML Viewer

🎯 Transformations

  • Translate by (x, y, z)
  • Rotate by Euler angles
  • Uniform scaling

🎨 Advanced Filters

  • Spherical harmonic filtering
  • NaN/Inf value removal
  • Bounding box filtering
  • Spherical region filtering
  • Custom value-based filtering

📋 Live Logs - Real-time conversion progress and output

🔍 Auto-Detection - Automatically detects and installs @playcanvas/splat-transform if missing

⚡ User-Friendly

  • File browser for easy selection
  • Overwrite confirmation dialogs
  • Clear error messages
  • Responsive design

Installation

Prerequisites

  • Node.js (v16 or higher)
  • npm (comes with Node.js)

Steps

  1. Clone or download this repository

    git clone <repository-url>
    cd SplatTransform_GUI
  2. Install dependencies

    npm install
  3. Run the application

    npm start

Usage

Quick Start

  1. Launch the application

    npm start
  2. Check dependencies

    • The app will automatically check if @playcanvas/splat-transform is installed
    • If not installed, click the "Install" button
  3. Select input file

    • Click "Browse" next to Input File
    • Select your point cloud file (.ply, .splat, .ksplat, .sog, etc.)
  4. Choose output format

    • Select the desired output format from the dropdown
  5. Configure options (optional)

    • Set transformations (translate, rotate, scale)
    • Apply filters
    • Adjust advanced settings
  6. Convert

    • Click the "Convert" button
    • Watch the live log for progress
    • Output file will be saved in the same directory as input

Supported Formats

Input Formats

  • .ply - Standard PLY
  • .compressed.ply - Compressed PLY (auto-detected)
  • .splat - SPLAT format
  • .ksplat - KSPLAT format
  • .sog - SOG bundled format
  • meta.json - SOG unbundled format

Output Formats

  • .ply - Standard PLY
  • .compressed.ply - Compressed PLY
  • .sog - SOG bundled format
  • meta.json - SOG unbundled (requires directory selection)
  • .html - Standalone HTML viewer
  • .csv - CSV format
  • .splat - SPLAT format
  • .ksplat - KSPLAT format

Transformation Options

Translate

Move the point cloud by (x, y, z) coordinates

Example: x=1.5, y=0, z=-2.0

Rotate

Rotate by Euler angles in degrees

Example: x=45, y=90, z=0

Scale

Uniformly scale the point cloud

Example: 2.0 (doubles the size)

Filter Options

Spherical Harmonics

Remove spherical harmonic bands greater than the selected value (0-3)

NaN/Inf Filter

Remove Gaussians with invalid (NaN or Inf) values

Bounding Box

Keep only Gaussians inside a box defined by min/max corners

Example: minX=-5, minY=-5, minZ=-5, maxX=5, maxY=5, maxZ=5

Sphere Filter

Keep only Gaussians inside a sphere

Example: centerX=0, centerY=0, centerZ=0, radius=10

Value Filter

Filter based on property values

Example: Property="opacity", Comparison=">=", Value=0.5

Advanced Options

CPU Mode

Use CPU for SOG spherical harmonic compression (instead of GPU)

Iterations

Number of iterations for SOG SH compression (default: 10, more = better quality)

Viewer Settings

JSON file with custom settings for HTML viewer output

Custom Parameters

Pass custom parameters to .mjs generator scripts

Format: key1=value1,key2=value2

Development

Project Structure

SplatTransform_GUI/
├── main.js              # Electron main process
├── renderer.js          # Renderer process (GUI logic)
├── index.html           # Main GUI interface
├── styles.css           # Application styling
├── package.json         # Dependencies and scripts
└── README.md           # This file

Build for Distribution

To package the app for distribution:

npm install electron-builder --save-dev
npm run package

The built application will be in the dist/ folder.

Development Mode

Run with DevTools enabled:

npm run dev

CLI Command Reference

The GUI generates commands equivalent to the CLI. Here are some examples:

Simple Format Conversion

splat-transform input.ply output.csv

Convert with Transformation

splat-transform -t 1,2,3 -r 45,0,90 -s 2.0 input.ply output.ply

Convert to Compressed PLY

splat-transform input.ply output.compressed.ply

Convert to SOG with Filters

splat-transform -H 2 -N -S 0,0,0,10 input.ply output.sog

Convert to HTML Viewer

splat-transform -E settings.json input.ply output.html

Troubleshooting

@playcanvas/splat-transform not installing

  • Ensure you have an active internet connection
  • Try manually installing: npm install @playcanvas/splat-transform
  • Check npm registry access

Conversion fails

  • Verify input file is a valid point cloud file
  • Check the log output for specific error messages
  • Ensure sufficient disk space for output

File overwrite issues

  • Enable "Overwrite existing files" checkbox
  • Or manually delete existing output file

Credits

This GUI is a wrapper for the excellent @playcanvas/splat-transform CLI tool by PlayCanvas.

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Version History

v1.0.0 (2025-10-27)

  • Initial release
  • Full GUI for all splat-transform options
  • Auto-dependency detection and installation
  • Live conversion logs
  • Support for all input/output formats

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages