nnunet入门之二 (MRI图像分割)
迪丽瓦拉
2024-06-02 07:48:06
0

目录

  • 安装环境
  • 数据处理
  • 预处理
  • 训练
  • 测试

MIC-DKFZ/nnUNet
选择Linux环境运行该项目,Windows环境需要更改较多的参数,暂不支持。

安装环境

可以查看另一篇

数据处理

因为开源的MRI数据一般是4D的,即把所有模态拼接起来,可以用nnUNet的转换命令;私人数据一般是存放3D的不同模态,可以按照本文私人数据集(3D)的方式处理,也可以将所有模态拼接起来,用nnUNet的转换命令。

  1. 开源数据集(4D)

    1.1 文件夹目录

    └─Task01_BrainTumour│  dataset.json│  ├─imagesTr│      BRATS_001_0000.nii.gz│      BRATS_001_0001.nii.gz│      BRATS_001_0002.nii.gz│      BRATS_001_0003.nii.gz│      BRATS_002_0000.nii.gz│      BRATS_002_0001.nii.gz│      BRATS_002_0002.nii.gz│      BRATS_002_0003.nii.gz│      BRATS_003_0000.nii.gz│      BRATS_003_0001.nii.gz│      BRATS_003_0002.nii.gz│      BRATS_003_0003.nii.gz│      BRATS_004_0000.nii.gz│      BRATS_004_0001.nii.gz│      BRATS_004_0002.nii.gz│      BRATS_004_0003.nii.gz│      BRATS_005_0000.nii.gz│      BRATS_005_0001.nii.gz│      BRATS_005_0002.nii.gz│      BRATS_005_0003.nii.gz│      ...├─imagesTs│      BRATS_485_0000.nii.gz│      BRATS_485_0001.nii.gz│      BRATS_485_0002.nii.gz│      BRATS_485_0003.nii.gz│      BRATS_486_0000.nii.gz│      BRATS_486_0001.nii.gz│      BRATS_486_0002.nii.gz│      BRATS_486_0003.nii.gz│      ...└─labelsTrBRATS_001.nii.gzBRATS_002.nii.gzBRATS_003.nii.gzBRATS_004.nii.gzBRATS_005.nii.gz...
    

    1.2 json文件信息

    nnUNet/nnunet/dataset_conversion/utils.py里面的函数generate_dataset_json可以生成相应任务的json文件。

    { 
    "name": "BRATS", 
    "description": "Gliomas segmentation tumour and oedema in on brain images",
    "reference": "https://www.med.upenn.edu/sbia/brats2017.html",
    "licence":"CC-BY-SA 4.0",
    "release":"2.0 04/05/2018",
    "tensorImageSize": "4D",
    "modality": { "0": "FLAIR", "1": "T1w", "2": "t1gd","3": "T2w"}, "labels": { "0": "background", "1": "edema","2": "non-enhancing tumor","3": "enhancing tumour"}, "numTraining": 484, "numTest": 266,"training":[{"image":"./imagesTr/BRATS_001.nii.gz","label":"./labelsTr/BRATS_001.nii.gz"},{"image":"./imagesTr/BRATS_002.nii.gz","label":"./labelsTr/BRATS_002.nii.gz"},{"image":"./imagesTr/BRATS_003.nii.gz","label":"./labelsTr/BRATS_003.nii.gz"},{"image":"./imagesTr/BRATS_004.nii.gz","label":"./labelsTr/BRATS_004.nii.gz"},{"image":"./imagesTr/BRATS_005.nii.gz","label":"./labelsTr/BRATS_005.nii.gz"},...],"test":["./imagesTs/BRATS_485.nii.gz","./imagesTs/BRATS_486.nii.gz",...]}

    1.3 转换数据

    nnUNet_convert_decathlon_task -i /xxx/Task01_BrainTumour
    

    转换的数据存在nnUNet_raw_data_base/nnUNet_raw_data/Task001_BrainTumour,此时imagesTrimagesTs里的文件名加了后缀"_0000", "_0001", "_0002", "_0003"

    注意:此处Task01_BrainTumour变为Task001_BrainTumour

  2. 私人数据集(3D)

    直接转换数据,将数据存放到nnUNet_raw_data_base/nnUNet_raw_data/Task001_BrainTumour

    2.1 文件夹目录

    └─Task001_BrainTumour│  dataset.json│  ├─imagesTr│      BRATS_001.nii.gz│      BRATS_002.nii.gz│      BRATS_003.nii.gz│      BRATS_004.nii.gz│      BRATS_005.nii.gz│      ...├─imagesTs│      BRATS_485.nii.gz│      BRATS_486.nii.gz│      ...└─labelsTrBRATS_001.nii.gzBRATS_002.nii.gzBRATS_003.nii.gzBRATS_004.nii.gzBRATS_005.nii.gz...
    

    2.2 json文件信息

    nnUNet/nnunet/dataset_conversion/utils.py里面的函数generate_dataset_json可以生成相应任务的json文件。

    { 
    "name": "BRATS", 
    "description": "Gliomas segmentation tumour and oedema in on brain images",
    "reference": "https://www.med.upenn.edu/sbia/brats2017.html",
    "licence":"CC-BY-SA 4.0",
    "release":"2.0 04/05/2018",
    "tensorImageSize": "4D",
    "modality": { "0": "FLAIR", "1": "T1w", "2": "t1gd","3": "T2w"}, "labels": { "0": "background", "1": "edema","2": "non-enhancing tumor","3": "enhancing tumour"}, "numTraining": 484, "numTest": 266,"training":[{"image":"./imagesTr/BRATS_001.nii.gz","label":"./labelsTr/BRATS_001.nii.gz"},{"image":"./imagesTr/BRATS_002.nii.gz","label":"./labelsTr/BRATS_002.nii.gz"},{"image":"./imagesTr/BRATS_003.nii.gz","label":"./labelsTr/BRATS_003.nii.gz"},{"image":"./imagesTr/BRATS_004.nii.gz","label":"./labelsTr/BRATS_004.nii.gz"},{"image":"./imagesTr/BRATS_005.nii.gz","label":"./labelsTr/BRATS_005.nii.gz"},...],"test":["./imagesTs/BRATS_485.nii.gz","./imagesTs/BRATS_486.nii.gz",...]}

预处理

# 只进行3d预处理,不进行2d预处理
nnUNet_plan_and_preprocess -t 01 -pl2d None

训练

可以查看另一篇

测试

可以查看另一篇

相关内容