LLindn / Synthetic-Brain-Tumor_Data-Generation

Generation of Training Data for Brain Tumor Segmentation via MeVisLab

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synthetic GBM Data Generation in MeVisLab

MeVisLab network for the semi-automatic generation of synthetic MRI data of glioblastomas (GBMs) and automatic creation of the corresponding ground truth.

  • Enhancing tumor margin and necrotic core of a glioblastoma are simulated
  • Binary ground truth segmentation (of the enhancing tumor together with the necrotic core) is automatically generated
  • Additionally a simplified tumor mass effect can be simulated

Requirements

To use the network, you need:

  1. MeVisLab 3.0.1
  2. A valid MeVisLab license

Setup

  1. Clone the repository: git clone https://github.com/LLindn/Synthetic-Brain-Tumor_Data-Generation.git
  2. Open MeVisLab
  3. Navigate to Edit -> Preferences... and select the section Packages. Click on "Add Existing User Packages" to include the folder General located in Custom_Package.

Getting Started

Open the file ArtificialTumor.mlab (located in the MeVisLab_Network folder), which contains the MeVisLab network for synthetic data generation.

Data generation steps:

  1. Load 3D MRI data (nrrd or nifti format) of a healthy subject by using the LoadBrainMRI module
  2. Double click on the SetSeedPoint module (if not already open). Select a seed point (by simply clicking on the MR image) at the desired tumor position.
  3. Optional step to simulate a simplified tumor mass effect: Double click on the SetSeedPointDeform Module (if not already open). Select a seed point (by simply clicking on the MR image) at the desired center of brain tissue deformation.
  4. Double click on the GenerateTumor module (if not already open) and subsequently click on "GenerateTumor" to generate a synthetic tumor structure.
  5. Click on the "refresh" symbol of the CreateFinalData module (or double click on the module and then select "Update") to create the final synthetic MR image. This may take a few seconds. You can examine the resulting MR image by double clicking on the ViewFinalImage module. If you are not happy with the shape of the tumor you can create a new one by again using the GenerateTumor module. If you want to change the position of the tumor you can select a new seed point using the SetSeedPoint module.
  6. The MR image can be saved in single 2D slices (tiff or png format) by using the SaveSlices module. Select a desired path and name for the synthetic MRI data and the corresponding ground truth segmentation. If you want to save the 3D volume, replace the SaveSlices module with the standard MeVisLab itkImageFileWriter module.

Optional steps:

To change the intensity and size of the synthetic tumor, some manual modifications can optionally be performed after step 5.

These manual modifications are carried out in the internal network of the ProcessTumor module. To open the internal network, right click on the ProcessTumor module and select "Show Internal Network".

  • Change Tumor Intensity: You can manually adapt the intensity of the synthetic tumor by changing the value of the AdjustTumorIntensity module.
  • Change tumor size: You can manually change the size of the tumor by by changing the value of the SoScale module.

License

This project is licensed under the MIT License - see the LICENSE file for details. .

Reference

If you use the provided code/network, please cite the following paper:

L. Lindner et al. TuMore: Generation of Synthetic Brain Tumor MRI Data for Deep Learning Based Segmentation Approaches. SPIE Medical Imaging, 2018.

About

Generation of Training Data for Brain Tumor Segmentation via MeVisLab

License:MIT License


Languages

Language:C++ 72.5%Language:Python 14.3%Language:QMake 9.9%Language:Objective-C 1.6%Language:C 1.2%Language:Shell 0.2%Language:Batchfile 0.2%