{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/unsupervised-microvascular-image-segmentation","title":"Unsupervised Microvascular Image Segmentation Using an Active Contours Mimicking Neural Network","arxiv_id":"1908.01373","date":"2019-08-04","proceeding":"ICCV 2019 10","authors":["Shir Gur","Lior Wolf","Lior Golgher","Pablo Blinder"],"abstract":"The task of blood vessel segmentation in microscopy images is crucial for many diagnostic and research applications. However, vessels can look vastly different, depending on the transient imaging conditions, and collecting data for supervised training is laborious. We present a novel deep learning method for unsupervised segmentation of blood vessels. The method is inspired by the field of active contours and we introduce a new loss term, which is based on the morphological Active Contours Without Edges (ACWE) optimization method. The role of the morphological operators is played by novel pooling layers that are incorporated to the network's architecture. We demonstrate the challenges that are faced by previous supervised learning solutions, when the imaging conditions shift. Our unsupervised method is able to outperform such previous methods in both the labeled dataset, and when applied to similar but different datasets. Our code, as well as efficient PyTorch reimplementations of the baseline methods VesselNN and DeepVess is available on GitHub - https://github.com/shirgur/UMIS.","url_abs":"https://arxiv.org/abs/1908.01373v2","url_pdf":"https://arxiv.org/pdf/1908.01373v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"unsupervised-microvascular-image-segmentation","repo_url":"https://github.com/shirgur/UMIS","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"diagnostic","task_name":"Diagnostic"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1908.01373","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1908.01373"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shirgur/UMIS","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":3,"unverified":7},"by_repo_kind":{"official":{"samples":10,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"c3b215555357b9d1","entry":"conv3x3x3","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/resnet.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c3b215555357b9d1"}},{"code_sha256_prefix":"43c0211ff8dbca5f","entry":"downsample_basic_block","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/resnet.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"43c0211ff8dbca5f"}},{"code_sha256_prefix":"93801ecf3026ab06","entry":"get_fine_tuning_parameters","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/resnet.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"93801ecf3026ab06"}},{"code_sha256_prefix":"ba849ba09bf7d085","entry":"batch_pix_accuracy","repo":"shirgur/UMIS","repo_kind":"official","path":"utils/metrices.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/utils/metrices.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ba849ba09bf7d085"}},{"code_sha256_prefix":"72962239139e1d8a","entry":"euler_lagrange","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/loss_functions.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/loss_functions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"72962239139e1d8a"}},{"code_sha256_prefix":"1b98ff4071c3c6aa","entry":"gaussian_threshold","repo":"shirgur/UMIS","repo_kind":"official","path":"utils/metrices.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/utils/metrices.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1b98ff4071c3c6aa"}},{"code_sha256_prefix":"cb7bf54b4dbcc934","entry":"level_set","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/loss_functions.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/loss_functions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cb7bf54b4dbcc934"}},{"code_sha256_prefix":"e154ed276ec9e9db","entry":"norm_ip","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/utils.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e154ed276ec9e9db"}},{"code_sha256_prefix":"8464029e4b200afe","entry":"norm_range","repo":"shirgur/UMIS","repo_kind":"official","path":"networks/utils.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/networks/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8464029e4b200afe"}},{"code_sha256_prefix":"b275506a27ffc844","entry":"otsu_threshold","repo":"shirgur/UMIS","repo_kind":"official","path":"utils/metrices.py","file_url":"https://github.com/shirgur/UMIS/blob/HEAD/utils/metrices.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b275506a27ffc844"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}