An easy iterative segmentation tool for MRI data based on UNet.
You only need to label a small portion of the MRI dataset to segment the rest part.
If the segmentation results are not satisfactory, just Label a little bit More on top of that.
Segmentations of MRNet after 2 iterations (labeled 10 subjects + refined 10 subjects):
This code requires PyTorch 1.1+.
Clone this repo and install the dependencies by
git clone https://github.com/zixuzhuang/LabelMore.git
cd LabelMore
pip install -r requirements.txt
The original MRI files need to be put in data/images
and the segmentation files in data/segmentations
. The MRI and segmentation files of the same subject must have the same name.
mkdir data
cd data
mkdir cache && mkdir images && mkdir predictions && mkdir previews && mkdir segmentations
cd ..
At least 10 initial segmentations are recommended.
python nii2npz.py
python train.py -c <config-file>
The parameters of the training process can be referenced in configs/mrnet.yaml
.
The corresponding experiment log and model file can be found in results
after training.
python eval.py -m <model-path> -n <evaluate-number>
This step will produce a pre-segmentation of the n
unsegmented MRI files in data/predictions
.
To get the segmentation result for all remaining files, set n
to 0.
If you check the pre-segmentation results and are not satisfied with the performance, you just need to refine the pre-segmentation in data/predictions
and save them in data/segmentations
. Repeat step 1 to step 4 until the pre-segmentation results meet your needs.
python nii2npz.py
python train.py -c <config-file>
python eval.py -m <model-path> -n <evaluate-number>
When the pre-segmentation results meet your needs, just
python eval.py -m <model-path> -n 0
- Thank Kai Xuan for his efficient code bases.
@article{zhuang2022knee,
title={Knee Cartilage Defect Assessment by Graph Representation and Surface Convolution},
author={Zhuang, Zixu and Si, Liping and Wang, Sheng and Xuan, Kai and Ouyang, Xi and Zhan, Yiqiang and Xue, Zhong and Zhang, Lichi and Shen, Dinggang and Yao, Weiwu and Wang, Qian},
journal={arXiv preprint arXiv:2201.04318},
year={2022}
}