Note: Here is a full system for lung cancer screening radiomics. https://github.com/taznux/LungCancerScreeningRadiomics
Image processing tools and ruffus based pipeline for radiomics feature analysis
Just run super-build.sh
./super-build.sh
- Required
- Script engine and useful modules
- Required modules: pandas, ruffus, SimpleITK, scipy, numpy, ipython, matplotlib
- install_modules.sh or install_modules.cmd is available to install these modules using conda.
- Recommended
- Image viewer, contour editor, simple image processing tool
http://download.slicer.org/
- gcc or visual studio
- cmake
- ITK 4.13.2
./build.sh
- DICOMTagReader - Display entire DICOM tags
DICOMTagReader [DICOM directory]
- DICOM2NRRDConverter - DICOM to nrrd (Slicer file format)
Simple recursive converting for single patient data
DICOM2NRRDConverter [DICOM directory] [nrrd directory]
For large data
python DICOM2NRRDConverter.py [DICOM directory] [nrrd directory]
- DICOM-RT2NRRDConverter - DICOM-RT to nrrd
- STAPLEComparison - variation comparison on multiple contours
- ExtractBoundary
- GTVs2ITV
- HoleGenerator
- ROIGenerator
- ROI2BinImage
- ROICropImage
NoduleSegmentation - Segment small nodular objects for solid nodule and GGO
NoduleSegmentation [InputImageFile] [SeedPoint_x] [SeedPoint_y] [SeedPoint_z] \
[NoduleSize_long] [NoduleSize_short] [OutputImageFile]
FeatureExtraction - Extract image features from the nodule segmentation
FeatureExtraction [InputImage] [LabelImage] [FeatureFile] [Label={1}]
- metadata.py - for handling metadata in csv or xls
- organize_features.py - for collecting feature data into a single csv file
- NRRD4Matlab - for handing nrrd format in MATLAB
- PET2SUV - for converting raw PET image to standardized uptake value(SUV)
- RegistrationSITK - simple registration code, required SimpleITK module for python
- SlicerPythonExtensions - simple extensions for Slicer
- InterpolateROIsEffect.py
- LineProfile.py
TBD - modeling code for radiomics features
Radiomics feature extraction pipeline example for LUNGx dataset
- Download DICOM images
https://wiki.cancerimagingarchive.net/display/Public/SPIE-AAPM+Lung+CT+Challenge
Download all DICOM images to 'DATA'
You can use the included metadata files for LUNGx (TrainingSet.csv and TestSet.csv)
- Environmental parameters
Set your parameters in script/run_lungx.py (recommend default setting).
experiment_set = 'TrainingSet'
# experiment_set = 'TestSet'
output_path = 'output'
data_path = 'DATA'
dicom_path = data_path + '/DOI'
image_path = data_path + '/' + experiment_set
nodule_info_path = './' + experiment_set + '.csv'
- Run radiomics pipeline
$ python script/run_lungx.py or script/run_lungx.py
- Analysis feature data output files (intermediate images and feature data) will be generated in 'output' directory
- TrainingSet: feature_list_TrainingSet.csv
- TestSet: feature_list_TestSet.csv
Wookjin Choi wchoi1022@gmail.com