/topoGenesis

Python Package for Generative Systems and Sciences

Primary LanguagePythonMIT LicenseMIT

topoGenesis

Build Status codecov GitHub Documentation Status DOI

DOI

topoGenesis is an open-source python package providing topological data structures and functions for working with voxel data in Generative Systems and Sciences. The envisaged application areas are:

  • generative design in architecture and built environment
  • generative spatial simulations
  • 3D image processing
  • topological data analysis
  • machine learning

Vision

topoGenesis aims to utilize the vast functionalities of fields (mathematical objects) in generative systems and sciences. Therefore it seeks to:

  1. offer basic mathematical functionalities on field data models
  2. offer functionalities of computational topology on top of the field structures
  3. facilitate the conversion between mesh-based data models and field data models.
  4. facilitate field simulations, whether governed by differential equations, spectral models or based on computational models (ABM)
  5. construct a bridge between spatial data models and tensor data structures to facilitate the utilization of the latest artificial intelligence models

Structure

  • Mesh to Field: Rasterization
    • Point Cloud Voxelation
    • Line Network Voxelation
    • Mesh Surface Voxelation
    • Signed Distance Field
  • Field to Mesh: Isosurface
    • Boolean Marching Cubes
    • Marching Cubes
    • Surface Nets
  • Local Computation
    • Stencil / Kernels
      • von Neumann neighbourhood
      • Moore neighbourhood
      • Cube neighbourhood
      • Custom neighbourhoods
    • Universal Functions & Mathematical Operators (Numerical)
  • Field Simulations (Vectorized)
    • Dynamic Systems (based on Differential Equations)
    • Agent-Based Modeling
    • Cellular Automata

Installation

for installation check this tutorial

Genesis Lab: Laboratory of Generative Systems and Sciences

This project is currently being developed by Shervin Azadi and Pirouz Nourian at Genesis Lab: Laboratory of Generative Systems and Sciences, Department of Architectural Engineering and Technology, at TU Delft.