Skip to main content

Fast PLY point cloud processing for 3D Gaussian splatting workflows

Project description

wildflow-splat

Fast PLY point cloud processing with Python bindings. Convert photogrammetry outputs into spatial patches for 3D Gaussian splatting workflows.

Installation

pip install wildflow-splat

Quick Start

from wildflow import splat

# Load PLY file and create configuration
config = splat.Config("model.ply")
config.sample_percentage = 50.0  # Process 50% of points

# Define spatial patch
patch = splat.Patch("section_1.bin")
patch.min_x = -100.0
patch.max_x = 100.0
config.add_patch(patch)

# Process point cloud
results = splat.split_point_cloud(config)
print(f"Processed {results['total_points_written']} points")

Features

  • High-performance Rust backend with Python bindings
  • Multi-threaded processing for large datasets
  • Spatial partitioning with configurable bounds
  • COLMAP-compatible output for 3D reconstruction pipelines
  • Progress bars with interrupt handling
  • JSON configuration support

API Reference

Config

config = splat.Config("input.ply")
config.sample_percentage = 75.0  # 0-100%
config.min_z = -50.0            # Z-axis filtering
config.max_z = 10.0

Patch

patch = splat.Patch("output.bin")
patch.min_x = -200.0  # Spatial bounds
patch.max_x = 200.0
patch.min_y = -200.0
patch.max_y = 200.0

Processing

results = splat.split_point_cloud(config)
# Returns: {'points_loaded': int, 'total_points_written': int, 'patches_written': int}

Configuration Files

Load settings from JSON:

config = splat.Config.from_file("config.json")

Example config.json:

{
  "input_file": "model.ply",
  "sample_percentage": 100.0,
  "minZ": -10.0,
  "maxZ": 50.0,
  "patches": [
    {
      "output_file": "patch_1.bin",
      "minX": -100.0,
      "maxX": 100.0,
      "minY": -100.0,
      "maxY": 100.0
    }
  ]
}

Requirements

  • Python 3.8+
  • Rust (for building from source)

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wildflow_splat-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (434.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file wildflow_splat-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wildflow_splat-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96d7d269ebe39ac5359d73e8b39999fd74ea3482c1b42681627e593c60dad69e
MD5 03691544cc9520d22604692af378716b
BLAKE2b-256 5985a3f0ac352d6cba2eff2a7defb99c3f7672296dca090524b1c54e82b7b2ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page