Coder Social home page Coder Social logo

pymic's Introduction

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. It was originally developed for COVID-19 pneumonia lesion segmentation from CT images. If you use this toolkit, please cite the following paper:

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, 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.3.0, run:

pip install PYMIC==0.3.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.

pymic's People

Contributors

taigw avatar vincentme avatar

Watchers

James Cloos avatar

Forkers

sn-chenxi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.