|
a |
|
b/pyradiomics_COVID-19.py |
|
|
1 |
import os |
|
|
2 |
import pydicom |
|
|
3 |
import SimpleITK as sitk |
|
|
4 |
import six |
|
|
5 |
from glob import glob |
|
|
6 |
import numpy as np |
|
|
7 |
from radiomics import featureextractor, getTestCase |
|
|
8 |
|
|
|
9 |
datadir = 'Your Datasets' |
|
|
10 |
Data_dataset = 'Your Datasets' |
|
|
11 |
|
|
|
12 |
list_datasets = os.listdir(Data_dataset) |
|
|
13 |
for dir_P_N_ in list_datasets: |
|
|
14 |
list_P_N_ = os.listdir(dir_P_N_) |
|
|
15 |
for list_dirs_Slices in list_P_N_: |
|
|
16 |
for dirs_Pat_in_Slices in range(len(list_dirs_Slices)): |
|
|
17 |
data_train_Ori_Pat = (os.path.join(Data_dataset,dirs_Pat_in_Slices[Ori]) #The original CT image |
|
|
18 |
data_train_Seg_Pat = (os.path.join(Data_dataset,dirs_Pat_in_Slices[Seg]) #The corresponding manual label |
|
|
19 |
|
|
|
20 |
imageName, maskName = data_train_Ori_Pat, data_train_Seg_Pat |
|
|
21 |
params = os.path.join(datadir, "examples", "exampleSettings", "Params.yaml") |
|
|
22 |
|
|
|
23 |
extractor = featureextractor.RadiomicsFeatureExtractor(params) |
|
|
24 |
result = extractor.execute(imageName, maskName) |
|
|
25 |
|
|
|
26 |
for key, val in six.iteritems(result): |
|
|
27 |
#print("\t%s: %s" %(key, val)) |
|
|
28 |
with open("./Features.file", "a+") as fGIoU: |
|
|
29 |
fGIoU.write(str(key) + ' ' + str(val)+ ' ') |
|
|
30 |
|
|
|
31 |
with open("./Features.file", "a+") as fGIoU: |
|
|
32 |
fGIoU.write(os.linesep) |