• Stars
    star
    343
  • Rank 123,371 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PyMIC: A Pytorch-Based Toolkit for Medical Image Computing

PyMIC is a pytorch-based toolkit for medical image computing with annotation-efficient deep learning. Despite that pytorch is a fantastic platform for deep learning, using it for medical image computing is not straightforward as medical images are often with high dimension and large volume, multiple modalities and difficulies in annotating. This toolkit is developed to facilitate medical image computing researchers so that training and testing deep learning models become easier. It is very friendly to researchers who are new to this area. Even without writing any code, you can use PyMIC commands to train and test a model by simply editing configuration files. PyMIC is developed to support learning with imperfect labels, including semi-supervised and weakly supervised learning, and learning with noisy annotations.

Currently PyMIC supports 2D/3D medical image classification and segmentation, and it is still under development. If you use this toolkit, please cite the following paper:

BibTeX entry:

@article{Wang2022pymic,
author = {Guotai Wang and Xiangde Luo and Ran Gu and Shuojue Yang and Yijie Qu and Shuwei Zhai and Qianfei Zhao and Kang Li and Shaoting Zhang},
title = {{PyMIC: A deep learning toolkit for annotation-efficient medical image segmentation}},
year = {2023},
url = {https://doi.org/10.1016/j.cmpb.2023.107398},
journal = {Computer Methods and Programs in Biomedicine},
volume = {231},
pages = {107398},
}

Features

PyMIC provides flixible modules for medical image computing tasks including classification and segmentation. It currently provides the following functions:

  • Support for annotation-efficient image segmentation, especially for semi-supervised, self-supervised, weakly-supervised and noisy-label learning.
  • User friendly: For beginners, you only need to edit the configuration files for model training and inference, without writing code. For advanced users, you can customize different modules (networks, loss functions, training pipeline, etc) and easily integrate them into PyMIC.
  • Easy-to-use I/O interface to read and write different 2D and 3D images.
  • Various data pre-processing/transformation methods before sending a tensor into a network.
  • Implementation of typical neural networks for medical image segmentation.
  • Re-useable training and testing pipeline that can be transferred to different tasks.
  • Evaluation metrics for quantitative evaluation of your methods.

Usage

Requirement

  • Pytorch version >=1.0.1
  • TensorboardX to visualize training performance
  • Some common python packages such as Numpy, Pandas, SimpleITK
  • See requirements.txt for details.

Installation

Run the following command to install the latest released version of PyMIC:

pip install PYMIC

To install a specific version of PYMIC such as 0.4.0, run:

pip install PYMIC==0.4.0

Alternatively, you can download the source code for the latest version. Run the following command to compile and install:

python setup.py install

How to start

Projects based on PyMIC

Using PyMIC, it becomes easy to develop deep learning models for different projects, such as the following:

1, MyoPS Winner of the MICCAI 2020 myocardial pathology segmentation (MyoPS) Challenge.

2, COPLE-Net (TMI 2020), COVID-19 Pneumonia Segmentation from CT images.

3, Head-Neck-GTV (NeuroComputing 2020) Nasopharyngeal Carcinoma (NPC) GTV segmentation from Head and Neck CT images.

4, UGIR (MICCAI 2020) Uncertainty-guided interactive refinement for medical image segmentation.

More Repositories

1

SSL4MIS

Semi Supervised Learning for Medical Image Segmentation, a collection of literature reviews and code implementations.
Python
2,154
star
2

DTC

Semi-supervised Medical Image Segmentation through Dual-task Consistency
Python
288
star
3

WSL4MIS

Scribbles or Points-based weakly-supervised learning for medical image segmentation, a strong baseline, and tutorial for research and application.
Python
199
star
4

CA-Net

Code for Comprehensive Attention Convolutional Neural Networks for Explainable Medical Image Segmentation.
Python
168
star
5

SimpleCRF

matlab and python wrap of crf and dense crf, both 2d and 3d are supported
C++
164
star
6

WORD

[MedIA2022]WORD: A large scale dataset, benchmark and clinical applicable study for abdominal organ segmentation from CT image
Python
146
star
7

MIDeepSeg

[MedIA2021]MIDeepSeg: Minimally Interactive Segmentation of Unseen Objects from Medical Images Using Deep Learning
Python
120
star
8

DAG4MIA

Domain Adaptation and Generalization for Medical Image Analysis
Python
112
star
9

COPLE-Net

COVID-19 Pneumonia Lesion segmentation network
Python
87
star
10

ACELoss

Implementations of "Learning Euler's Elastica Model for Medical Image Segmentation"
Python
70
star
11

Paper-Reading-Group

List shared papers in our group
64
star
12

UGIR

Uncertainty-Guided Interactive Refinement for Segmentation
Python
58
star
13

SCPM-Net

[MICCAI2020]CPM-Net: A 3D Center-Points Matching Network for Pulmonary Nodule Detection in CT Scans
Python
55
star
14

CDMA

offical code for: Semi-supervised Pathological Image Segmentation via Cross Distillation of Multiple Attentions. MICCAI 2023.
Python
48
star
15

PyMIC_examples

examples of using PyMIC for medical image computing with deep learning
Python
32
star
16

LCOVNet-and-KD

Python
24
star
17

SegRap2023

[SegRap2023]A challenge about organ-at-risk and gross-tumor-volume segmentation in adaptive radiotherapy hosted on MICCAI2023.
Python
23
star
18

UPL-SFDA

Python
22
star
19

SepNet

Code for Automatic Segmentation of Organs-at-Risk from Head-and-Neck CT using Separable Convolutional Neural Network with Hard-Region-Weighted Loss.
Python
21
star
20

FPL-plus

FPL+: Filtered Pseudo Label-based Unsupervised Cross-Modality Adaptation for 3D Medical Image Segmentation
Python
18
star
21

PA-Seg

PA-Seg: Learning from Point Annotations for 3D Medical Image Segmentation using Contextual Regularization and Cross Knowledge Distillation
Python
15
star
22

MyoPS2020

Python
15
star
23

Head-Neck-GTV

Python
15
star
24

HAMIL

Python
10
star
25

PF-Net

Code for PF-Net (Pulmonary Fibrosis Segmentation Network)
Python
10
star
26

DCA-Net

Python
8
star
27

DMSPS

Dynamically Mixed Soft Pseudo-label Supervision for Scribble-Supervised Medical Image Segmentation
Python
7
star
28

UGTST

6
star
29

RPR-Loc

Python
5
star
30

CFENet

Code for Enhancement of High- and Low-Level Features with Improved Attention Method for Medical Image Segmentation
Jupyter Notebook
5
star
31

IPLC

Python
3
star
32

ABCs_2020

Python
2
star
33

UM-CAM

Python
1
star