This is a collection of basic geometry processing functions, constructed to work with jax's autodifferentiation feature for applications in machine learning. We split these functions into not differentiable ones in the general
folder, and differentiable ones in the differentiable
folder. We also include some wrappers of third party functions in the external
folder for convenience. To use these utility functions, one can simply import this package and use it as
import jaxgptoolbox as jgp
import polyscope as ps
V,F = jgp.read_mesh('path_to_OBJ')
ps.init()
ps.register_surface_mesh('my_mesh',V,F)
ps.show()
This library depends on jax and some common python libraries numpy scipy. Our demos
rely on matplotlib and polyscope for visualization. Some functions in the external
folder depend on libigl. Please make sure to install all dependencies (for example, with conda) before using the library.
The toolbox grew out of Oded Stein's and Hsueh-Ti Derek Liu's private research codebase during their PhD studies. Some of these functions are not fully tested nor optimized, please use them with caution. If you're interested in contributing or noticing any issues, please contact us (ostein@mit.edu, hsuehtil@cs.toronto.edu) or submit a pull request.
Consult the LICENSE file for details about the license of this project.