8000 GitHub - jumbojing/samm: A 3D Slicer integration to Meta's SAM.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ samm Public
forked from bingogome/samm

A 3D Slicer integration to Meta's SAM.

License

Notifications You must be signed in to change notification settings

jumbojing/samm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Segment Any Medical-Model (SAMM): A 3D Slicer integration to Meta's SAM.

Laboratory of Biomechanical and Image Guided Surgical Systems, Johns Hopkins University

Yihao Liu, Jeremy Zhang, Zhangcong She

Demo

https://www.youtube.com/watch?v=vZK45noZVIA

Motivation

Accurate image segmentation is crucial for medical image analysis as it enables clinicians to extract meaningful information from the image. It also allows for the detection of subtle changes in the tissue or organ of interest, which is essential for monitoring disease progression and treatment response.

Our project, Segment Any Medical-Model aims to develop an integration for Segment Anything Model (SAM) and 3D Slicer for future development and validation of the potentials of transferring Large Language Model to the medical image analysis field.

Installation and How-To-Use

TLDR version

git clone git@github.com:bingogome/samm.git
conda create --name samm
conda activate samm
pip install git+https://github.com/facebookresearch/segment-anything.git
pip install opencv-python pycocotools matplotlib onnxruntime onnx

Start 3D Slicer, in the Python Console:

import pip
pip.main(['install', 'pyyaml'])
pip.main(['install', 'pyzmq'])

SD Slicer -> Developer ToolsExtension Wizard.

Extension Tools -> Select Extension -> import the samm/samm folder.

Back to terminal, cd to samm (upper level)

Run ./samm-python-terminal/sam_server.py

If it throws an error missing "sam_vit_h_4b8939.pth", move segment-anything/notebooks/sam_vit_h_4b8939.pth to samm/samm-python-terminal/samm-workspace

Follow the demo and Segment Any Medical Model away!

Install samm

Install this repo:

git clone git@github.com:bingogome/samm.git

Create Virtual Environment

It's essential to have a clean virtual environment to avoid any potential conflicts. Therefore, you'd better to create a new environment for running the rest part of the code.

Install any version of anaconda to manage the virtual environment. Anaconda installation guide can be found here.

Create virtual environment and activate it:

conda create --name samm
conda activate samm

Note: The given python script in this folder has to be executed in samm venv.

Install SAM

The code requires python>=3.8, as well as pytorch>=1.7 and torchvision>=0.8. Please follow the instructions here to install both PyTorch and TorchVision dependencies. Installing both PyTorch and TorchVision with CUDA support is strongly recommended.

Install Segment Anything:

pip install git+https://github.com/facebookresearch/segment-anything.git

or clone the repository locally and install with

git clone git@github.com:facebookresearch/segment-anything.git
cd segment-anything; pip install -e .

Then,

pip install opencv-python pycocotools matplotlib onnxruntime onnx

Install 3D Slicer

Follow this page to download a compatible version of 3D Slicer and install it in your local environment.

Install the SAMM Extension to 3D Slicer

The source code of the extension is contained in samm.

In the GUI of 3D Slicer, expand the extension drop-down menu, and choose Developer ToolsExtension Wizard.

Then on the left side of the GUI, click the toggle bar named Extension Tools and click `Select Extension' button. It will prompt a navigation window where you can find, select and import the samm folder.

Tutorial

To launch the extension, go back to the extension drop-down menu, and choose SegmentationSamm Base.

About

A 3D Slicer integration to Meta's SAM.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.2%
  • CMake 4.8%
0