Unusual mesh processing tools
Project description
Meshiki
A collection of unusual mesh processing algorithms.
Install
# from pypi, will build extension at first time
pip install meshiki
# locally
cd meshiki
pip install .
Usage
Trigs-to-Quads
Triangulate We want this!
Quads ----------> Trigs ------------> Quads
(obj, blender) (glb, fbx, ...)
This algorithm is aimed for converting a triangulated quad-dominant mesh back to a mixed tri/quad mesh, with as many as possible reasonable quad faces.
Our implementation is based on maximum weighted graph matching, and is usually better compared to the built-in tool (Edit Mode -> Face -> Tris to Quads) of blender.
from meshiki import Mesh
mesh = Mesh.load('mesh.glb', verbose=False)
mesh.quadrangulate()
mesh.export('mesh.obj') # must use obj for quad faces
Salient point sampling
This algorithm samples salient points from mesh surface as proposed in Dora.
from meshiki import Mesh, fps, load_mesh, triangulate
# load mesh
vertices, faces = load_mesh(mesh_path, clean=True)
# make sure it's pure-trig
faces = triangulate(faces)
mesh = Mesh(vertices, faces)
# sample 64K salient points
salient_points = mesh.salient_point_sample(64000, thresh_bihedral=30) # np.ndarray, [64000, 3]
We also implement uniform sampling and furthest point sampling:
# sample 128K uniform points
uniform_points = mesh.uniform_point_sample(128000) # np.ndarray, [128000, 3]
# use FPS to subsample 8K points from uniform points
fps_points = fps(uniform_points, N_FPS, backend='kdline') # np.ndarray, [8000, 3]
Acknowledgement
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meshiki-0.0.7.tar.gz.
File metadata
- Download URL: meshiki-0.0.7.tar.gz
- Upload date:
- Size: 62.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec8e0db172560e7e1a94a0673d4333398298c9fe71b17a4289ba0c4ec44ab982
|
|
| MD5 |
9ebd09fc598cf495c8d5d91942570909
|
|
| BLAKE2b-256 |
6d7c908c13063c17535d012b1dd08c8d2be2c036201629eb573b9fd850b96336
|
Provenance
The following attestation bundles were made for meshiki-0.0.7.tar.gz:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7.tar.gz -
Subject digest:
ec8e0db172560e7e1a94a0673d4333398298c9fe71b17a4289ba0c4ec44ab982 - Sigstore transparency entry: 241566183
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 197.5 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01cf76b97038e2d196a84872fc3e012dd29d23f6f8c4f80b739376b79fc13953
|
|
| MD5 |
30f24bf72cb782f6adb8f75852c0dabc
|
|
| BLAKE2b-256 |
7a1f81c2338d163a761a9f5e96401e319bf30b97398be9ac8def7a4860e9b40f
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp312-cp312-win_amd64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp312-cp312-win_amd64.whl -
Subject digest:
01cf76b97038e2d196a84872fc3e012dd29d23f6f8c4f80b739376b79fc13953 - Sigstore transparency entry: 241566200
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp312-cp312-win32.whl.
File metadata
- Download URL: meshiki-0.0.7-cp312-cp312-win32.whl
- Upload date:
- Size: 168.7 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59dd7128c9d77c22b134218f4585feb0f4b30fca65b475f95ae8421f5e704623
|
|
| MD5 |
3e62aee5914ef81d2d34fb639bac7cfc
|
|
| BLAKE2b-256 |
27f0a57d37049bd5f2da0a9a12f8c97e22a8fef58e3c7f398afc8435f234a55e
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp312-cp312-win32.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp312-cp312-win32.whl -
Subject digest:
59dd7128c9d77c22b134218f4585feb0f4b30fca65b475f95ae8421f5e704623 - Sigstore transparency entry: 241566210
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 263.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5ce2395661c5334d3f15f967d7bfe6190775bc116902272e8acf1cf062dc90e
|
|
| MD5 |
548840610fc180f77dda4f81a26f1428
|
|
| BLAKE2b-256 |
500ba9b969937e1ac50c2f4bc770635e9b442f9a173139448ce06df5c17e4ce3
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c5ce2395661c5334d3f15f967d7bfe6190775bc116902272e8acf1cf062dc90e - Sigstore transparency entry: 241566205
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 196.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b0c1d8014f4717445661d48c74d388c3bb278827d2f49255e76fc6a4a5d8bdd
|
|
| MD5 |
efed0c58d5b0a77c483b7017f8f25835
|
|
| BLAKE2b-256 |
ee77ff7928ca116ce690e4759fd997d1a9687e62adf465ca12e1240fd8aa3255
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp311-cp311-win_amd64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp311-cp311-win_amd64.whl -
Subject digest:
1b0c1d8014f4717445661d48c74d388c3bb278827d2f49255e76fc6a4a5d8bdd - Sigstore transparency entry: 241566236
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp311-cp311-win32.whl.
File metadata
- Download URL: meshiki-0.0.7-cp311-cp311-win32.whl
- Upload date:
- Size: 168.7 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d74f5d91bb474dfdd55da2b40b92613bf42bf122ce635603167163416dc3b14f
|
|
| MD5 |
850f25ee75b8f0d04611770ca7dc65fb
|
|
| BLAKE2b-256 |
8cfe54904785081ddd268a2e920e15f72ec6ef9d53bd38150fa6bccab56347fd
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp311-cp311-win32.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp311-cp311-win32.whl -
Subject digest:
d74f5d91bb474dfdd55da2b40b92613bf42bf122ce635603167163416dc3b14f - Sigstore transparency entry: 241566187
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 262.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85e7589b73564b6bdf28d65073aa3b41b22ae25a71033c24caf123b0756d1ea3
|
|
| MD5 |
fb3e7938dc40a319502f22934cb3546c
|
|
| BLAKE2b-256 |
73e8b8c7bbcc171d8b6506d659637df290b5cc9a6150061f30522bd005230ce3
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
85e7589b73564b6bdf28d65073aa3b41b22ae25a71033c24caf123b0756d1ea3 - Sigstore transparency entry: 241566216
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 195.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b60f09ae012e5a3eb44bfc8a70a0f0a2f4c0fea5543b82bdcb5d9828057e215
|
|
| MD5 |
10307c685088392234ad383897a6cbec
|
|
| BLAKE2b-256 |
cc22620a9605735101548b8d8f1ffc98974f53e3067c72803a4923d91817e54a
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp310-cp310-win_amd64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp310-cp310-win_amd64.whl -
Subject digest:
2b60f09ae012e5a3eb44bfc8a70a0f0a2f4c0fea5543b82bdcb5d9828057e215 - Sigstore transparency entry: 241566230
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp310-cp310-win32.whl.
File metadata
- Download URL: meshiki-0.0.7-cp310-cp310-win32.whl
- Upload date:
- Size: 167.6 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57a9511b9499fd18054905f5eb6372ee9ce1296d45159da9d7f15a620f122ea8
|
|
| MD5 |
df29c2562de9e70de6d6292edda5e004
|
|
| BLAKE2b-256 |
bb4913f6010abb7c3811b56f0934ca176e4658e7cbf91652aba427553cda61ee
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp310-cp310-win32.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp310-cp310-win32.whl -
Subject digest:
57a9511b9499fd18054905f5eb6372ee9ce1296d45159da9d7f15a620f122ea8 - Sigstore transparency entry: 241566193
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 261.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79799368606ecacb1e77cfb853a3d3f5eefc17eedd25fc044d83c5074298ff8d
|
|
| MD5 |
7bc4b3902ca8e5f1334cbdc239def2de
|
|
| BLAKE2b-256 |
c96a7f0ea96d32fcacc7042ed5a08819ecb654f7692b7a432c87857343acaf2c
|
Provenance
The following attestation bundles were made for meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on ashawkey/meshiki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
79799368606ecacb1e77cfb853a3d3f5eefc17eedd25fc044d83c5074298ff8d - Sigstore transparency entry: 241566224
- Sigstore integration time:
-
Permalink:
ashawkey/meshiki@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashawkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a318af1ea79c0fee613ec6635b912ba8bc79924f -
Trigger Event:
workflow_dispatch
-
Statement type: