Differentiable geometry representations for shape parameterization and optimization.
## Project Plan
### Stage 1: Initial Setup
- [x] Add Github Actions workflow for Github Pages.
- [x] Create first cut User Docs using Jupyter Books and MyST markdown.
- [x] What is this package for?
- [x] Add .gitignore for MyST markdown.
- [x] Launch Github Discussions for the project.
- [x] Create introductory dicussion post.
- [x] Add MIT License.
- [x] Update pyproject.toml.
- [x] Maintainers, license, license-file, keywords, classifiers, project urls.
- [x] Add Github Actions workflow for Github Release and PyPI publishing.
- [x] Add CHANGELOG.md to maintain release details.
- [x] Create first tag and push it to initiate first release and publish.
### Stage 2: Implement Geometry Representations
- [x] Install necessary dependencies
- [x] numpy, matplotlib and pytorch.
- [x] Implement loss functions.
- [x] Start with Chamfer loss.
- [x] Hicks-Henne bump functions.
- [x] Implement the Hicks-Henne class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] CST parameterization.
- [x] Implement the CST class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] NICE normalizing flow parameterization.
- [x] Implement the NICE class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] RealNVP normalizing flow parameterization.
- [x] Implement the RealNVP class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] NIGnet parameterization.
- [x] Implement the NIGnet class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] NeuralODE parameterization.
- [x] Implement the NeuralODE class.
- [x] Add visualization method.
- [x] Add type hints and docstrings.
- [x] Add test script.
- [x] Add documentation.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
- [x] Make Pre-Aux net modular by defining it separately from the invertible networks.
- [x] Make Pre-Aux net modular for NICE.
- [x] Change test script for NICE.
- [x] Make Pre-Aux net modular for all representations.
- [x] Change test scripts for all representations.
- [x] Update documentation for all representations.
- [x] Fix random seed for replicating results.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
### Stage 3: Implement Latent Vectors for Geometry Representation
- [x] Add latent code functionality to Pre-Aux nets.
- [x] Add latent code functionality to NICE.
- [x] Add test script for training with latent code using autodecoder framework.
- [x] Use NICE for the test script.
- [x] Fit two latent codes to fit two differently rotated squares.
- [x] Add latent code functionality to all representations.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
### Stage 4: Improve Sampling of Points on the Closed Transform
- [x] Sample points in T [0, 1]^d using Farthest Point Sampling for Blue-noise properties.
- [x] Write function to compute FPS.
- [x] Create test script to visualize the point samples with specified number of points.
- [x] Transform T to points on closed manifold to preserve uniform point sampling.
- [x] Use the arc cosine formulation for transforming t, s to phi, theta in 3D.
- [x] Update test script to visualize point samples on closed manifold as well.
- [x] Merge with main branch.
- [x] Create a tag and push it to create a release.
Raw data
{
"_id": null,
"home_page": null,
"name": "geodiff",
"maintainer": "Atharva Aalok",
"docs_url": null,
"requires_python": ">=3.12.0",
"maintainer_email": "Atharva Aalok <atharvaaalok@gmail.com>",
"keywords": "differentiable-geometry, shape-optimization, PyTorch, machine-learning, deep-learning, geometric-deep-learning, CFD, design-optimization",
"author": "Atharva Aalok",
"author_email": "Atharva Aalok <atharvaaalok@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/48/c2/073d6e85e92d33142fd2eb3ea5bf0e6c47adf454440354425774fec1192c/geodiff-0.9.4.tar.gz",
"platform": null,
"description": "Differentiable geometry representations for shape parameterization and optimization.\n\n\n## Project Plan\n### Stage 1: Initial Setup\n- [x] Add Github Actions workflow for Github Pages.\n- [x] Create first cut User Docs using Jupyter Books and MyST markdown.\n - [x] What is this package for?\n - [x] Add .gitignore for MyST markdown.\n- [x] Launch Github Discussions for the project.\n - [x] Create introductory dicussion post.\n- [x] Add MIT License.\n- [x] Update pyproject.toml.\n - [x] Maintainers, license, license-file, keywords, classifiers, project urls.\n- [x] Add Github Actions workflow for Github Release and PyPI publishing.\n- [x] Add CHANGELOG.md to maintain release details.\n- [x] Create first tag and push it to initiate first release and publish.\n\n### Stage 2: Implement Geometry Representations\n- [x] Install necessary dependencies\n - [x] numpy, matplotlib and pytorch.\n- [x] Implement loss functions.\n - [x] Start with Chamfer loss.\n- [x] Hicks-Henne bump functions.\n - [x] Implement the Hicks-Henne class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] CST parameterization.\n - [x] Implement the CST class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] NICE normalizing flow parameterization.\n - [x] Implement the NICE class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] RealNVP normalizing flow parameterization.\n - [x] Implement the RealNVP class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] NIGnet parameterization.\n - [x] Implement the NIGnet class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] NeuralODE parameterization.\n - [x] Implement the NeuralODE class.\n - [x] Add visualization method.\n - [x] Add type hints and docstrings.\n - [x] Add test script.\n - [x] Add documentation.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n- [x] Make Pre-Aux net modular by defining it separately from the invertible networks.\n - [x] Make Pre-Aux net modular for NICE.\n - [x] Change test script for NICE.\n - [x] Make Pre-Aux net modular for all representations.\n - [x] Change test scripts for all representations.\n - [x] Update documentation for all representations.\n - [x] Fix random seed for replicating results.\n - [x] Merge with main branch.\n - [x] Create a tag and push it to create a release.\n\n\n### Stage 3: Implement Latent Vectors for Geometry Representation\n- [x] Add latent code functionality to Pre-Aux nets.\n- [x] Add latent code functionality to NICE.\n- [x] Add test script for training with latent code using autodecoder framework.\n - [x] Use NICE for the test script.\n - [x] Fit two latent codes to fit two differently rotated squares.\n- [x] Add latent code functionality to all representations.\n- [x] Merge with main branch.\n- [x] Create a tag and push it to create a release.\n\n\n### Stage 4: Improve Sampling of Points on the Closed Transform\n- [x] Sample points in T [0, 1]^d using Farthest Point Sampling for Blue-noise properties.\n - [x] Write function to compute FPS.\n - [x] Create test script to visualize the point samples with specified number of points.\n- [x] Transform T to points on closed manifold to preserve uniform point sampling.\n - [x] Use the arc cosine formulation for transforming t, s to phi, theta in 3D.\n - [x] Update test script to visualize point samples on closed manifold as well.\n- [x] Merge with main branch.\n- [x] Create a tag and push it to create a release.",
"bugtrack_url": null,
"license": null,
"summary": "Differentiable geometry representations for shape parameterization and optimization.",
"version": "0.9.4",
"project_urls": {
"bugtracker": "https://github.com/atharvaaalok/geodiff/issues",
"changelog": "https://github.com/atharvaaalok/geodiff/blob/main/CHANGELOG.md",
"documentation": "https://atharvaaalok.github.io/geodiff/",
"forum": "https://github.com/atharvaaalok/geodiff/discussions",
"homepage": "https://atharvaaalok.github.io/geodiff/",
"repository": "https://github.com/atharvaaalok/geodiff"
},
"split_keywords": [
"differentiable-geometry",
" shape-optimization",
" pytorch",
" machine-learning",
" deep-learning",
" geometric-deep-learning",
" cfd",
" design-optimization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "726bf23078a02d7f768d3c5a5b0bb866202ecae5152df6533f58700b668b6ba4",
"md5": "36b979d59e94da2e2063c39bf70ea159",
"sha256": "c2dc2bf4f957aad1a5dbdd9be6f6f9fe0c48421eeb89a899b8e8b3028521bfd8"
},
"downloads": -1,
"filename": "geodiff-0.9.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "36b979d59e94da2e2063c39bf70ea159",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12.0",
"size": 30771,
"upload_time": "2025-10-24T05:52:42",
"upload_time_iso_8601": "2025-10-24T05:52:42.044301Z",
"url": "https://files.pythonhosted.org/packages/72/6b/f23078a02d7f768d3c5a5b0bb866202ecae5152df6533f58700b668b6ba4/geodiff-0.9.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "48c2073d6e85e92d33142fd2eb3ea5bf0e6c47adf454440354425774fec1192c",
"md5": "07cb9b2dedcdd8a3be26b119f270d59f",
"sha256": "a5220cddc73a21802f55cdbd0ab615006040fb231dac630fafd74b6360afe58e"
},
"downloads": -1,
"filename": "geodiff-0.9.4.tar.gz",
"has_sig": false,
"md5_digest": "07cb9b2dedcdd8a3be26b119f270d59f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12.0",
"size": 18005,
"upload_time": "2025-10-24T05:52:43",
"upload_time_iso_8601": "2025-10-24T05:52:43.297123Z",
"url": "https://files.pythonhosted.org/packages/48/c2/073d6e85e92d33142fd2eb3ea5bf0e6c47adf454440354425774fec1192c/geodiff-0.9.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-24 05:52:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "atharvaaalok",
"github_project": "geodiff",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "geodiff"
}