Papers › MA-SAM: Modality-agnostic SAM Adaptation for 3D Medical Image Segmentation

MA-SAM: Modality-agnostic SAM Adaptation for 3D Medical Image Segmentation

16 Sep 2023arXiv:2309.08842archive 2025-07-28

Cheng Chen, Juzheng Miao, Dufan Wu, Zhiling Yan, Sekeun Kim, Jiang Hu, Aoxiao Zhong, Zhengliang Liu, Lichao Sun, Xiang Li, Tianming Liu, Pheng-Ann Heng, Quanzheng Li

The Segment Anything Model (SAM), a foundation model for general image segmentation, has demonstrated impressive zero-shot performance across numerous natural image segmentation tasks. However, SAM's performance significantly declines when applied to medical images, primarily due to the substantial disparity between natural and medical image domains. To effectively adapt SAM to medical images, it is important to incorporate critical third-dimensional information, i.e., volumetric or temporal knowledge, during fine-tuning. Simultaneously, we aim to harness SAM's pre-trained weights within its original 2D backbone to the fullest extent. In this paper, we introduce a modality-agnostic SAM adaptation framework, named as MA-SAM, that is applicable to various volumetric and video medical data. Our method roots in the parameter-efficient fine-tuning strategy to update only a small portion of weight increments while preserving the majority of SAM's pre-trained weights. By injecting a series of 3D adapters into the transformer blocks of the image encoder, our method enables the pre-trained 2D backbone to extract third-dimensional information from input data. The effectiveness of our method has been comprehensively evaluated on four medical image segmentation tasks, by using 10 public datasets across CT, MRI, and surgical video data. Remarkably, without using any prompt, our method consistently outperforms various state-of-the-art 3D approaches, surpassing nnU-Net by 0.9%, 2.6%, and 9.9% in Dice for CT multi-organ segmentation, MRI prostate segmentation, and surgical scene segmentation respectively. Our model also demonstrates strong generalization, and excels in challenging tumor segmentation when prompts are used. Our code is available at: https://github.com/cchen-cc/MA-SAM.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2309.08842")

Code

Syntology Ran 10 of 13 code samples harvested from 1 repository linked to this paper; 3 have no recorded run. Of those that ran: 3 ran · fixture could not drive it; 7 ran with no contract checked.

By repository: official repository: 13 samples from 1 repository, 10 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

cchen-cc/ma-sam officialmentioned in papermentioned on GitHubpytorchApache-2.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

13 samples harvested; 10 ran; 0 honoured the contract we drafted; 3 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

3ran · fixture could not drive it
7ran
3unverified

Licence: 0 of the 13 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from cchen-cc/ma-sam. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

calc_loss cchen-cc/ma-sam/MA-SAM/trainer.py official repository ran Apache-2.0 (permissive) · ad5471db7ab93cbf · report
get_rel_pos cchen-cc/ma-sam/MA-SAM/sam_fact_tt_image_encoder.py official repository ran · fixture could not drive it Apache-2.0 (permissive) · 733d7f0bedcb74c2 · report
random_rot_flip cchen-cc/ma-sam/MA-SAM/datasets/dataset.py official repository ran Apache-2.0 (permissive) · e342c37accbba41e · report
random_rotate cchen-cc/ma-sam/MA-SAM/datasets/dataset.py official repository ran Apache-2.0 (permissive) · 6e9c7d00f201c759 · report
read_image cchen-cc/ma-sam/MA-SAM/datasets/dataset.py official repository ran Apache-2.0 (permissive) · e687b7f95896fbe2 · report
rotate_bounding_box cchen-cc/ma-sam/MA-SAM/datasets/dataset_bbox.py official repository ran Apache-2.0 (permissive) · f9c4eb53eae87cfc · report
rotate_point cchen-cc/ma-sam/MA-SAM/datasets/dataset_bbox.py official repository ran Apache-2.0 (permissive) · 84e32807aefaffde · report
transform_bounding_box cchen-cc/ma-sam/MA-SAM/datasets/dataset_bbox.py official repository ran Apache-2.0 (permissive) · 00686008e1ddcfbb · report
window_partition cchen-cc/ma-sam/MA-SAM/sam_fact_tt_image_encoder.py official repository ran · fixture could not drive it fingerprinted Apache-2.0 (permissive) · 105fa08885dc36cc · report
window_unpartition cchen-cc/ma-sam/MA-SAM/sam_fact_tt_image_encoder.py official repository ran · fixture could not drive it Apache-2.0 (permissive) · 50f37d517e2be27f · report
build_sam_vit_b cchen-cc/ma-sam/MA-SAM/segment_anything/build_sam.py official repository unverified Apache-2.0 (permissive) · 4182f118ae5496ec · report
build_sam_vit_h cchen-cc/ma-sam/MA-SAM/segment_anything/build_sam.py official repository unverified Apache-2.0 (permissive) · 35ae09d11793c334 · report
build_sam_vit_l cchen-cc/ma-sam/MA-SAM/segment_anything/build_sam.py official repository unverified Apache-2.0 (permissive) · 6c6888a7271fbc94 · report

Tasks

Image SegmentationMedical Image SegmentationOrgan SegmentationScene SegmentationSegmentationSemantic SegmentationTumor Segmentationparameter-efficient fine-tuning

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

SAM

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections