Skip to main content

Differentiable geometry representations for shape parameterization and optimization.

Project description

Differentiable geometry representations for shape parameterization and optimization.

Project Plan

Stage 1: Initial Setup

  • Add Github Actions workflow for Github Pages.
  • Create first cut User Docs using Jupyter Books and MyST markdown.
    • What is this package for?
    • Add .gitignore for MyST markdown.
  • Launch Github Discussions for the project.
    • Create introductory dicussion post.
  • Add MIT License.
  • Update pyproject.toml.
    • Maintainers, license, license-file, keywords, classifiers, project urls.
  • Add Github Actions workflow for Github Release and PyPI publishing.
  • Add CHANGELOG.md to maintain release details.
  • Create first tag and push it to initiate first release and publish.

Stage 2: Implement Geometry Representations

  • Install necessary dependencies
    • numpy, matplotlib and pytorch.
  • Implement loss functions.
    • Start with Chamfer loss.
  • Hicks-Henne bump functions.
    • Implement the Hicks-Henne class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • CST parameterization.
    • Implement the CST class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • NICE normalizing flow parameterization.
    • Implement the NICE class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • RealNVP normalizing flow parameterization.
    • Implement the RealNVP class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • NIGnet parameterization.
    • Implement the NIGnet class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • NeuralODE parameterization.
    • Implement the NeuralODE class.
    • Add visualization method.
    • Add type hints and docstrings.
    • Add test script.
    • Add documentation.
    • Merge with main branch.
    • Create a tag and push it to create a release.
  • Make Pre-Aux net modular by defining it separately from the invertible networks.
    • Make Pre-Aux net modular for NICE.
    • Change test script for NICE.
    • Make Pre-Aux net modular for all representations.
    • Change test scripts for all representations.
    • Update documentation for all representations.
      • Fix random seed for replicating results.
    • Merge with main branch.
    • Create a tag and push it to create a release.

Stage 3: Implement Latent Vectors for Geometry Representation

  • Add latent code functionality to Pre-Aux nets.
  • Add latent code functionality to NICE.
  • Add test script for training with latent code using autodecoder framework.
    • Use NICE for the test script.
    • Fit two latent codes to fit two differently rotated squares.
  • Add latent code functionality to all representations.
  • Merge with main branch.
  • Create a tag and push it to create a release.

Stage 4: Improve Sampling of Points on the Closed Transform

  • Sample points in T [0, 1]^d using Farthest Point Sampling for Blue-noise properties.
    • Write function to compute FPS.
    • Create test script to visualize the point samples with specified number of points.
  • Transform T to points on closed manifold to preserve uniform point sampling.
    • Use the arc cosine formulation for transforming t, s to phi, theta in 3D.
    • Update test script to visualize point samples on closed manifold as well.
  • Merge with main branch.
  • Create a tag and push it to create a release.

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

geodiff-0.9.3.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

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

geodiff-0.9.3-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file geodiff-0.9.3.tar.gz.

File metadata

  • Download URL: geodiff-0.9.3.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.4

File hashes

Hashes for geodiff-0.9.3.tar.gz
Algorithm Hash digest
SHA256 43ba1ff51a3d54e8f6a1e8b950e3135477b6db7b26706d01ef53f41e284ea940
MD5 b2fe1dac689423db8a90b181b3a06a51
BLAKE2b-256 15fbb3838c9477c56a03483bdc0386db7daf89af43d391ac1decb185668e7962

See more details on using hashes here.

File details

Details for the file geodiff-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: geodiff-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.4

File hashes

Hashes for geodiff-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1489cad8b6c476e6f451755f55a4d6809f3cc9fd997f3b197ae62a1143581016
MD5 28ff44e9b322e3a29c6abc77096521a3
BLAKE2b-256 85dc16140bf8a10999ed6721a961692b48a94c08c6ed9607af56089fd96537d8

See more details on using hashes here.

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