Git Product home page Git Product logo

radiomics-tools's Introduction

Radiomics tools

Build Status codecov Stories in Ready

Image processing tools and ruffus based pipeline for radiomics feature analysis

Super build

Just run super-build.sh

Install software

Python 3.5

  • Required
  • Script engine and useful modules

http://conda.pydata.org/miniconda.html - !recommend!
https://www.python.org/downloads/

Required modules - pandas, ruffus, SimpleITK, scipy, numpy, ipython, matplotlib install_modules.sh or install_modules.cmd is available to install these modules using conda.

Slicer 4.5

  • Recommended
  • Image viewer, contour editor, simple image processing tool

http://download.slicer.org/

Build

  • gcc or visual studio
  • cmake
  • ITK

./build.sh

Tools

1. DICOMTools

  1. DICOMTagReader - Display entire DICOM tags

DICOMTagReader [DICOM directory]

  1. 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]

  1. DICOM-RT2NRRDConverter - DICOM-RT to nrrd

2. ContourTools

  1. STAPLEComparison - variation comparison on multiple contours
  2. ExtractBoundary
  3. GTVs2ITV
  4. HoleGenerator
  5. ROIGenerator
  6. ROI2BinImage
  7. ROICropImage

3. GrowCutSegmentation

NoduleSegmentation - Segment small nodular objects for solid nodule and GGO

NoduleSegmentation [InputImageFile] [SeedPoint_x] [SeedPoint_y [SeedPoint_z] [NoduleSize_long] [NoduleSize_short] [OutputImageFile]

4. Feature Extraction

FeatureExtraction - Extract image features from the nodule segmentation

FeatureExtraction [InputImage] [LabelImage] [FeatureFile] [Label={1}]

5. Python Tools

  1. metadata.py - for handling metadata in csv or xls
  2. organize_features.py - for collecting feature data into a single csv file

6. MATLAB Tools

  1. NRRD4Matlab - for handing nrrd format in MATLAB
  2. PET2SUV - for converting raw PET image to standardized uptake value(SUV)

7. ETC

  1. RegistrationSITK - simple registration code, required SimpleITK module for python
  2. SlicerPythonExtensions - simple extensions for Slicer 1. InterpolateROIsEffect.py 2. LineProfile.py

6. LASSO-SVM

TBD - modeling code for radiomics features

Usage

Radiomics feature extraction pipeline example for LUNGx dataset

  1. 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)

  1. 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'

  1. Run radiomics pipeline

$ python script/run_lungx.py or script/run_lungx.py

  1. Analysis feature data output files (intermediate images and feature data) will be generated in output

TrainingSet feature_list_TrainingSet.csv TestSet feature_list_TestSet.csv

radiomics-tools's People

Contributors

taznux avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.