Skip to main content

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.

Metadata

Release files for geodiff 0.9.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geodiff 0.9.5
File Size Uploaded
geodiff-0.9.5.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for geodiff 0.9.5
File Interpreter ABI Platform
geodiff-0.9.5-py3-none-any.whl Python 3 none any Details

Total release size: 48.9 kB

Release files / geodiff-0.9.5.tar.gz

Download URL geodiff-0.9.5.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bca571a387715e57342d6dc7b8c3e09a5671cfa3f586b8f561dbb02afffb4c01
BLAKE2b-256 checksum
How to use checksums
dc45e1c06378fd7a7fcd2285ee951c710c65f89d37554d2237e25fc5459d8550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.5

Release files / geodiff-0.9.5-py3-none-any.whl

Download URL geodiff-0.9.5-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed60890aa55560e2aee49f6f8d5f4fbdf1c3089ca0b7668a89bc0215eceed54f
BLAKE2b-256 checksum
How to use checksums
e926cac673b7ae7d186e8842baff0f0d2ab10327e31e3e2a417fcd484e4f9e3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.5

Release history Release notifications | RSS feed

This release

0.9.5 This release

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page