-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
353 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
Radiomics tools | ||
=================== | ||
|
||
Image processing tools and ruffus based workflow for radiomics feature analysis | ||
|
||
Install software | ||
-------------------------- | ||
### Python 3.5 ### | ||
- Required | ||
- Script engine and useful modules | ||
|
||
https://www.python.org/downloads/ | ||
|
||
> Required modules - pandas, ruffus | ||
> Recommended module - scipy, numpy, ipython, matplotlib | ||
> | ||
> install_modules.sh or install_modules.cmd is available to install these modules. | ||
### Slicer 4.5 ### | ||
- Recommended | ||
- Image viewer, contour editor, simple image processing tool | ||
|
||
http://download.slicer.org/ | ||
|
||
|
||
### To build ### | ||
- gcc or visual studio | ||
- cmake | ||
- ITK | ||
|
||
|
||
Tools | ||
----- | ||
### 1. DICOMTools ### | ||
1. DICOMTagReader - Display entire DICOM tags | ||
> DICOMTagReader [DICOM directory] | ||
2. 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] | ||
3. DICOM-RT2NRRDConverter - DICOM-RT to nrrd | ||
|
||
|
||
### 2. ContourTools ### | ||
1. STAPLEComparison - variation comparison on multiple contours | ||
1. ExtractBoundary | ||
1. GTVs2ITV | ||
1. HoleGenerator | ||
1. ROIGenerator | ||
1. ROI2BinImage | ||
1. 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 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) | ||
|
||
2. Environmental parameters | ||
Set your parameters in run_CAD.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' | ||
3. Run workflow | ||
> $ python run.py or ./run.py | ||
4. 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
No.,PID,LD,PD,Z,X,Y,malignancy | ||
1,LUNGx-CT001,20,5,142,135,303, | ||
2,LUNGx-CT002,20,5,205,330,348, | ||
3,LUNGx-CT002,20,5,150,364,212, | ||
4,LUNGx-CT003,20,5,146,374,374, | ||
5,LUNGx-CT004,20,5,41,197,290, | ||
6,LUNGx-CT004,20,5,80,328,242, | ||
7,LUNGx-CT005,20,5,42,333,356, | ||
8,LUNGx-CT005,20,5,138,164,420, | ||
9,LUNGx-CT006,20,5,50,381,284, | ||
10,LUNGx-CT007,20,5,188,170,355, | ||
11,LUNGx-CT008,20,5,139,172,208, | ||
12,LUNGx-CT009,20,5,164,175,209, | ||
13,LUNGx-CT010,20,5,139,164,163, | ||
14,LUNGx-CT011,20,5,56,179,335, | ||
15,LUNGx-CT012,20,5,88,131,360, | ||
16,LUNGx-CT013,20,5,91,373,240, | ||
17,LUNGx-CT014,20,5,204,163,212, | ||
18,LUNGx-CT015,20,5,124,353,413, | ||
19,LUNGx-CT016,20,5,62,344,358, | ||
20,LUNGx-CT016,20,5,55,204,295, | ||
21,LUNGx-CT017,20,5,178,354,355, | ||
22,LUNGx-CT017,20,5,153,376,283, | ||
23,LUNGx-CT018,20,5,137,116,242, | ||
24,LUNGx-CT019,20,5,131,128,362, | ||
25,LUNGx-CT020,20,5,179,379,285, | ||
26,LUNGx-CT021,20,5,76,296,267, | ||
27,LUNGx-CT022,20,5,68,159,355, | ||
28,LUNGx-CT023,20,5,61,332,277, | ||
29,LUNGx-CT024,20,5,197,107,284, | ||
30,LUNGx-CT025,20,5,214,134,300, | ||
31,LUNGx-CT026,20,5,138,427,316, | ||
32,LUNGx-CT027,20,5,97,357,250, | ||
33,LUNGx-CT028,20,5,135,117,312, | ||
34,LUNGx-CT029,20,5,73,179,369, | ||
35,LUNGx-CT029,20,5,79,353,277, | ||
36,LUNGx-CT030,20,5,104,118,310, | ||
37,LUNGx-CT031,20,5,70,130,230, | ||
38,LUNGx-CT032,20,5,239,392,341, | ||
39,LUNGx-CT033,20,5,113,188,312, | ||
40,LUNGx-CT034,20,5,150,128,274, | ||
41,LUNGx-CT035,20,5,268,154,355, | ||
42,LUNGx-CT035,20,5,215,454,300, | ||
43,LUNGx-CT036,20,5,220,150,392, | ||
44,LUNGx-CT037,20,5,62,374,315, | ||
45,LUNGx-CT038,20,5,197,184,249, | ||
46,LUNGx-CT039,20,5,242,149,380, | ||
47,LUNGx-CT040,20,5,189,336,353, | ||
48,LUNGx-CT041,20,5,172,107,292, | ||
49,LUNGx-CT042,20,5,178,326,391, | ||
50,LUNGx-CT043,20,5,177,394,162, | ||
51,LUNGx-CT043,20,5,230,440,289, | ||
52,LUNGx-CT044,20,5,90,136,298, | ||
53,LUNGx-CT045,20,5,148,314,216, | ||
54,LUNGx-CT046,20,5,61,309,211, | ||
55,LUNGx-CT047,20,5,53,199,306, | ||
56,LUNGx-CT047,20,5,67,236,276, | ||
57,LUNGx-CT048,20,5,115,368,312, | ||
58,LUNGx-CT049,20,5,71,398,296, | ||
59,LUNGx-CT050,20,5,41,385,316, | ||
60,LUNGx-CT051,20,5,77,303,297, | ||
61,LUNGx-CT052,20,5,124,135,202, | ||
62,LUNGx-CT052,20,5,50,342,341, | ||
63,LUNGx-CT053,20,5,213,195,303, | ||
64,LUNGx-CT054,20,5,180,196,336, | ||
65,LUNGx-CT054,20,5,149,174,208, | ||
66,LUNGx-CT055,20,5,125,223,193, | ||
67,LUNGx-CT056,20,5,56,209,308, | ||
68,LUNGx-CT056,20,5,98,374,218, | ||
69,LUNGx-CT057,20,5,169,396,353, | ||
70,LUNGx-CT058,20,5,157,377,234, | ||
71,LUNGx-CT059,20,5,235,75,288, | ||
72,LUNGx-CT059,20,5,258,371,207, | ||
73,LUNGx-CT060,20,5,133,192,298, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
No.,PID,LD,PD,Z,X,Y,malignancy | ||
1,CT-Training-LC001,20,5,135,120,325,1 | ||
2,CT-Training-LC002,20,5,70,139,359,1 | ||
3,CT-Training-LC003,20,5,70,375,323,1 | ||
4,CT-Training-LC008,20,5,65,95,328,1 | ||
5,CT-Training-LC009,20,5,63,145,299,1 | ||
6,CT-Training-BE001,20,5,169,405,296,0 | ||
7,CT-Training-BE002,20,5,117,184,268,0 | ||
8,CT-Training-BE006,20,5,241,449,266,0 | ||
9,CT-Training-BE007,20,5,194,385,206,0 | ||
10,CT-Training-BE010,20,5,69,120,336,0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
pip install pandas ruffus | ||
pip install scipy numpy ipython matplotlib | ||
REM pip install pyqt pyside | ||
REM pip install SimpleITK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
pip install pandas ruffus | ||
pip install scipy numpy ipython matplotlib | ||
#pip install pyqt pyside | ||
#pip install SimpleITK |
Oops, something went wrong.