Skip to main content

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

meshiki-0.0.7.tar.gz (62.5 kB view details)

Uploaded Source

Built Distributions

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

meshiki-0.0.7-cp312-cp312-win_amd64.whl (197.5 kB view details)

Uploaded CPython 3.12Windows x86-64

meshiki-0.0.7-cp312-cp312-win32.whl (168.7 kB view details)

Uploaded CPython 3.12Windows x86

meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (263.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

meshiki-0.0.7-cp311-cp311-win_amd64.whl (196.8 kB view details)

Uploaded CPython 3.11Windows x86-64

meshiki-0.0.7-cp311-cp311-win32.whl (168.7 kB view details)

Uploaded CPython 3.11Windows x86

meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (262.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

meshiki-0.0.7-cp310-cp310-win_amd64.whl (195.4 kB view details)

Uploaded CPython 3.10Windows x86-64

meshiki-0.0.7-cp310-cp310-win32.whl (167.6 kB view details)

Uploaded CPython 3.10Windows x86

meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (261.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Hashes for meshiki-0.0.7.tar.gz
Algorithm Hash digest
SHA256 ec8e0db172560e7e1a94a0673d4333398298c9fe71b17a4289ba0c4ec44ab982
MD5 9ebd09fc598cf495c8d5d91942570909
BLAKE2b-256 6d7c908c13063c17535d012b1dd08c8d2be2c036201629eb573b9fd850b96336

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7.tar.gz:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 01cf76b97038e2d196a84872fc3e012dd29d23f6f8c4f80b739376b79fc13953
MD5 30f24bf72cb782f6adb8f75852c0dabc
BLAKE2b-256 7a1f81c2338d163a761a9f5e96401e319bf30b97398be9ac8def7a4860e9b40f

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp312-cp312-win_amd64.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 59dd7128c9d77c22b134218f4585feb0f4b30fca65b475f95ae8421f5e704623
MD5 3e62aee5914ef81d2d34fb639bac7cfc
BLAKE2b-256 27f0a57d37049bd5f2da0a9a12f8c97e22a8fef58e3c7f398afc8435f234a55e

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp312-cp312-win32.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for meshiki-0.0.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c5ce2395661c5334d3f15f967d7bfe6190775bc116902272e8acf1cf062dc90e
MD5 548840610fc180f77dda4f81a26f1428
BLAKE2b-256 500ba9b969937e1ac50c2f4bc770635e9b442f9a173139448ce06df5c17e4ce3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1b0c1d8014f4717445661d48c74d388c3bb278827d2f49255e76fc6a4a5d8bdd
MD5 efed0c58d5b0a77c483b7017f8f25835
BLAKE2b-256 ee77ff7928ca116ce690e4759fd997d1a9687e62adf465ca12e1240fd8aa3255

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp311-cp311-win_amd64.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d74f5d91bb474dfdd55da2b40b92613bf42bf122ce635603167163416dc3b14f
MD5 850f25ee75b8f0d04611770ca7dc65fb
BLAKE2b-256 8cfe54904785081ddd268a2e920e15f72ec6ef9d53bd38150fa6bccab56347fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp311-cp311-win32.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for meshiki-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85e7589b73564b6bdf28d65073aa3b41b22ae25a71033c24caf123b0756d1ea3
MD5 fb3e7938dc40a319502f22934cb3546c
BLAKE2b-256 73e8b8c7bbcc171d8b6506d659637df290b5cc9a6150061f30522bd005230ce3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2b60f09ae012e5a3eb44bfc8a70a0f0a2f4c0fea5543b82bdcb5d9828057e215
MD5 10307c685088392234ad383897a6cbec
BLAKE2b-256 cc22620a9605735101548b8d8f1ffc98974f53e3067c72803a4923d91817e54a

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp310-cp310-win_amd64.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for meshiki-0.0.7-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 57a9511b9499fd18054905f5eb6372ee9ce1296d45159da9d7f15a620f122ea8
MD5 df29c2562de9e70de6d6292edda5e004
BLAKE2b-256 bb4913f6010abb7c3811b56f0934ca176e4658e7cbf91652aba427553cda61ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.7-cp310-cp310-win32.whl:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for meshiki-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79799368606ecacb1e77cfb853a3d3f5eefc17eedd25fc044d83c5074298ff8d
MD5 7bc4b3902ca8e5f1334cbdc239def2de
BLAKE2b-256 c96a7f0ea96d32fcacc7042ed5a08819ecb654f7692b7a432c87857343acaf2c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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