{"id":17095954,"url":"https://github.com/notmatthancock/level-set-machine-learning","last_synced_at":"2025-10-27T08:34:01.125Z","repository":{"id":62577052,"uuid":"131864517","full_name":"notmatthancock/level-set-machine-learning","owner":"notmatthancock","description":"Level set segmentation with machine learning based velocity field","archived":false,"fork":false,"pushed_at":"2020-01-26T03:10:02.000Z","size":9117,"stargazers_count":42,"open_issues_count":0,"forks_count":16,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T01:36:11.919Z","etag":null,"topics":["image-segmentation","level-set","partial-differential-equations"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/notmatthancock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-02T14:42:57.000Z","updated_at":"2025-02-10T19:24:52.000Z","dependencies_parsed_at":"2022-11-03T19:11:49.825Z","dependency_job_id":null,"html_url":"https://github.com/notmatthancock/level-set-machine-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notmatthancock%2Flevel-set-machine-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notmatthancock%2Flevel-set-machine-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notmatthancock%2Flevel-set-machine-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notmatthancock%2Flevel-set-machine-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notmatthancock","download_url":"https://codeload.github.com/notmatthancock/level-set-machine-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248644213,"owners_count":21138570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["image-segmentation","level-set","partial-differential-equations"],"created_at":"2024-10-14T14:44:14.509Z","updated_at":"2025-10-27T08:34:01.023Z","avatar_url":"https://github.com/notmatthancock.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Travis](https://travis-ci.com/notmatthancock/level-set-machine-learning.svg?token=vyEDTSsnnxok9zbF6h68\u0026branch=master)\n\n\n## Level set machine learning\n\nLevel set image segmentation with velocity field from\nmachine learning methods\n\nExample 1 | Example 2\n:--------:|:---------:\n![Hamburger2d](https://raw.githubusercontent.com/notmatthancock/level-set-machine-learning/master/img/hamburger2d.gif) | ![Gestalt2d](https://raw.githubusercontent.com/notmatthancock/level-set-machine-learning/master/img/gestalt2d.gif)\n\n### Installation\n\n#### Linux\n\nInstall via pip:\n\n```bash\npip install lsml\n```\n\n#### MacOS and Windows\n\nNot on pip; install locally:\n\n```bash\n# Clone the repo\ngit clone git@github.com:notmatthancock/level-set-machine-learning.git\n# Change working directory to the cloned repo\ncd level-set-machine-learning\n# Install via pip locally\npip install -e .\n```\n\n### Description of the method\n\nIn the standard level set segmentation\napproach, the boundary of the approximating segmentation is given\nby the zero level set of some scalar field u (also called the \n\"level set function\"), and the movement of zero level set of u\nis prescribed to move in the normal direction with velocity ν, which\nusually takes into account underlying image information.\n\nThis prescribed movement is summarized in the following PDE [1]:\n\nu\u003csub\u003et\u003c/sub\u003e = v ||Du||\u003csub\u003e2\u003c/sub\u003e\n\nIn this extension of the level set method method [2], the velocity\nfield v is learned from data via machine learning regression methods,\nrather than fixing the velocity function a priori based on expected image \nappearance (e.g., assuming object boundaries being defined by strong\nimage gradients).\n\n[1]: Malladi, Ravi, James A. Sethian, and Baba C. Vemuri. \"Shape modeling with front propagation: A level set approach.\" IEEE transactions on pattern analysis and machine intelligence 17.2 (1995): 158-175.\n\n[2]: Hancock, Matthew C., and Jerry F. Magnan. \"Lung nodule segmentation via level set machine learning.\" arXiv preprint arXiv:1910.03191 (2019). https://arxiv.org/abs/1910.03191\n\n### Examples\n\nSee `examples` directory for the method illustrated on some synthetic data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotmatthancock%2Flevel-set-machine-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotmatthancock%2Flevel-set-machine-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotmatthancock%2Flevel-set-machine-learning/lists"}