From c52b4991b92ecc482e33044bf080376197e1244c Mon Sep 17 00:00:00 2001 From: ifilot Date: Mon, 17 Mar 2025 19:45:19 +0100 Subject: [PATCH 1/7] Fixing error in setup.py --- meta.yaml | 2 +- pytessel/_version.py | 2 +- setup.py | 18 +----------------- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/meta.yaml b/meta.yaml index 1b9401a..822a243 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,6 +1,6 @@ package: name: "pytessel" - version: "1.2.3" + version: "1.2.4" source: path: . diff --git a/pytessel/_version.py b/pytessel/_version.py index 10aa336..b3f9ac7 100644 --- a/pytessel/_version.py +++ b/pytessel/_version.py @@ -1 +1 @@ -__version__ = "1.2.3" +__version__ = "1.2.4" diff --git a/setup.py b/setup.py index 110ea60..36485cf 100644 --- a/setup.py +++ b/setup.py @@ -4,22 +4,6 @@ import sys import re -PKG = "pytessel" -VERSIONFILE = os.path.join(os.path.dirname(__file__), PKG, "_version.py") -verstr = "unknown" -try: - verstrline = open(VERSIONFILE, "rt").read() -except EnvironmentError: - pass # Okay, there is no version file. -else: - VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]" - mo = re.search(VSRE, verstrline, re.M) - if mo: - verstr = mo.group(1) - else: - print(r"Unable to find version in %s" % (VERSIONFILE,)) - raise RuntimeError(r"If %s.py exists, it is required to be well-formed" % (VERSIONFILE,)) - PKG = "pytessel" VERSIONFILE = os.path.join(os.path.dirname(__file__), PKG, "_version.py") verstr = "unknown" @@ -114,7 +98,7 @@ def find_windows_versions(): setup( name=PKG, - version="1.2.0", + version=verstr, author="Ivo Filot", author_email="ivo@ivofilot.nl", description="Python package for building isosurfaces from 3D scalar fields", From fcae96f48f18a0bcfa17084443a2717f4d954e0c Mon Sep 17 00:00:00 2001 From: ifilot Date: Sun, 21 Dec 2025 07:32:41 +0100 Subject: [PATCH 2/7] Changing build system to meson --- .github/workflows/build_wheels.yml | 6 +- doc.Dockerfile | 2 - environment.yml | 6 - meson.build | 103 +++++++++ pyproject.toml | 128 ++++++++++- pytessel/_version.py | 7 +- pytessel/pytessel.pyx | 135 ------------ pytessel/{pytessel.pxd => pytessel_core.pxd} | 17 +- pytessel/pytessel_core.pyx | 213 +++++++++++++++++++ pytessel/vec3.h | 2 + setup.py | 120 ----------- testversion.py | 72 ------- 12 files changed, 453 insertions(+), 358 deletions(-) delete mode 100644 doc.Dockerfile delete mode 100644 environment.yml create mode 100644 meson.build delete mode 100644 pytessel/pytessel.pyx rename pytessel/{pytessel.pxd => pytessel_core.pxd} (80%) create mode 100644 pytessel/pytessel_core.pyx delete mode 100755 setup.py delete mode 100644 testversion.py diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 6ef0ce8..e58c306 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -14,10 +14,10 @@ on: - published env: - # Build `universal2` and `arm64` wheels on an Intel runner. - # Note that the `arm64` wheel and the `arm64` part of the `universal2` - # wheel cannot be tested in this configuration. CIBW_ARCHS_MACOS: "x86_64 arm64" + CIBW_ARCHS_WINDOWS: "AMD64" + CIBW_SKIP: "cp38-*" + CIBW_BUILD_VERBOSITY: 1 jobs: diff --git a/doc.Dockerfile b/doc.Dockerfile deleted file mode 100644 index 000052c..0000000 --- a/doc.Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM nginx:latest -COPY html-docs/ /usr/share/nginx/html/ \ No newline at end of file diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 92f994f..0000000 --- a/environment.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: pytessel -dependencies: - - numpy - - conda-build - - conda-verify - - anaconda-client diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..580ecc0 --- /dev/null +++ b/meson.build @@ -0,0 +1,103 @@ +# --------------------------------------------------------------------------- +# Top-level project definition +# --------------------------------------------------------------------------- +# +# This project builds a Python extension module backed by C++ and Cython. +# We explicitly require a modern Meson version to ensure stable behavior +# with meson-python and PEP 517 builds. +# +project( + 'pytessel', + ['cpp', 'cython'], + meson_version: '>=1.0.0', + default_options: [ + 'buildtype=release', # Optimized builds by default + 'cpp_std=c++17', # Required by the C++ sources + ] +) + +# --------------------------------------------------------------------------- +# Python and compiler discovery +# --------------------------------------------------------------------------- +# +# We ask Meson for the *non-pure* Python installation because this project +# builds a compiled extension (.pyd / .so), not a pure-Python wheel. +# +# meson-python ensures that this Python installation corresponds to the +# wheel being built inside the PEP 517 environment. +# +py = import('python').find_installation(pure: false) + +# Fetch the C++ compiler object. We do not force a specific compiler here; +# the actual toolchain selection is handled externally (CI configuration). +# +# On Windows CI we intentionally rely on MinGW for robustness. +# +cpp = meson.get_compiler('cpp') + + +# --------------------------------------------------------------------------- +# OpenMP support +# --------------------------------------------------------------------------- +openmp_dep = [] +openmp = dependency('openmp', required: false) +if openmp.found() + openmp_dep = [openmp] +endif + +# --------------------------------------------------------------------------- +# Include directories +# --------------------------------------------------------------------------- +# +# Project headers live inside the Python package directory itself. +# This allows: +# - a clean package layout +# - easy access to headers from both C++ and Cython sources +# +inc = include_directories('pytessel') + + +# --------------------------------------------------------------------------- +# Compiled Python extension module +# --------------------------------------------------------------------------- +# +# This builds the core extension module (pytessel_core) which is imported from +# Python as: +# +# from pytessel import pytessel_core +# +# Notes: +# - Sources include both C++ and a Cython .pyx file +# - cython_language=cpp ensures Cython generates C++ code +# - subdir='pytessel' ensures the extension is installed inside the package +# - install=true is required for wheel builds +# +# Toolchain notes (important for CI): +# - On Windows, this is built with MinGW in CI and repaired with delvewheel +# - We intentionally avoid MSVC-specific logic here to keep meson.build +# platform-agnostic and CI-stable +# +py.extension_module( + 'pytessel_core', + [ + 'pytessel/pytessel_core.pyx', + 'pytessel/isosurface_mesh.cpp', + 'pytessel/isosurface.cpp', + 'pytessel/scalar_field.cpp', + ], + subdir: 'pytessel', + include_directories: inc, + override_options: ['cython_language=cpp'], + dependencies: openmp_dep, + install: true, +) + +# --------------------------------------------------------------------------- +# Pure-Python source files +# --------------------------------------------------------------------------- +py.install_sources( + 'pytessel/__init__.py', + 'pytessel/_version.py', + + subdir: 'pytessel', +) \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 7834a23..3f7458f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,15 +1,131 @@ +# --------------------------------------------------------------------------- +# Build system configuration +# --------------------------------------------------------------------------- +# +# We use meson-python (PEP 517 backend) to build the C/C++ extension. +# In principle this works well across platforms, but Windows deserves +# special attention (see cibuildwheel.windows below). +# +# NOTE: +# - meson-python runs builds in a fully isolated PEP 517 environment. +# - Environment setup done in GitHub Actions (PATH, vcvarsall, etc.) +# does NOT reliably propagate into the actual Meson invocation. +# +# This isolation is the root cause of most Windows-specific complexity. +# [build-system] requires = [ - "setuptools>=42", - "wheel", + "meson-python", "Cython", "numpy", + + # Required only for Windows wheels when building with MinGW. + # delvewheel is used to bundle MinGW runtime DLLs into the wheel. + # + # IMPORTANT: + # We intentionally do NOT rely on MSVC here, because: + # - MSVC + Meson + meson-python + cibuildwheel is currently brittle + # in CI due to PATH/link.exe collisions with Git for Windows. + # - meson-python does not support platform-scoped arguments, making + # it impossible to reliably force MSVC via Meson native files + # without breaking Linux/macOS builds. + # + "delvewheel" +] +build-backend = "mesonpy" + + +# --------------------------------------------------------------------------- +# Project metadata +# --------------------------------------------------------------------------- +[project] +name = "pytessel" +version = "1.3.0" +description = "Python package for building isosurfaces from 3D scalar fields" +readme = "README.md" +license = { text = "GPL-3.0-only" } +authors = [ + { name = "Ivo Filot", email = "ivo@ivofilot.nl" } ] -build-backend = "setuptools.build_meta" +requires-python = ">=3.9" + +# Runtime Python dependencies (independent of build backend) +dependencies = ["numpy"] + +[project.urls] +Homepage = "https://github.com/ifilot/pyqint" + +# --------------------------------------------------------------------------- +# cibuildwheel configuration +# --------------------------------------------------------------------------- +# +# cibuildwheel is used to build wheels for Linux, macOS, and Windows. +# +# IMPORTANT DESIGN DECISION (Windows): +# +# We intentionally build Windows wheels using MinGW rather than MSVC. +# +# Why? +# ---- +# Using MSVC with Meson in CI looks appealing, but in practice it is +# extremely fragile due to: +# +# - MSVC tool names (link.exe, lib.exe) colliding with Git for Windows +# - PATH ordering being rebuilt inside PEP 517 isolation +# - meson-python lacking platform-scoped configuration hooks +# - Meson correctly refusing mixed toolchains +# +# After extensive attempts, the MinGW + delvewheel approach proved to be: +# - deterministic +# - CI-stable +# - well-supported by cibuildwheel +# - transparent to end users +# +# The cost is a small number of bundled runtime DLLs, which delvewheel +# handles automatically. +# [tool.cibuildwheel] -test-requires = "pytest numpy cython" + +# pytest is used to validate the built wheel after installation +test-requires = "pytest" test-command = "pytest {project}/tests" -# skip PyPy wheels -skip = ["pp*", "cp36-*"] +# Skip configurations we do not support or do not need +skip = [ + "pp*", # PyPy not supported + "*-win32", # 32-bit Windows not supported + "*-manylinux_i686", # 32-bit Linux not supported + "cp*-musllinux_*", # musllinux not supported + "cp38-*", # Python < 3.9 not supported +] + + +# --------------------------------------------------------------------------- +# Windows-specific wheel repair +# --------------------------------------------------------------------------- +# +# MinGW-built extensions depend on runtime DLLs such as: +# - libstdc++-6.dll +# - libgcc_s_seh-1.dll +# - libwinpthread-1.dll +# +# These DLLs are NOT present on a default Windows system. +# +# delvewheel: +# - scans the built .pyd file +# - finds MinGW runtime dependencies +# - bundles them into the wheel +# - patches the loader so imports work out-of-the-box +# +# This step is REQUIRED for functional Windows wheels when using MinGW. +# +[tool.cibuildwheel.windows] + +# Install delvewheel into the isolated cibuildwheel environment +before-build = [ + "pip install delvewheel", +] + +# Repair the wheel after build by bundling MinGW runtime DLLs +repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel}" \ No newline at end of file diff --git a/pytessel/_version.py b/pytessel/_version.py index 7f647d0..d46ba33 100755 --- a/pytessel/_version.py +++ b/pytessel/_version.py @@ -1 +1,6 @@ -__version__ = "1.2.7" +from importlib.metadata import version, PackageNotFoundError + +try: + __version__ = version("pytessel") +except PackageNotFoundError: + __version__ = "0.0.0" # optional fallback \ No newline at end of file diff --git a/pytessel/pytessel.pyx b/pytessel/pytessel.pyx deleted file mode 100644 index 9cc9dbb..0000000 --- a/pytessel/pytessel.pyx +++ /dev/null @@ -1,135 +0,0 @@ -# distutils: language = c++ -# cython: c_string_type=unicode, c_string_encoding=utf8 - -from .pytessel cimport ScalarField, IsoSurface -from libcpp.string cimport string -from libcpp.memory cimport shared_ptr,make_shared -import numpy as np -import sys -import cython -import numpy.typing as npt - -cdef class PyTessel: - - def __cinit__(self): - pass - - @cython.embedsignature(True) - def marching_cubes(self, vector[float] grid, vector[size_t] dimensions, vector[float] unitcell, float isovalue) -> \ - (npt.NDArray[np.float64], npt.NDArray[np.float64], npt.NDArray[np.float64]): - """ - Perform marching cubes algorithm to generate isosurface - - Parameters - ---------- - grid : Iterable of floats - Scalar field as a flattened array - dimensions : Iterable of ints - Dimensions of the scalar field grid (nx, ny, nz) - unitcell : Iterable of floats - Unitcell matrix (flattened) - isovalue : float - Isovalue of the isosurface - - Returns - ------- - vertices : (Nx3) numpy array of floats - Triangle vertices - normals : (Nx3) numpy array of floats - Triangle normals (at the vertices) - indices : numpy array of ints - Triangle indices - - Notes - ----- - * The scalar field needs to be encoded such that the z-coordinate is the slowest moving - index and the x-coordinate the fastest moving index. - * The dimensions of the scalar field are encoded in the order :code:`(nx, ny, nz)`. - * You can use :code:`reversed(grid.shape)` to pass the dimensions. - * The output of the :code:`marching_cubes` function are three arrays, corresponding to the - vertices, the normals, and the indices of the isosurface. The isosurface corresponds to - a number of linked triangles (polygons) whose vertices are stored in the :code:`vertices` - array. For each vertex, the normal vector is encoded in the :code:`normals` array. Finally, - the triangles are stored as a triplet of indices in the :code:`indices` array. These indices - refer to the position in the :code:`vertices` and :code:`normals` array. Because multiple - triangles can use the same vertices, this is an efficient way to store the isosurface. - * One rarely needs to perform any operations on the :code:`vertices`, :code:`normals` and - :code:`indices` arrays. Typically, these arrays are constructed and immediately relayed - to the :code:`write_ply` function to store them as a file which can be used in another - program. - """ - cdef shared_ptr[ScalarField] scalarfield - cdef shared_ptr[IsoSurface] isosurface - cdef shared_ptr[IsoSurfaceMesh] isosurface_mesh - - # build scalar field - scalarfield = make_shared[ScalarField](grid, dimensions, unitcell) - - # construct isosurface - isosurface = make_shared[IsoSurface](scalarfield) - isosurface.get().marching_cubes(isovalue) - - # extract isosurface mesh - isosurface_mesh = make_shared[IsoSurfaceMesh](scalarfield, isosurface) - isosurface_mesh.get().construct_mesh(False) - - # extract data - vertices = np.array(isosurface_mesh.get().get_vertices(), dtype=np.float32).reshape(-1,3) - normals = np.array(isosurface_mesh.get().get_normals(), dtype=np.float32).reshape(-1,3) - indices = np.array(isosurface_mesh.get().get_indices(), dtype=np.uint32) - - return vertices, normals, indices - - @cython.embedsignature(True) - def write_ply(self, filename:str, vertices:npt.NDArray[np.float64], normals:npt.NDArray[np.float64], indices:npt.NDArray[np.uint32]) -> None: - """Stores isosurface as .ply file - - Parameters - ---------- - filename : str - Path to file - vertices : Iterable of floats - Array of vertices - normals : Iterable of floats - Array of normals - indices : Iterable of ints - Array of triangle indices - - Returns - ------- - None - - Notes - ----- - * This function is designed to be used with :code:`marching_cubes`. One can directly relay the output - of :code:`marching_cube` as the input for :code:`write_ply`. - """ - f = open(filename, 'wb') - - f.write(b"ply\n") - if sys.byteorder == 'little': - f.write(b"format binary_little_endian 1.0\n") - else: - f.write(b"format binary_big_endian 1.0\n") - - f.write(b"comment test\n") - f.write(b"element vertex %i\n" % vertices.shape[0]) - f.write(b"property float x\n") - f.write(b"property float y\n") - f.write(b"property float z\n") - f.write(b"property float nx\n") - f.write(b"property float ny\n") - f.write(b"property float nz\n") - f.write(b"element face %i\n" % int(len(indices)/3)) - f.write(b"property list uchar uint vertex_indices\n") - f.write(b"end_header\n") - - for i in range(0, len(vertices)): - f.write(vertices[i].tobytes()) - f.write(normals[i].tobytes()) - - for i in range(0, int(len(indices)/3)): - f.write(b'\x03') - f.write(indices[i*3:(i+1)*3].tobytes()) - - f.close() diff --git a/pytessel/pytessel.pxd b/pytessel/pytessel_core.pxd similarity index 80% rename from pytessel/pytessel.pxd rename to pytessel/pytessel_core.pxd index 064da3d..00f0185 100644 --- a/pytessel/pytessel.pxd +++ b/pytessel/pytessel_core.pxd @@ -1,21 +1,12 @@ -# distutils: language = c++ +# cython: language_level=3 +# cython: language=c++ +# cython: module_name=pytessel_core +# cython: c_string_type=unicode, c_string_encoding=utf8 from libcpp.vector cimport vector from libcpp.string cimport string from libcpp.memory cimport shared_ptr -# IsoSurface -cdef extern from "isosurface.cpp": - pass - -# Isosurface Mesh -cdef extern from "isosurface_mesh.cpp": - pass - -# Scalar Field -cdef extern from "scalar_field.cpp": - pass - # Scalar Field class cdef extern from "scalar_field.h": cdef cppclass ScalarField: diff --git a/pytessel/pytessel_core.pyx b/pytessel/pytessel_core.pyx new file mode 100644 index 0000000..315adbb --- /dev/null +++ b/pytessel/pytessel_core.pyx @@ -0,0 +1,213 @@ +# cython: language_level=3 +# cython: language=c++ +# cython: module_name=pytessel_core +# cython: c_string_type=unicode, c_string_encoding=utf8 + +from .pytessel_core cimport ScalarField, IsoSurface +from libcpp.string cimport string +from libcpp.memory cimport shared_ptr,make_shared +import numpy as np +import sys +import cython +import numpy.typing as npt + +cdef class PyTessel: + + def __cinit__(self): + pass + + @cython.embedsignature(True) + def marching_cubes( + self, + vector[float] grid, + vector[size_t] dimensions, + vector[float] unitcell, + float isovalue + ) -> tuple[ + npt.NDArray[np.float64], + npt.NDArray[np.float64], + npt.NDArray[np.float64] + ]: + """ + Perform marching cubes algorithm to generate isosurface + + Parameters + ---------- + grid : Iterable of floats + Scalar field as a flattened array + dimensions : Iterable of ints + Dimensions of the scalar field grid (nx, ny, nz) + unitcell : Iterable of floats + Unitcell matrix (flattened) + isovalue : float + Isovalue of the isosurface + + Returns + ------- + vertices : (Nx3) numpy array of floats + Triangle vertices + normals : (Nx3) numpy array of floats + Triangle normals (at the vertices) + indices : numpy array of ints + Triangle indices + + Notes + ----- + * The scalar field needs to be encoded such that the z-coordinate is the slowest moving + index and the x-coordinate the fastest moving index. + * The dimensions of the scalar field are encoded in the order :code:`(nx, ny, nz)`. + * You can use :code:`reversed(grid.shape)` to pass the dimensions. + * The output of the :code:`marching_cubes` function are three arrays, corresponding to the + vertices, the normals, and the indices of the isosurface. The isosurface corresponds to + a number of linked triangles (polygons) whose vertices are stored in the :code:`vertices` + array. For each vertex, the normal vector is encoded in the :code:`normals` array. Finally, + the triangles are stored as a triplet of indices in the :code:`indices` array. These indices + refer to the position in the :code:`vertices` and :code:`normals` array. Because multiple + triangles can use the same vertices, this is an efficient way to store the isosurface. + * One rarely needs to perform any operations on the :code:`vertices`, :code:`normals` and + :code:`indices` arrays. Typically, these arrays are constructed and immediately relayed + to the :code:`write_ply` function to store them as a file which can be used in another + program. + """ + cdef shared_ptr[ScalarField] scalarfield + cdef shared_ptr[IsoSurface] isosurface + cdef shared_ptr[IsoSurfaceMesh] isosurface_mesh + + # build scalar field + scalarfield = make_shared[ScalarField](grid, dimensions, unitcell) + + # construct isosurface + isosurface = make_shared[IsoSurface](scalarfield) + isosurface.get().marching_cubes(isovalue) + + # extract isosurface mesh + isosurface_mesh = make_shared[IsoSurfaceMesh](scalarfield, isosurface) + isosurface_mesh.get().construct_mesh(False) + + # extract data + vertices = np.array(isosurface_mesh.get().get_vertices(), dtype=np.float32).reshape(-1,3) + normals = np.array(isosurface_mesh.get().get_normals(), dtype=np.float32).reshape(-1,3) + indices = np.array(isosurface_mesh.get().get_indices(), dtype=np.uint32) + + return vertices, normals, indices + + def write_ply( + filename: str, + vertices: npt.NDArray[np.float64], + normals: npt.NDArray[np.float64], + indices: npt.NDArray[np.uint32], + ) -> None: + """ + Write a binary PLY file with vertices, normals, and triangular faces. + """ + + if vertices.shape != normals.shape: + raise ValueError("vertices and normals must have the same shape") + + if vertices.shape[1] != 3: + raise ValueError("vertices must be of shape (N, 3)") + + if indices.ndim != 1 or len(indices) % 3 != 0: + raise ValueError("indices must be a flat array of length multiple of 3") + + n_vertices = vertices.shape[0] + n_faces = len(indices) // 3 + + endian = "binary_little_endian" if sys.byteorder == "little" else "binary_big_endian" + + header = ( + "ply\n" + f"format {endian} 1.0\n" + "comment generated by write_ply\n" + f"element vertex {n_vertices}\n" + "property float x\n" + "property float y\n" + "property float z\n" + "property float nx\n" + "property float ny\n" + "property float nz\n" + f"element face {n_faces}\n" + "property list uchar uint vertex_indices\n" + "end_header\n" + ).encode("ascii") + + # Interleave vertices and normals: (N, 6) + vertex_data = np.hstack((vertices, normals)).astype(np.float32, copy=False) + + # Face data: [3, i0, i1, i2] + face_data = np.empty((n_faces, 4), dtype=np.uint32) + face_data[:, 0] = 3 + face_data[:, 1:] = indices.reshape(-1, 3) + + # The first element must be uint8, the rest uint32 + face_bytes = np.empty( + n_faces, + dtype=[("n", "u1"), ("i", "u4", (3,))] + ) + face_bytes["n"] = 3 + face_bytes["i"] = indices.reshape(-1, 3) + + with open(filename, "wb") as f: + f.write(header) + f.write(vertex_data.tobytes()) + f.write(face_bytes.tobytes()) + + def write_stl( + filename: str, + vertices: npt.NDArray[np.float64], + indices: npt.NDArray[np.uint32], + normals: npt.NDArray[np.float64] | None = None, + ) -> None: + """ + Write a binary STL file. + + Parameters + ---------- + vertices : (N, 3) + indices : (M,) flat array, length multiple of 3 + normals : optional (M/3, 3); computed if None + """ + + if vertices.shape[1] != 3: + raise ValueError("vertices must be of shape (N, 3)") + + if len(indices) % 3 != 0: + raise ValueError("indices length must be a multiple of 3") + + triangles = vertices[indices].reshape(-1, 3, 3) + + if normals is None: + # Compute face normals + v1 = triangles[:, 1] - triangles[:, 0] + v2 = triangles[:, 2] - triangles[:, 0] + normals = np.cross(v1, v2) + + norm = np.linalg.norm(normals, axis=1) + norm[norm == 0] = 1.0 + normals /= norm[:, None] + + n_triangles = triangles.shape[0] + + header = b"Generated by write_stl".ljust(80, b"\0") + + with open(filename, "wb") as f: + f.write(header) + f.write(np.uint32(n_triangles).tobytes()) + + # STL triangle record dtype + dtype = np.dtype([ + ("normal", "f4", (3,)), + ("v1", "f4", (3,)), + ("v2", "f4", (3,)), + ("v3", "f4", (3,)), + ("attr", "u2"), + ]) + + data = np.empty(n_triangles, dtype=dtype) + data["normal"] = normals.astype(np.float32) + data["v1"] = triangles[:, 0].astype(np.float32) + data["v2"] = triangles[:, 1].astype(np.float32) + data["v3"] = triangles[:, 2].astype(np.float32) + data["attr"] = 0 + + f.write(data.tobytes()) diff --git a/pytessel/vec3.h b/pytessel/vec3.h index bb700f3..6319be6 100644 --- a/pytessel/vec3.h +++ b/pytessel/vec3.h @@ -1,6 +1,8 @@ #ifndef _VEC3_H #define _VEC3_H +#include + typedef float mat33[3][3]; /** diff --git a/setup.py b/setup.py deleted file mode 100755 index 36485cf..0000000 --- a/setup.py +++ /dev/null @@ -1,120 +0,0 @@ -from setuptools import Extension, setup -from Cython.Build import cythonize -import os -import sys -import re - -PKG = "pytessel" -VERSIONFILE = os.path.join(os.path.dirname(__file__), PKG, "_version.py") -verstr = "unknown" -try: - verstrline = open(VERSIONFILE, "rt").read() -except EnvironmentError: - pass # Okay, there is no version file. -else: - VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]" - mo = re.search(VSRE, verstrline, re.M) - if mo: - verstr = mo.group(1) - else: - print(r"Unable to find version in %s" % (VERSIONFILE,)) - raise RuntimeError(r"If %s.py exists, it is required to be well-formed" % (VERSIONFILE,)) - -def find_windows_versions(): - """ - Autofind the msvc and winkit versions; this is mainly used for local development / compilation - """ - root = os.path.join('C:', os.sep,'Program Files', 'Microsoft Visual Studio', '2022', 'Community', 'VC', 'Tools', 'MSVC') - - # for Gitlab actions, the above folder does not exist and this is communicated - # back by providing None as the result - if not os.path.exists(root): - return None, None - - for file in os.listdir(root): - if os.path.isdir(os.path.join(root, file)): - msvcver = file - - root = os.path.join('C:', os.sep,'Program Files (x86)', 'Windows Kits', '10', 'Include') - for file in os.listdir(root): - if os.path.isdir(os.path.join(root, file)): - winkitver = file - - return msvcver, winkitver - -# specify paths on Windows to find compiler and libraries -if os.name == 'nt': - msvc_ver, winkit_ver = find_windows_versions() - - if msvc_ver and winkit_ver: - # only proceed with setting the paths for local development, i.e. when the - # msvc_ver and winkit_ver variables are *not* None - os.environ['PATH'] += r";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\%s\bin\Hostx64\x64" % msvc_ver - os.environ['PATH'] += r";C:\Program Files (x86)\Windows Kits\10\bin\%s\x64" % winkit_ver - - # set path to include folders - os.environ['INCLUDE'] += r";C:\Program Files (x86)\Windows Kits\10\Include\%s\ucrt" % winkit_ver - os.environ['INCLUDE'] += r";C:\Program Files (x86)\Windows Kits\10\Include\%s\shared" % winkit_ver - os.environ['INCLUDE'] += r";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\%s\include" % msvc_ver - - # some references to libraries - os.environ['LIB'] += r";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\%s\lib\x64" % msvc_ver - os.environ['LIB'] += r";C:\Program Files (x86)\Windows Kits\10\Lib\%s\um\x64" % winkit_ver - os.environ['LIB'] += r";C:\Program Files (x86)\Windows Kits\10\Lib\%s\ucrt\x64" % winkit_ver - else: - # re-order paths to ensure that the MSVC toolchain is in front; this needs to be done - # because the Git bin folder precedes the MSVC bin folder, resulting in the wrong link.exe - # executable to be used in the linking step - paths = os.environ['PATH'].split(";") - newpaths = [] - for path in paths: - if "Microsoft Visual Studio" in path: - newpaths = [path] + newpaths - else: - newpaths.append(path) - os.environ['PATH'] = ";".join(newpaths) - -if os.name == 'posix' and sys.platform != 'darwin': - extra_compile_args = ["-Wno-date-time", "-fopenmp", "-fPIC"] - extra_link_args = ["-fopenmp"] -elif os.name == 'nt': - extra_compile_args = ["/wd4244"] - extra_link_args = [] -elif sys.platform == 'darwin': - extra_compile_args = ["-Wno-date-time", "-fPIC", "-std=c++14"] - extra_link_args = [] - -ext_modules = [ - Extension( - "pytessel.pytessel", - ["pytessel/pytessel.pyx"], - extra_compile_args=extra_compile_args, # overrule some arguments - extra_link_args=extra_link_args - ), -] - -with open("README.md", "r", encoding="utf-8") as fh: - long_description = fh.read() - -setup( - name=PKG, - version=verstr, - author="Ivo Filot", - author_email="ivo@ivofilot.nl", - description="Python package for building isosurfaces from 3D scalar fields", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/ifilot/pytessel", - ext_modules=cythonize(ext_modules[0], - language_level = "3", - build_dir="build"), - packages=[PKG], - include_package_data=True, - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: POSIX", - ], - python_requires='>=3.5', - install_requires=['numpy'], -) diff --git a/testversion.py b/testversion.py deleted file mode 100644 index a6f74ca..0000000 --- a/testversion.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- - -import os -import re - -ROOT = os.path.dirname(__file__) - -def main(): - version_versionpy = get_version_versionpy() - version_metayaml = get_version_metayaml() - - print('Version strings found:') - print(version_versionpy) - print(version_metayaml) - - try: - for i in range(0,3): - assert version_versionpy[i] == version_metayaml[i] - except Exception as e: - print(e) - raise Exception('Invalid version strings encountered') - -def get_version_projecttoml(): - """ - Extract the version string from the pyproject.toml file - """ - pattern = re.compile(r'^version\s*=\s*"(\d+\.\d+.\d+)"\s*$') - - f = open(os.path.join(ROOT, 'pyproject.toml')) - lines = f.readlines() - for line in lines: - match = re.match(pattern, line) - if match: - version = match.groups(1)[0] - return [int(i) for i in version.split('.')] - - return None - -def get_version_versionpy(): - """ - Extract the version string from the _version.py file - """ - pattern = re.compile(r'^__version__\s*=\s*[\'"](\d+\.\d+.\d+)[\'"]\s*$') - - f = open(os.path.join(ROOT, 'pytessel', '_version.py')) - lines = f.readlines() - for line in lines: - match = re.match(pattern, line) - if match: - version = match.groups(1)[0] - return [int(i) for i in version.split('.')] - - return None - -def get_version_metayaml(): - """ - Extract the version string from the meta.yaml file - """ - pattern = re.compile(r'^\s*version\s*:\s*"(\d+\.\d+.\d+)"\s*$') - - f = open(os.path.join(ROOT, 'meta.yaml')) - lines = f.readlines() - for line in lines: - match = re.match(pattern, line) - if match: - version = match.groups(1)[0] - return [int(i) for i in version.split('.')] - - return None - -if __name__ == '__main__': - main() From 711cabc19caa892c2331694f7963312f4cc04c7a Mon Sep 17 00:00:00 2001 From: ifilot Date: Sun, 21 Dec 2025 07:34:14 +0100 Subject: [PATCH 3/7] Changing build wheels --- .github/workflows/build_wheels.yml | 78 ++++++++++++++++++++++++++++-- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index e58c306..3704dec 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -21,23 +21,91 @@ env: jobs: + # -------------------------------------------------------------------------- + # Build wheels for all OS × Python versions + # -------------------------------------------------------------------------- build_wheels: - name: Build wheels on ${{ matrix.os }} + name: Build wheels (${{ matrix.os }} / Python ${{ matrix.python-version }}) runs-on: ${{ matrix.os }} + strategy: + fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + include: + # ---------------- Ubuntu ---------------- + - os: ubuntu-latest + python-version: "3.9" + tag: cp39 + - os: ubuntu-latest + python-version: "3.10" + tag: cp310 + - os: ubuntu-latest + python-version: "3.11" + tag: cp311 + - os: ubuntu-latest + python-version: "3.12" + tag: cp312 + - os: ubuntu-latest + python-version: "3.13" + tag: cp313 + - os: ubuntu-latest + python-version: "3.14" + tag: cp314 + + # ---------------- Windows ---------------- + - os: windows-latest + python-version: "3.9" + tag: cp39 + - os: windows-latest + python-version: "3.10" + tag: cp310 + - os: windows-latest + python-version: "3.11" + tag: cp311 + - os: windows-latest + python-version: "3.12" + tag: cp312 + - os: windows-latest + python-version: "3.13" + tag: cp313 + - os: windows-latest + python-version: "3.14" + tag: cp314 + + # ---------------- macOS ---------------- + - os: macos-latest + python-version: "3.9" + tag: cp39 + - os: macos-latest + python-version: "3.10" + tag: cp310 + - os: macos-latest + python-version: "3.11" + tag: cp311 + - os: macos-latest + python-version: "3.12" + tag: cp312 + - os: macos-latest + python-version: "3.13" + tag: cp313 + - os: macos-latest + python-version: "3.14" + tag: cp314 + + env: + CIBW_BUILD: "${{ matrix.tag }}-*" steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v3.2.1 + uses: pypa/cibuildwheel@v3.3.0 - uses: actions/upload-artifact@v4 with: - name: wheels-${{ matrix.os }} - path: ./wheelhouse/*.whl + name: wheels-${{ matrix.os }}-py${{ matrix.python-version }} + path: wheelhouse/*.whl + if-no-files-found: error build_sdist: name: Build source distribution From aee0ba247ecb9ee18b1bc58b640b39f5f3a877f8 Mon Sep 17 00:00:00 2001 From: ifilot Date: Sun, 21 Dec 2025 07:35:06 +0100 Subject: [PATCH 4/7] Fixing init --- pytessel/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytessel/__init__.py b/pytessel/__init__.py index b089e54..edea36e 100644 --- a/pytessel/__init__.py +++ b/pytessel/__init__.py @@ -1,3 +1,3 @@ -from .pytessel import PyTessel +from .pytessel_core import PyTessel from ._version import __version__ From 7e6bd81922d564e5b7bd6f4c043945daa74a3135 Mon Sep 17 00:00:00 2001 From: ifilot Date: Sun, 21 Dec 2025 08:49:54 +0100 Subject: [PATCH 5/7] Adding examples --- .gitignore | 1 + {example => examples}/.gitignore | 0 .../build_metaballs_icosahedron.py | 1 + ..._metaballs_icosahedron_rectangular_grid.py | 0 examples/bunny.py | 54 ++++++++++++++++++ examples/bunny_pointcloud.npz | Bin 0 -> 393668 bytes examples/gyroid.py | 39 +++++++++++++ {example => examples}/metaballs_scaling.py | 0 pytessel/pytessel_core.pyx | 36 ++++++------ 9 files changed, 114 insertions(+), 17 deletions(-) rename {example => examples}/.gitignore (100%) rename {example => examples}/build_metaballs_icosahedron.py (93%) rename {example => examples}/build_metaballs_icosahedron_rectangular_grid.py (100%) create mode 100644 examples/bunny.py create mode 100644 examples/bunny_pointcloud.npz create mode 100644 examples/gyroid.py rename {example => examples}/metaballs_scaling.py (100%) diff --git a/.gitignore b/.gitignore index 56c814d..695379b 100644 --- a/.gitignore +++ b/.gitignore @@ -150,3 +150,4 @@ nose_debug test.ply .vscode *.ply +*.stl \ No newline at end of file diff --git a/example/.gitignore b/examples/.gitignore similarity index 100% rename from example/.gitignore rename to examples/.gitignore diff --git a/example/build_metaballs_icosahedron.py b/examples/build_metaballs_icosahedron.py similarity index 93% rename from example/build_metaballs_icosahedron.py rename to examples/build_metaballs_icosahedron.py index 9f3c95a..7a54cc1 100644 --- a/example/build_metaballs_icosahedron.py +++ b/examples/build_metaballs_icosahedron.py @@ -29,6 +29,7 @@ def main(): isovalue) pytessel.write_ply('icosahedron_%03i.ply' % nrpoints, vertices, normals, indices) + pytessel.write_stl('icosahedron_%03i.stl' % nrpoints, vertices, normals, indices) # perform an additional test wherein an isosurface is generated using a # field for which the grid dimensions differ per cartesian direction diff --git a/example/build_metaballs_icosahedron_rectangular_grid.py b/examples/build_metaballs_icosahedron_rectangular_grid.py similarity index 100% rename from example/build_metaballs_icosahedron_rectangular_grid.py rename to examples/build_metaballs_icosahedron_rectangular_grid.py diff --git a/examples/bunny.py b/examples/bunny.py new file mode 100644 index 0000000..46951f5 --- /dev/null +++ b/examples/bunny.py @@ -0,0 +1,54 @@ +import numpy as np +from scipy.ndimage import gaussian_filter +from pytessel import PyTessel +import os + +def main(): + output_ply = "bunny.ply" + + data = np.load("bunny_pointcloud.npz") + vertices = data["vertices"] + + print("Voxelizing...") + grid = voxelize(vertices, n=256) + + print("Smoothing...") + field = gaussian_filter(grid, sigma=2.0) + field /= field.max() # normalize + + print("Running marching cubes...") + t = PyTessel() + v, nrm, idx = t.marching_cubes( + field.ravel(), + dimensions=field.shape, + unitcell=(1, 0, 0, + 0, 1, 0, + 0, 0, 1), + isovalue=0.01, + ) + + print(f"Extracted {len(v)} vertices") + + print("Writing output...") + t.write_ply(output_ply, v, nrm, idx) + + print(f"Done! Output written to {output_ply}") + +def voxelize(points, n=256, padding=0.05): + mins = points.min(axis=0) + maxs = points.max(axis=0) + + size = maxs - mins + mins -= padding * size + maxs += padding * size + + grid = np.zeros((n, n, n), dtype=np.float32) + + idx = ((points - mins) / (maxs - mins) * (n - 1)).astype(np.int32) + idx = np.clip(idx, 0, n - 1) + + grid[idx[:, 0], idx[:, 1], idx[:, 2]] += 1.0 + return grid + +if __name__ == "__main__": + main() diff --git a/examples/bunny_pointcloud.npz b/examples/bunny_pointcloud.npz new file mode 100644 index 0000000000000000000000000000000000000000..7a8f5e9c70d39b6d5f0c6375f5f1b57ada889c49 GIT binary patch literal 393668 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�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%0DHW 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