Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MPBA Radiomics
RADLER
Commits
3903899f
Commit
3903899f
authored
Mar 16, 2020
by
Alessia Marcolini
Browse files
Remove debug stuff
parent
2d97a800
Changes
1
Hide whitespace changes
Inline
Side-by-side
02_radiomics_features_extraction/extract_features_radiomics.py
View file @
3903899f
...
...
@@ -26,7 +26,7 @@ PIXEL_SPACING = [1.0, 2.0, 3.0, 4.0, 5.0]
#%%
DATADIR
=
Path
(
'data'
)
/
DATASET
/
'processed'
/
'bbox'
/
BBOX
OUTDIR
=
Path
(
'data'
)
/
DATASET
/
'processed'
OUTFILE
=
f
'radiomics_features_
{
BBOX
}
_radnew21
.csv'
# output file name
OUTFILE
=
f
'radiomics_features_
{
BBOX
}
.csv'
# output file name
clinical
=
pd
.
read_csv
(
Path
(
'data'
)
/
DATASET
/
'processed'
/
f
'clinical_
{
DATASET
}
.csv'
)
...
...
@@ -40,7 +40,7 @@ extractor_intensity = RadiomicsFeatureExtractor(params_intensity)
params_texture
=
'02_radiomics_features_extraction/texture_new.yaml'
# param file to use to create the extractor
extractor_texture
=
RadiomicsFeatureExtractor
(
params_texture
)
filenames
=
[
f
for
f
in
os
.
listdir
(
DATADIR
)
if
f
.
endswith
(
'.npy'
)]
[:
2
]
filenames
=
[
f
for
f
in
os
.
listdir
(
DATADIR
)
if
f
.
endswith
(
'.npy'
)]
exclude_list
=
[]
...
...
@@ -60,8 +60,6 @@ def process_file(filename):
curr_modality
.
SetSpacing
(
VOXEL_SPACING
)
modalities
.
append
(
curr_modality
)
# print(data[-1, :, :, :] == data[1, :, :, :])
# print(np.max(data[-1, :, :, :]))
has_label
=
np
.
max
(
data
[
-
1
,
:,
:,
:])
>
0
if
has_label
:
...
...
@@ -89,29 +87,32 @@ def process_file(filename):
for
NB
in
N_BINS
:
if
not
broken
:
extractor_texture
.
settings
[
'binCount'
]
=
NB
# uniform binning
extractor_texture
.
settings
[
'binMode'
]
=
'uniform'
result
=
extractor_texture
.
execute
(
modality
,
segmentation
)
for
key
,
value
in
result
.
items
():
if
not
key
.
startswith
(
"general_"
):
feature
[
f
'
{
key
}
_
{
P
}
_
{
NB
}
_uniform_
{
name
}
'
]
=
result
[
key
]
# equalized binning
extractor_texture
.
settings
[
'binMode'
]
=
'equal'
result
=
extractor_texture
.
execute
(
modality
,
segmentation
)
for
key
,
value
in
result
.
items
():
if
not
key
.
startswith
(
"general_"
):
feature
[
f
'
{
key
}
_
{
P
}
_
{
NB
}
_equalized_
{
name
}
'
]
=
result
[
key
]
try
:
# uniform binning
extractor_texture
.
settings
[
'binMode'
]
=
'uniform'
result
=
extractor_texture
.
execute
(
modality
,
segmentation
)
for
key
,
value
in
result
.
items
():
if
not
key
.
startswith
(
"general_"
):
feature
[
f
'
{
key
}
_
{
P
}
_
{
NB
}
_uniform_
{
name
}
'
]
=
result
[
key
]
# equalized binning
extractor_texture
.
settings
[
'binMode'
]
=
'equal'
result
=
extractor_texture
.
execute
(
modality
,
segmentation
)
for
key
,
value
in
result
.
items
():
if
not
key
.
startswith
(
"general_"
):
feature
[
f
'
{
key
}
_
{
P
}
_
{
NB
}
_equalized_
{
name
}
'
]
=
result
[
key
]
except
Exception
as
e
:
print
(
e
)
broken
=
True
if
not
broken
:
feature
[
'filename'
]
=
filename
...
...
@@ -126,18 +127,16 @@ def process_file(filename):
#%% MULTIPROCESS
result
=
[]
for
file
in
filenames
:
feat
=
process_file
(
file
)
result
.
append
(
feat
)
#
result = []
#
for file in filenames:
#
feat = process_file(file)
#
result.append(feat)
# %%
# multiproc = ListMultiprocessing(process_file, N_JOBS)
# multiproc.execute(filenames)
# result = multiproc.get_result()
multiproc
=
ListMultiprocessing
(
process_file
,
N_JOBS
)
multiproc
.
execute
(
filenames
)
result
=
multiproc
.
get_result
()
# print('done')
#%% Save features in a Pandas df
...
...
@@ -148,6 +147,4 @@ print('Number of files: ', features.shape[0])
print
(
'Number of features: '
,
features
.
shape
[
1
]
-
1
)
# %%
features
.
to_csv
(
OUTDIR
/
OUTFILE
)
# %%
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment