dgs-py 1.1.1__cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
Binary file
|
dgs/__init__.py
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dgs-py
|
|
3
|
+
Version: 1.1.1
|
|
4
|
+
Summary: Dynamic Gaussian Splats
|
|
5
|
+
Author-email: Daniel Elwell <de@true3d.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/splatsdotcom/DGS
|
|
8
|
+
Project-URL: Repository, https://github.com/splatsdotcom/DGS
|
|
9
|
+
Project-URL: Issues, https://github.com/splatsdotcom/DGS/issues
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
|
|
21
|
+
# DGS
|
|
22
|
+
This is the home of the **Dynamic Gaussian Splat** (`.dgs`) file format. This repository contains:
|
|
23
|
+
- The reference encoder + decoder for `.dgs` files, implemented in C
|
|
24
|
+
- Utility functions for manipulating `.dgs` files, implemented in C
|
|
25
|
+
- Python bindings for the aforementioned
|
|
26
|
+
|
|
27
|
+
This library serves as both the specification and reference implementation for `.dgs`, and is the core of all projects within [Splatkit](https://github.com/splatsdotcom/splatkit).
|
|
28
|
+
|
|
29
|
+
## Installation + Usage
|
|
30
|
+
To use `DGS` in your own project, you can install the package on `pip`:
|
|
31
|
+
```bash
|
|
32
|
+
pip install dgs-py
|
|
33
|
+
```
|
|
34
|
+
Then, it can be importated with a simple:
|
|
35
|
+
```python
|
|
36
|
+
import dgs
|
|
37
|
+
```
|
|
38
|
+
Here is a full example generating a single `.dgs` file:
|
|
39
|
+
```python
|
|
40
|
+
import dgs
|
|
41
|
+
import numpy as np
|
|
42
|
+
|
|
43
|
+
# example data:
|
|
44
|
+
means = np.array([
|
|
45
|
+
[0.3, 0.0, 0.0], [-0.3, 0.1, 0.1], [0.0, -0.2, 0.0]
|
|
46
|
+
], dtype=np.float32)
|
|
47
|
+
|
|
48
|
+
scales = np.array([
|
|
49
|
+
[0.2, 0.05, 0.05], [0.08, 0.3, 0.08], [0.1, 0.1, 0.25]
|
|
50
|
+
], dtype=np.float32)
|
|
51
|
+
|
|
52
|
+
rotations = np.array([
|
|
53
|
+
[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0]
|
|
54
|
+
], dtype=np.float32)
|
|
55
|
+
|
|
56
|
+
opacities = np.array([
|
|
57
|
+
[1.0], [1.0], [1.0]
|
|
58
|
+
], dtype=np.float32)
|
|
59
|
+
|
|
60
|
+
harmonics = (np.array([
|
|
61
|
+
[ [1.0, 0.0, 0.0] ], [ [0.0, 1.0, 0.0] ], [ [0.0, 0.0, 1.0] ]
|
|
62
|
+
], dtype=np.float32) - 0.5) / 0.28209479177387814
|
|
63
|
+
|
|
64
|
+
# encode:
|
|
65
|
+
gaussians = dgs.Gaussians(
|
|
66
|
+
means, scales, rotations, opacities, harmonics
|
|
67
|
+
)
|
|
68
|
+
metadata = dgs.Metadata()
|
|
69
|
+
|
|
70
|
+
dgs.encode(gaussians, metadata, "example.dgs")
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Documentation
|
|
74
|
+
Coming soon!
|
|
75
|
+
|
|
76
|
+
## Building
|
|
77
|
+
If you wish to contribute to this project, you will need to build it from source yourself. To build, you will need the tools:
|
|
78
|
+
- `setuptools` (`pip install setuptools`)
|
|
79
|
+
- `pybind11` (`pip install pybind11`)
|
|
80
|
+
Then, to build, you will first need to clone the repository and initialize the submodules:
|
|
81
|
+
```bash
|
|
82
|
+
git clone git@github.com:splatsdotcom/DGS.git
|
|
83
|
+
cd DGS
|
|
84
|
+
git submodule update --init --recursive
|
|
85
|
+
```
|
|
86
|
+
Then, the project can be built simply with:
|
|
87
|
+
```bash
|
|
88
|
+
pip install -v .
|
|
89
|
+
```
|
|
90
|
+
And the `dgs` package will become globally available on your system. There is currently no way to build the C library without the python bindings, but this will come in the future.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
dgs/_C.cpython-311-x86_64-linux-gnu.so,sha256=GOFFa3v-XsiBubkxMCrMKqFAm_N-9cCVMxp67oB7GFE,5391712
|
|
2
|
+
dgs/__init__.py,sha256=6jwNSU4eukfIZwSWiQqihWkPphTtmE64emi10j7U6LQ,60
|
|
3
|
+
dgs_py-1.1.1.dist-info/METADATA,sha256=JxPI0WkIx-gWkPLGCMSltfvR61jv6hECgjGM4BoNpNE,2937
|
|
4
|
+
dgs_py-1.1.1.dist-info/WHEEL,sha256=3daP3VhxT_uXQ4g9qxjrsHJLh9a9x1Dc522TvcSo1E0,152
|
|
5
|
+
dgs_py-1.1.1.dist-info/top_level.txt,sha256=Ds36X-ViXAymQ4RQzYlZuINMTSGfVoMzSgHSqVB-B8I,4
|
|
6
|
+
dgs_py-1.1.1.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dgs
|