-
Notifications
You must be signed in to change notification settings - Fork 4
/
Notes
94 lines (74 loc) · 4.81 KB
/
Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
This slim version of the Radiomics Platform does not contain functions and widgets associated with batch processing.
It is used for single-case Radiomics Feature Extraction of an image and label-map pair loaded into Slicer.
---------------------------------------------------------------------------------------------------------------------------------------
Installation:
In Slicer, go to Edit->Application Settings->Modules. In the 'Additional module paths' box, click the double arrows
and add the path to the RadiomicsPlatform directory (containing the CMakeLists.txt file, Radiomics.py file, and 3 directories).
---------------------------------------------------------------------------------------------------------------------------------------
Example of Recommended Folder Hierarchy (Using one *.nrrd image (ImageX) with a corresponding label map):
<DatasetName>
<PatientID>
<StudyDate_StudyDescription>
"Reconstructions"
<ImageXSeriesDescription>.nrrd
"Segmentations"
<ImageXSeriesDescription>_tumor_labelMap.nrrd
"Resources"
(Other Files)
---------------------------------------------------------------------------------------------------------------------------------------
The 'AdvancedSettings' or 'Settings' Dict object:
This is passed to the RadiomicsPlatform Module's 'RadiomicsPreProcessing' Class. The Dict Object Contains the following information:
Settings["levels"]:
A List of the target label values as strings in the
label-map image i.e. [1] or [1,8].
TODO: Radiomics features will be computed separately for each label value.
Settings["resampledpixelspacing"]:
A 3-tuple representing the final pixel-spacing to resample the image
prior to computing Radiomics features i.e. (1,1,1) or (3,3,3).
If this field is set to the bool value, False, there will be no resampling
and the original (base) pixel-spacing will be used.
Settings["binwidth"]:
An integer representing the bin width (a range of pixel intensity values). Default is 25.
Prior to computing features, The voxel intensity values within the tumor region
will be assigned to a bin index, with bin edges centered at the 0 value.
Settings["modality"]:
A string representing the modality of the image i.e. "CT", "MRI", "PET".
Settings["imagefilepath"]:
A string representing the absolute filepath of the image file
i.e. "C://Dataset1//234056//07112015_Study1//Reconstructions//CT_Lung.nrrd"
Settings["labelfilepath"]:
A string representing the absolute filepath of the label-map file
i.e. "C://Dataset1//234056//07112015_Study1//Segmentations//CT_Lung_IndexedLabelmap.nrrd"
Settings["basepixelspacing"]:
A 3-tuple representing the original pixel spacing of the image i.e. (1.1, 1.1, 3.87).
Settings["dimensions"]
A 3-tuple representing the original dimensions of the image in (i,j,k) i.e. (512,512,34).
Settings["seriesdescription"]:
A string representing the series description for the image.
Ideally, the series description is the basename of the image filepath.
i.e. "C://Dataset1//234056//07112015_Study1//Reconstructions//CT_Lung.nrrd"
Series Description is "CT_Lung"
Settings["studydate"]:
A string representing the study date for the image.
Ideally, the study date is the basename of the directory two directories up from the image file.
i.e. "C://Dataset1//234056//07112015_Study1//Reconstructions//CT_Lung.nrrd"
The study date is "07112015_Study1"
Settings["patientid"]:
A string representing the PatientID for the image.
Ideally, the PatientID is the basename of the directory three directories up from the image file.
i.e. "C://Dataset1//234056//07112015_Study1//Reconstructions//CT_Lung.nrrd"
The PatientID is "234056"
---------------------------------------------------------------------------------------------------------------------------------------
TODO:
1) A function for 3D Interpolation of images and label maps to a standardized pixel-spacing (i.e. 1x1x1 or 3x3x3) independently of Slicer.
2) Debug some of the GLRL features - some do not match RadiomicsToolbox values.
3) Finish implementing Gray-Level Size Zone Matrix (GLSZM) computation. The GLSZM features are identical to GLRL features.
4) Debug Laplacian of a Gaussian features to approximately match RadiomicsToolbox values.
5) Finish implementing wavelet transform by integrating PyWavelets wavedec functions.
Along the lines of:
http://stackoverflow.com/questions/5707353/how-to-extend-pywavelets-to-work-with-n-dimensional-data
Other
1) Optimize GLRL matrix computation (i.e. use itertools to join lists of diagonals).
2) Use SimpleITK filters where possible in feature computations.
3) Add 2D maximum diameters as Shape features.
4) Apply a polygonal mesh on the tumor to better approximate the surface area.