Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Vaanathi Sundaresan
truenet_tumseg
Commits
e19e574d
Commit
e19e574d
authored
May 24, 2021
by
Vaanathi Sundaresan
Browse files
Data preprocessing
parent
6fd33611
Changes
1
Hide whitespace changes
Inline
Side-by-side
truenet_tumseg/truenet_tumorseg/truenet_tumseg_data_preprocessing.py
0 → 100644
View file @
e19e574d
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
numpy
as
np
#=========================================================================================
# Truenet data preprocessing function
# Vaanathi Sundaresan
# 10-03-2021, Oxford
#=========================================================================================
def
preprocess_data
(
data
):
'''
Min-max intensity normalisation of data
:param data: input data
:return: normalised data
'''
return
(
2
*
data
/
np
.
amax
(
np
.
reshape
(
data
,[
-
1
,
1
])))
-
1
def
preprocess_data_gauss
(
data
):
'''
Gaussian intensity normalisation of data
:param data: input data
:return: Gaussian normalised data
'''
brain1
=
data
>
0
brain
=
brain1
>
0
data
=
data
-
np
.
mean
(
data
[
brain
])
den
=
np
.
std
(
data
[
brain
])
if
den
==
0
:
den
=
1
data
=
data
/
den
data
[
brain
==
0
]
=
np
.
min
(
data
)
return
data
def
cut_zeros1d
(
im_array
):
'''
Find the window for cropping the data closer to the brain
:param im_array: input array
:return: starting and end indices, and length of non-zero intensity values
'''
im_list
=
list
(
im_array
>
0
)
start_index
=
im_list
.
index
(
1
)
end_index
=
im_list
[::
-
1
].
index
(
1
)
length
=
len
(
im_array
[
start_index
:])
-
end_index
return
start_index
,
end_index
,
length
def
tight_crop_data
(
img_data
):
'''
Crop the data tighter to the brain
:param img_data: input array
:return: cropped image and the bounding box coordinates and dimensions.
'''
row_sum
=
np
.
sum
(
np
.
sum
(
img_data
,
axis
=
1
),
axis
=
1
)
col_sum
=
np
.
sum
(
np
.
sum
(
img_data
,
axis
=
0
),
axis
=
1
)
stack_sum
=
np
.
sum
(
np
.
sum
(
img_data
,
axis
=
1
),
axis
=
0
)
rsid
,
reid
,
rlen
=
cut_zeros1d
(
row_sum
)
csid
,
ceid
,
clen
=
cut_zeros1d
(
col_sum
)
ssid
,
seid
,
slen
=
cut_zeros1d
(
stack_sum
)
return
img_data
[
rsid
:
rsid
+
rlen
,
csid
:
csid
+
clen
,
ssid
:
ssid
+
slen
],
[
rsid
,
rlen
,
csid
,
clen
,
ssid
,
slen
]
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