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.1.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.1-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geodiff-0.9.1.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.1.tar.gz
Algorithm Hash digest
SHA256 cff4be7afd3dfe96585dc309629be53b8119d6a7ca51151f4a1668cc70452111
MD5 017aadbb40d1e14921bcb8f1af0cc89c
BLAKE2b-256 588848430f6c48a20aa6693b23085d83681f2e725638c92f3711e685a7991803

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geodiff-0.9.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8966b7b08d63c9247c480d20aab44590fb79523395cdf285a06905646c1e783
MD5 fb527741879b414c87cb9a13541b5332
BLAKE2b-256 6ba5fb8941671e34e10a22982b0c34f7c77293e6a24d92f084f1cc39a1d5e96c

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