v3p - Vuer 3DGS Processing
Tools for Gaussian Splatting (3DGS) processing workflows. Built with params-proto for configuration management.
Installation
pip install v3p
For development:
git clone https://github.com/vuer-ai/vuer-3dgs-processing.git
cd vuer-3dgs-processing
pip install -e ".[dev]"
Quick Start
CLI Usage
The v3p command provides several subcommands for processing 3DGS point clouds:
# Show available commands
v3p
# Process a point cloud
v3p process --input-path input.ply --output-path output.ply
# Convert between formats
v3p convert --input-path input.ply --output-path output.pcd
Python API
import v3p
print(v3p.__version__)
Using the configuration classes directly:
from v3p.scripts.process import ProcessConfig, main
# Configure via class attributes
ProcessConfig.input_path = "input.ply"
ProcessConfig.output_path = "output.ply"
ProcessConfig.voxel_size = 0.01
ProcessConfig.verbose = True
# Run processing
main()
Commands
v3p process
Process 3DGS point clouds with filtering and downsampling.
v3p process --input-path <path> [options]
Options:
--input-path: Path to input PLY or point cloud file (required)--output-path: Path to output file (default: output.ply)--voxel-size: Voxel size for downsampling (default: 0.01)--remove-outliers: Remove statistical outliers (default: True)--num-neighbors: Number of neighbors for outlier detection (default: 20)--std-ratio: Standard deviation ratio for outlier removal (default: 2.0)--verbose: Enable verbose output
v3p convert
Convert between point cloud formats.
v3p convert --input-path <path> --output-path <path> [options]
Options:
--input-path: Path to input file (required)--output-path: Path to output file (required)--input-format: Input format - auto, ply, pcd, xyz (default: auto)--output-format: Output format - ply, pcd, xyz (default: ply)--binary: Write binary format when supported (default: True)--verbose: Enable verbose output
Configuration with params-proto
v3p uses params-proto for configuration management. This allows you to:
- Set parameters via CLI: All config class attributes become CLI flags
- Set parameters programmatically: Modify class attributes directly
- Use sweep files: Generate parameter sweeps for batch processing
Example sweep file:
from params_proto import Sweep
from v3p.scripts.process import ProcessConfig
with Sweep(ProcessConfig) as sweep:
ProcessConfig.input_path = "input.ply"
with sweep.product:
ProcessConfig.voxel_size = [0.01, 0.02, 0.05]
sweep.save("process_sweep.jsonl")
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
make test
# Build and preview documentation
make preview
# Build wheel
make wheel
# Publish to PyPI
make publish
Documentation
Full documentation: https://v3p.readthedocs.io/en/latest/
License
MIT
Metadata
Release files for v3p 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| v3p-0.1.0.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| v3p-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / v3p-0.1.0.tar.gz
| Download URL | v3p-0.1.0.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22863a8b599dedc4877fc8f08e1ce987c3864c10ab4af65cf97a8280aac2f6fa
|
|
BLAKE2b-256 checksum How to use checksums |
cda0412404645fa046eed28ce6def87e66196af2451e9ab51d2c8450bfb69ed0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / v3p-0.1.0-py3-none-any.whl
| Download URL | v3p-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c09489fe7b76a38924e8ab7feb5d12d8ff99d2dbcec9af2f289fa986c5aae65e
|
|
BLAKE2b-256 checksum How to use checksums |
5fe6fc2be083c1e9287d86522e6c47c69ac7368834f64af72f78aa116438bac2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|