{"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/cuts-a-fully-unsupervised-framework-for","title":"CUTS: A Deep Learning and Topological Framework for Multigranular Unsupervised Medical Image Segmentation","arxiv_id":"2209.11359","date":"2022-09-23","proceeding":null,"authors":["Chen Liu","Matthew Amodio","Liangbo L. Shen","Feng Gao","Arman Avesta","Sanjay Aneja","Jay C. Wang","Lucian V. Del Priore","Smita Krishnaswamy"],"abstract":"Segmenting medical images is critical to facilitating both patient diagnoses and quantitative research. A major limiting factor is the lack of labeled data, as obtaining expert annotations for each new set of imaging data and task can be labor intensive and inconsistent among annotators. We present CUTS, an unsupervised deep learning framework for medical image segmentation. CUTS operates in two stages. For each image, it produces an embedding map via intra-image contrastive learning and local patch reconstruction. Then, these embeddings are partitioned at dynamic granularity levels that correspond to the data topology. CUTS yields a series of coarse-to-fine-grained segmentations that highlight features at various granularities. We applied CUTS to retinal fundus images and two types of brain MRI images to delineate structures and patterns at different scales. When evaluated against predefined anatomical masks, CUTS improved the dice coefficient and Hausdorff distance by at least 10% compared to existing unsupervised methods. Finally, CUTS showed performance on par with Segment Anything Models (SAM, MedSAM, SAM-Med2D) pre-trained on gigantic labeled datasets.","url_abs":"https://arxiv.org/abs/2209.11359v7","url_pdf":"https://arxiv.org/pdf/2209.11359v7.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":"cuts-a-fully-unsupervised-framework-for","repo_url":"https://github.com/krishnaswamylab/cuts","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"cuts-a-fully-unsupervised-framework-for","repo_url":"https://github.com/ChenLiu-1996/CUTS","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"cuts-a-fully-unsupervised-framework-for","repo_url":"https://github.com/tamirshor7/latents-guided-thermography","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"medical-image-segmentation","task_name":"Medical Image Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"topological-data-analysis","task_name":"Topological Data Analysis"},{"task_slug":"unsupervised-image-segmentation","task_name":"Unsupervised Image Segmentation"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[{"slug":"cuts","name":"CUTS","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2209.11359","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.11359"}},"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/krishnaswamylab/cuts","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ChenLiu-1996/CUTS","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tamirshor7/latents-guided-thermography","reach":{"status":"ok"}}],"summary":{"ran_honours":2,"ran_fixture":1},"by_repo_kind":{"official":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"82315ca43ec3bb88","entry":"find_nearest_idx","repo":"krishnaswamylab/cuts","repo_kind":"official","path":"src/scripts_analysis/plot_paper_figure_main.py","file_url":"https://github.com/krishnaswamylab/cuts/blob/HEAD/src/scripts_analysis/plot_paper_figure_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"82315ca43ec3bb88"}},{"code_sha256_prefix":"44f211fa3dec81dd","entry":"grayscale_3channel","repo":"krishnaswamylab/cuts","repo_kind":"official","path":"src/scripts_analysis/plot_paper_figure_main.py","file_url":"https://github.com/krishnaswamylab/cuts/blob/HEAD/src/scripts_analysis/plot_paper_figure_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"44f211fa3dec81dd"}},{"code_sha256_prefix":"09bf7385a643bcb8","entry":"pop_blue_channel","repo":"krishnaswamylab/cuts","repo_kind":"official","path":"src/scripts_analysis/plot_paper_figure_main.py","file_url":"https://github.com/krishnaswamylab/cuts/blob/HEAD/src/scripts_analysis/plot_paper_figure_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"09bf7385a643bcb8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}