Skip to content

Commit 42feb23

Browse files
authored
Merge branch 'master' into dev
2 parents 5162924 + ee51fa9 commit 42feb23

File tree

15 files changed

+404
-5
lines changed

15 files changed

+404
-5
lines changed

.gitignore

Lines changed: 157 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,160 @@ build/*
33
dist/*
44
*egg*/*
55
*stop*
6-
files.txt
6+
files.txt
7+
8+
# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
9+
# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks
10+
11+
### JupyterNotebooks ###
12+
# gitignore template for Jupyter Notebooks
13+
# website: http://jupyter.org/
14+
15+
.ipynb_checkpoints
16+
*/.ipynb_checkpoints/*
17+
18+
# IPython
19+
profile_default/
20+
ipython_config.py
21+
22+
# Remove previous ipynb_checkpoints
23+
# git rm -r .ipynb_checkpoints/
24+
25+
### Python ###
26+
# Byte-compiled / optimized / DLL files
27+
__pycache__/
28+
*.py[cod]
29+
*$py.class
30+
31+
# C extensions
32+
*.so
33+
34+
# Distribution / packaging
35+
.Python
36+
build/
37+
develop-eggs/
38+
dist/
39+
downloads/
40+
eggs/
41+
.eggs/
42+
lib/
43+
lib64/
44+
parts/
45+
sdist/
46+
var/
47+
wheels/
48+
share/python-wheels/
49+
*.egg-info/
50+
.installed.cfg
51+
*.egg
52+
MANIFEST
53+
54+
# PyInstaller
55+
# Usually these files are written by a python script from a template
56+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
57+
*.manifest
58+
*.spec
59+
60+
# Installer logs
61+
pip-log.txt
62+
pip-delete-this-directory.txt
63+
64+
# Unit test / coverage reports
65+
htmlcov/
66+
.tox/
67+
.nox/
68+
.coverage
69+
.coverage.*
70+
.cache
71+
nosetests.xml
72+
coverage.xml
73+
*.cover
74+
*.py,cover
75+
.hypothesis/
76+
.pytest_cache/
77+
cover/
78+
79+
# Translations
80+
*.mo
81+
*.pot
82+
83+
# Django stuff:
84+
*.log
85+
local_settings.py
86+
db.sqlite3
87+
db.sqlite3-journal
88+
89+
# Flask stuff:
90+
instance/
91+
.webassets-cache
92+
93+
# Scrapy stuff:
94+
.scrapy
95+
96+
# Sphinx documentation
97+
docs/_build/
98+
99+
# PyBuilder
100+
.pybuilder/
101+
target/
102+
103+
# Jupyter Notebook
104+
105+
# IPython
106+
107+
# pyenv
108+
# For a library or package, you might want to ignore these files since the code is
109+
# intended to run in multiple environments; otherwise, check them in:
110+
# .python-version
111+
112+
# pipenv
113+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
114+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
115+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
116+
# install all needed dependencies.
117+
#Pipfile.lock
118+
119+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
120+
__pypackages__/
121+
122+
# Celery stuff
123+
celerybeat-schedule
124+
celerybeat.pid
125+
126+
# SageMath parsed files
127+
*.sage.py
128+
129+
# Environments
130+
.env
131+
.venv
132+
env/
133+
venv/
134+
ENV/
135+
env.bak/
136+
venv.bak/
137+
138+
# Spyder project settings
139+
.spyderproject
140+
.spyproject
141+
142+
# Rope project settings
143+
.ropeproject
144+
145+
# mkdocs documentation
146+
/site
147+
148+
# mypy
149+
.mypy_cache/
150+
.dmypy.json
151+
dmypy.json
152+
153+
# Pyre type checker
154+
.pyre/
155+
156+
# pytype static type analyzer
157+
.pytype/
158+
159+
# Cython debug symbols
160+
cython_debug/
161+
162+
# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ Run the following command to install the latest released version of PyMIC:
3636
```bash
3737
pip install PYMIC
3838
```
39+
To install a specific version of PYMIC such as 0.3.0, run:
3940

40-
Alternatively, you can download the source code for the latest dev version. Run the following command to compile and install:
41+
```bash
42+
pip install PYMIC==0.3.0
43+
```
44+
Alternatively, you can download the source code for the latest version. Run the following command to compile and install:
4145

4246
```bash
4347
python setup.py install
@@ -53,12 +57,15 @@ python setup.py install
5357
## Projects based on PyMIC
5458
Using PyMIC, it becomes easy to develop deep learning models for different projects, such as the following:
5559

56-
1, [COPLE-Net][coplenet] (TMI 2020), COVID-19 Pneumonia Segmentation from CT images.
60+
1, [MyoPS][myops] Winner of the MICCAI 2020 myocardial pathology segmentation (MyoPS) Challenge.
61+
62+
2, [COPLE-Net][coplenet] (TMI 2020), COVID-19 Pneumonia Segmentation from CT images.
5763

58-
2, [Head-Neck-GTV][hn_gtv] (NeuroComputing 2020) Nasopharyngeal Carcinoma (NPC) GTV segmentation from Head and Neck CT images.
64+
3, [Head-Neck-GTV][hn_gtv] (NeuroComputing 2020) Nasopharyngeal Carcinoma (NPC) GTV segmentation from Head and Neck CT images.
5965

60-
3, [UGIR][ugir] (MICCAI 2020) Uncertainty-guided interactive refinement for medical image segmentation.
66+
4, [UGIR][ugir] (MICCAI 2020) Uncertainty-guided interactive refinement for medical image segmentation.
6167

68+
[myops]: https://github.com/HiLab-git/MyoPS2020
6269
[coplenet]:https://github.com/HiLab-git/COPLE-Net
6370
[hn_gtv]: https://github.com/HiLab-git/Head-Neck-GTV
6471
[ugir]: https://github.com/HiLab-git/UGIR

docs/.debug.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
remote_theme: false
2+
3+
theme: jekyll-rtd-theme

docs/Documentation/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
sort: 2
3+
---
4+
# Readme for Documentation

docs/Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

docs/Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line, and also
5+
# from the environment for the first two.
6+
SPHINXOPTS ?=
7+
SPHINXBUILD ?= sphinx-build
8+
SOURCEDIR = source
9+
BUILDDIR = build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Welcome to PyMIC
2+
3+
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.
4+
5+
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.
6+
7+
### Features
8+
PyMIC provides flixible modules for medical image computing tasks including classification and segmentation. It currently provides the following functions:
9+
* Support for annotation-efficient image segmentation, especially for semi-supervised, weakly-supervised and noisy-label learning.
10+
* 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.
11+
* Easy-to-use I/O interface to read and write different 2D and 3D images.
12+
* Various data pre-processing/transformation methods before sending a tensor into a network.
13+
* Implementation of typical neural networks for medical image segmentation.
14+
* Re-useable training and testing pipeline that can be transferred to different tasks.
15+
* Evaluation metrics for quantitative evaluation of your methods.
16+
17+
### Installation
18+
Run the following command to install the current released version of PyMIC:
19+
20+
```bash
21+
pip install PYMIC
22+
```
23+
24+
Alternatively, you can download the source code for the latest version. Run the following command to compile and install:
25+
26+
```bash
27+
python setup.py install
28+
```
29+
30+
### Quick Start
31+
[PyMIC_examples][examples] provides some examples of starting to use PyMIC. At the beginning, you only need to edit the configuration files to select different datasets, networks and training methods for running the code. When you are more familiar with PyMIC, you can customize different modules in the PyMIC package. You can find both types of examples:
32+
33+
[examples]: https://github.com/HiLab-git/PyMIC_examples
34+

docs/_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
theme: jekyll-theme-leap-day

docs/index.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Welcome to PyMIC
2+
3+
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.
4+
5+
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.
6+
7+
### Features
8+
PyMIC provides flixible modules for medical image computing tasks including classification and segmentation. It currently provides the following functions:
9+
* Support for annotation-efficient image segmentation, especially for semi-supervised, weakly-supervised and noisy-label learning.
10+
* 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.
11+
* Easy-to-use I/O interface to read and write different 2D and 3D images.
12+
* Various data pre-processing/transformation methods before sending a tensor into a network.
13+
* Implementation of typical neural networks for medical image segmentation.
14+
* Re-useable training and testing pipeline that can be transferred to different tasks.
15+
* Evaluation metrics for quantitative evaluation of your methods.
16+
17+
### Installation
18+
Run the following command to install the current released version of PyMIC:
19+
20+
```bash
21+
pip install PYMIC
22+
```
23+
24+
Alternatively, you can download the source code for the latest version. Run the following command to compile and install:
25+
26+
```bash
27+
python setup.py install
28+
```
29+
30+
### Quick Start
31+
[PyMIC_examples][examples] provides some examples of starting to use PyMIC. At the beginning, you only need to edit the configuration files to select different datasets, networks and training methods for running the code. When you are more familiar with PyMIC, you can customize different modules in the PyMIC package. You can find both types of examples:
32+
33+
[examples]: https://github.com/HiLab-git/PyMIC_examples
34+

docs/make.bat

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@ECHO OFF
2+
3+
pushd %~dp0
4+
5+
REM Command file for Sphinx documentation
6+
7+
if "%SPHINXBUILD%" == "" (
8+
set SPHINXBUILD=sphinx-build
9+
)
10+
set SOURCEDIR=source
11+
set BUILDDIR=build
12+
13+
if "%1" == "" goto help
14+
15+
%SPHINXBUILD% >NUL 2>NUL
16+
if errorlevel 9009 (
17+
echo.
18+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19+
echo.installed, then set the SPHINXBUILD environment variable to point
20+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
21+
echo.may add the Sphinx directory to PATH.
22+
echo.
23+
echo.If you don't have Sphinx installed, grab it from
24+
echo.http://sphinx-doc.org/
25+
exit /b 1
26+
)
27+
28+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29+
goto end
30+
31+
:help
32+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33+
34+
:end
35+
popd

0 commit comments

Comments
 (0)