{"id":22016147,"url":"https://github.com/aalavandhaann/py_bl_meshskeletonization","last_synced_at":"2026-03-17T11:12:12.353Z","repository":{"id":82706065,"uuid":"116190495","full_name":"aalavandhaann/Py_BL_MeshSkeletonization","owner":"aalavandhaann","description":"Mesh Skeleton Extraction Using Laplacian Contraction","archived":false,"fork":false,"pushed_at":"2018-01-08T22:49:32.000Z","size":47,"stargazers_count":44,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T01:42:34.839Z","etag":null,"topics":["contraction","laplacian","laplacian-smoothing","mesh","mesh-contraction","meshskeletonization","skeleton","skeletonextraction","skeletonization"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aalavandhaann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-03T23:00:26.000Z","updated_at":"2025-02-28T18:35:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd9827e7-b6b9-4e7d-b05f-b78651ce03c7","html_url":"https://github.com/aalavandhaann/Py_BL_MeshSkeletonization","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aalavandhaann/Py_BL_MeshSkeletonization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalavandhaann%2FPy_BL_MeshSkeletonization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalavandhaann%2FPy_BL_MeshSkeletonization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalavandhaann%2FPy_BL_MeshSkeletonization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalavandhaann%2FPy_BL_MeshSkeletonization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aalavandhaann","download_url":"https://codeload.github.com/aalavandhaann/Py_BL_MeshSkeletonization/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalavandhaann%2FPy_BL_MeshSkeletonization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30622479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T08:10:05.930Z","status":"ssl_error","status_checked_at":"2026-03-17T08:10:04.972Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contraction","laplacian","laplacian-smoothing","mesh","mesh-contraction","meshskeletonization","skeleton","skeletonextraction","skeletonization"],"created_at":"2024-11-30T04:32:49.064Z","updated_at":"2026-03-17T11:12:12.331Z","avatar_url":"https://github.com/aalavandhaann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MeshSkeletonization\nThis is an implementation of Skeleton Extraction by Mesh contraction as cited below. \n\n```\nAu OK, Tai CL, Chu HK, Cohen-Or D, Lee TY. Skeleton extraction by mesh contraction. ACM Transactions on Graphics (TOG). 2008 Aug 1;27(3):44.\n```\n\nThe plugin is still under development. As of now only the mesh contraction step is complete. There are 2 more steps to complete before extracting the skeleton of the mesh\n\nDependency python packages\n--------------------------\n\n- BPY module (Blender python environment)\n- Numpy\n- Scipy\n\nUsage\n-----\n\nInstall the plugin or copy the folder **meshskeletonization** inside the Blender addons folder. Then activate the plugin through Blender user interface. Once enabled you should be able to see a tab named **Mesh Skeletonization** in the tools panel.\n\nPlay around the following parameters and press **Mesh Contraction** for the contraction process. Depending on the mesh resolution and supplied parameters expect the time delay for the process to complete. Once the mesh contraction is complete you should find the contracted mesh (with almost zero volume) duplicated alongside the original mesh. The name of the contracted mesh will be a combination of the original mesh name concatenated with the parameter values you supplied. \n\nIn short:-\n\n- Select the mesh object in **Object Mode**\n- Press **Mesh Skeletonization**\n- You should see a duplicated mesh that is contracted\n\nNotes\n-----\n\n- It is necessary to triangulate the mesh in Blender, otherwise results are going to be crazy\n- Except the linear systems solved to take some time as it uses numpy and scipy\n- If someone can help me with other steps, wow, greatly appreciated. Maybe I can help in some way back.\n\n# Have Fun\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faalavandhaann%2Fpy_bl_meshskeletonization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faalavandhaann%2Fpy_bl_meshskeletonization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faalavandhaann%2Fpy_bl_meshskeletonization/lists"}