MIP Supervision
A simple PyTorch implementation of: Koziński M, Mosinska A, Salzmann M, Fua P. Tracing in 2D to reduce the annotation effort for 3D deep delineation of linear structures. Medical Image Analysis. 2020 Feb;60:101590. DOI: 10.1016/j.media.2019.101590.
Install Environement
- Using conda:
conda env create
- Using pip (TODO)
Dataset
demo.ipynb
uses a public segmentation dataset (CHAOS [1]) as an example. It is a good palce to start in this repository.
If you wish to use your own dataset, you can use dataset.SegDataset3D
class as follows:
from dataset import SegDataset3D
trainset = SegDataset3D(X, Y)
Where X
and Y
are numpy arrays of shape (N, W, H, D)
, with:
N
: number of samplesW
: width of each sampleH
: height of each sampleD
: depth of each sample
Network
The network is a U-Net style of network [2] that uses two max-pooling operations instead of four. The following code shows how to instantiate and use the network:
from model import UNet
in_channels = 1
out_channels = 3
net = UNet(in_channels, out_channels)
In the above example, the input is 1 channel volume, and the output is 3-class (3 channel) volumetric probability map.
Training
TODO
References
[1] A.E. Kavur, M. A. Selver, O. Dicle, M. Barış, N.S. Gezer. CHAOS - Combined (CT-MR) Healthy Abdominal Organ Segmentation Challenge Data (Version v1.03) [Data set]. Apr. 2019. Zenodo. http://doi.org/10.5281/zenodo.3362844
[2] O. Ronneberger, P. Fischer, and T. Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation. In MICCAI, 2015.
[3] Koziński M, Mosinska A, Salzmann M, Fua P. Tracing in 2D to reduce the annotation effort for 3D deep delineation of linear structures. Medical Image Analysis. 2020 Feb;60:101590. DOI: 10.1016/j.media.2019.101590.