BrainRadiomicsTools is a radiomics tools that includes multiple brain image processing tools. It has many functions such as registration、N4 bias correction、hippocampus segment and feature calculating. Now it can automatically segment and calculate about 2000 radiomics features of the hippocampus. The feature about this tools is that it has a good user interface, you can do all the work with the mouse.
The tools is a python based program, it can execute in Windows now(some function may error in Linux and Mac OS),
The installation script is not completed yet, but here is a file environment.yaml
and requirement.txt
describing which python packages are required for this tool.
It is recommended to use Anaconda(Miniconda) for environment configuration, the most important package is theano, there will be some problem in the installation of theano. The key of the installation is installing mingw by conda.
- If you don't have conda envirment, please install the Anaconda or Miniconda
- Open the CMD.exe and use conda to create a new env such as :
conda create -n brainTools python=3.6
- Then activate the conda env :
conda activate brainTools
- Install the mingw by conda :
conda install m2w64-toolchain -c anaconda libpython -y
- Install the packages by pip :
pip install -r requirement.txt
Some python package may fail to install, you can download the compiled package to install. The 'dipy' maybe need to uninstall and install manually. In the end, ensure the new env is activated and use thepython Main.py
to run tool after completing the dependency package installation.
- dicom2nifti
by dicom2nifti python package
- registration
by NiftyReg
- brain extraction
by FSL BET
- N4 bias correction
by ANTs / SimpleITK
Segmentation functions include hippocampus segmentation and brain segmentation. The two neural networks are trained by inhouse datasets, and tools use the trained models.
-
Hippocampus Segmentation
by https://github.com/josedolz/LiviaNET
-
Brain Tissue Segmentation(Wm,Gm,Csf)
by https://github.com/Ryo-Ito/brain_segmentation
Calculate the radiomics features by pyradiomics
.
Enable all the features and the following 9 image types,the inputs include the origin image and the ROI.
Because of some problems about configure file, now the features can not be customized, and it will update later.
Original
LoG
Wavelet
SquareRoot
Square
Logarithm
Gradient
Exponential
LBP3D
More about the pyradiomics, you can see the documentation of it: https://pyradiomics.readthedocs.io/en/latest/
A comparison of the parameters of the input image is performed using an inhouse dataset as a reference (beta).
A detailed analysis report is given on the input image based on the reference range of brain volume and radiomics features
derived from the inhouse datasets.
There are many functions in the software,each of them can be used independently,so it is very flexible to use this software. It is recommended to use batch to process images,and you can also use function module to process images.
Batch can call all the function of the program,and you can use batch as follows:
- Check the function you want by checking the checkbox on the left.
- Choose the input and ouput directory by click the button on the right.
- Click the Start button and wait for the completion.
The most of function modules have two operating mode: single file and directory batch, you can switch the mode by checking the radio button in the top of the window.It is worth to notice that each module has only one function,such as the Hippocampus segmentation only do the hippocampus segment without any preprocessing.
Input: the directory of the dicom image file
Output: the Nifti image file
Input: the original image or directory of the original image file.
Output: the registered image.
If you do not choose the ref image
, we will use the MMNI ICBM-152(182*218*182 mm)
to register your image.
Input: the image or directory of the image file.
Output: the image with the brain and the mask of brain.
Input: the image or directory of the image file.
Output: the ouput is the processed image.
You can check bias field correction and normalization.
Input: the image or directory of the image file. The input need to be registerd with MMNI ICBM-152(182*218*182 mm)
(roughly is ok).
Output: the ouput is the mask of the hippocampus.
Input: The input is the image or directory of the origin image file The input need to be registerd with MMNI ICBM-152(182*218*182 mm)
(roughly is ok).
Output: The ouput is the probability segmentation of gm, wm and csf.
Input: The image or directory of the image file, the ROI and image must have a one-to-one correspondence.
If you input one image, you have to input one mask file, and the parameters of nifti file between the image and the ROI is the same. If your input is a directory, the ROI must be a directory, and the sequence of the image in the image directory is the same as the sequence of the ROI in the ROI directory.
Output: a csv file, one file occupies one row, and features arranged in columns.
[1] Chen, Hao, et al. "VoxResNet: Deep Voxelwise Residual Networks for Volumetric Brain Segmentation." arXiv preprint arXiv:1608.05895 (2016).
[2] Dolz J , Desrosiers C , Ayed I B . 3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study[J]. NeuroImage, 2017:S1053811917303324.
This program is covered by the Apache License 2.0.