Spaces:
Sleeping
Sleeping
AndJWu
commited on
Commit
·
77c26b9
1
Parent(s):
b3ebcc2
Add MRI images
Browse files- .gitattributes +1 -0
- app.py +8 -26
- data/BraTS20_Training_001/BraTS20_Training_001_flair.nii +3 -0
- data/BraTS20_Training_001/BraTS20_Training_001_seg.nii +3 -0
- data/BraTS20_Training_001/BraTS20_Training_001_t1.nii +3 -0
- data/BraTS20_Training_001/BraTS20_Training_001_t1ce.nii +3 -0
- data/BraTS20_Training_001/BraTS20_Training_001_t2.nii +3 -0
- data/BraTS20_Training_002/BraTS20_Training_002_flair.nii +3 -0
- data/BraTS20_Training_002/BraTS20_Training_002_seg.nii +3 -0
- data/BraTS20_Training_002/BraTS20_Training_002_t1.nii +3 -0
- data/BraTS20_Training_002/BraTS20_Training_002_t1ce.nii +3 -0
- data/BraTS20_Training_002/BraTS20_Training_002_t2.nii +3 -0
- data/BraTS20_Training_003/BraTS20_Training_003_flair.nii +3 -0
- data/BraTS20_Training_003/BraTS20_Training_003_seg.nii +3 -0
- data/BraTS20_Training_003/BraTS20_Training_003_t1.nii +3 -0
- data/BraTS20_Training_003/BraTS20_Training_003_t1ce.nii +3 -0
- data/BraTS20_Training_003/BraTS20_Training_003_t2.nii +3 -0
- data/BraTS20_Training_004/BraTS20_Training_004_flair.nii +3 -0
- data/BraTS20_Training_004/BraTS20_Training_004_seg.nii +3 -0
- data/BraTS20_Training_004/BraTS20_Training_004_t1.nii +3 -0
- data/BraTS20_Training_004/BraTS20_Training_004_t1ce.nii +3 -0
- data/BraTS20_Training_004/BraTS20_Training_004_t2.nii +3 -0
- data/BraTS20_Training_005/BraTS20_Training_005_flair.nii +3 -0
- data/BraTS20_Training_005/BraTS20_Training_005_seg.nii +3 -0
- data/BraTS20_Training_005/BraTS20_Training_005_t1.nii +3 -0
- data/BraTS20_Training_005/BraTS20_Training_005_t1ce.nii +3 -0
- data/BraTS20_Training_005/BraTS20_Training_005_t2.nii +3 -0
- data/BraTS20_Training_006/BraTS20_Training_006_flair.nii +3 -0
- data/BraTS20_Training_006/BraTS20_Training_006_seg.nii +3 -0
- data/BraTS20_Training_006/BraTS20_Training_006_t1.nii +3 -0
- data/BraTS20_Training_006/BraTS20_Training_006_t1ce.nii +3 -0
- data/BraTS20_Training_006/BraTS20_Training_006_t2.nii +3 -0
.gitattributes
CHANGED
@@ -34,3 +34,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
model_unet_2d_attention_combineloss.keras filter=lfs diff=lfs merge=lfs -text
|
|
|
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
model_unet_2d_attention_combineloss.keras filter=lfs diff=lfs merge=lfs -text
|
37 |
+
*.nii filter=lfs diff=lfs merge=lfs -text
|
app.py
CHANGED
@@ -6,30 +6,6 @@ from tensorflow.keras.models import load_model
|
|
6 |
from tensorflow.keras import backend as K
|
7 |
import tensorflow as tf
|
8 |
|
9 |
-
def dice_coefficient(y_true, y_pred, smooth=1.0):
|
10 |
-
labels_num = 4
|
11 |
-
for i in range(labels_num):
|
12 |
-
y_true_f = K.flatten(y_true[:,:,:,i])
|
13 |
-
y_pred_f = K.flatten(y_pred[:,:,:,i])
|
14 |
-
intersection = K.sum(y_true_f * y_pred_f)
|
15 |
-
loss = ((2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth))
|
16 |
-
if i == 0:
|
17 |
-
total_loss = loss
|
18 |
-
else:
|
19 |
-
total_loss = total_loss + loss
|
20 |
-
total_loss = total_loss / labels_num
|
21 |
-
return total_loss
|
22 |
-
|
23 |
-
def dice_loss(y_true, y_pred):
|
24 |
-
return 1 - dice_coefficient(y_true, y_pred)
|
25 |
-
|
26 |
-
def combined_loss(y_true, y_pred):
|
27 |
-
return 0.5 * dice_loss(y_true, y_pred) + 0.5 * tf.keras.losses.categorical_crossentropy(y_true, y_pred)
|
28 |
-
|
29 |
-
def dice_coefficient_necrotic(y_true, y_pred, epsilon=1e-6):
|
30 |
-
intersection = K.sum(K.abs(y_true[:,:,:,1] * y_pred[:,:,:,1]))
|
31 |
-
return (2. * intersection) / (K.sum(K.square(y_true[:,:,:,1])) + K.sum(K.square(y_pred[:,:,:,1])) + epsilon)
|
32 |
-
|
33 |
def dice_coefficient(y_true, y_pred, smooth=1.0):
|
34 |
labels_num = 4
|
35 |
for i in range(labels_num):
|
@@ -106,13 +82,19 @@ def predict(image_path):
|
|
106 |
# 返回预测结果
|
107 |
return prediction[0, :, :, 1:4]
|
108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
# 创建 Gradio 接口
|
110 |
iface = gr.Interface(
|
111 |
fn=predict,
|
112 |
-
inputs=gr.
|
113 |
outputs=gr.Image(type="numpy"),
|
114 |
title="MRI Tumor Segmentation",
|
115 |
-
description="
|
116 |
)
|
117 |
|
118 |
# 启动接口
|
|
|
6 |
from tensorflow.keras import backend as K
|
7 |
import tensorflow as tf
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
def dice_coefficient(y_true, y_pred, smooth=1.0):
|
10 |
labels_num = 4
|
11 |
for i in range(labels_num):
|
|
|
82 |
# 返回预测结果
|
83 |
return prediction[0, :, :, 1:4]
|
84 |
|
85 |
+
# 预先上传的 MRI 图像文件列表
|
86 |
+
mri_images_path = ["data/BraTS20_Training_001", "data/BraTS20_Training_002", "data/BraTS20_Training_003", "data/BraTS20_Training_004", "data/BraTS20_Training_005", "data/BraTS20_Training_006"]
|
87 |
+
mri_images = []
|
88 |
+
for i in range(len(mri_images_path)):
|
89 |
+
mri_images.append(mri_images_path[i] + "_flair.nii")
|
90 |
+
|
91 |
# 创建 Gradio 接口
|
92 |
iface = gr.Interface(
|
93 |
fn=predict,
|
94 |
+
inputs=gr.Dropdown(choices=mri_images, label="选择MRI图像"),
|
95 |
outputs=gr.Image(type="numpy"),
|
96 |
title="MRI Tumor Segmentation",
|
97 |
+
description="选择一个MRI图像,模型将预测肿瘤区域。"
|
98 |
)
|
99 |
|
100 |
# 启动接口
|
data/BraTS20_Training_001/BraTS20_Training_001_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1671dfab75fbaaede29989011cabcef12b7825c72a315f293441b698a8e8d39c
|
3 |
+
size 17858880
|
data/BraTS20_Training_001/BraTS20_Training_001_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:56f39a503ebc4df200a5b9872b1ace83d92fa775d55b6ce301f12d2f63507180
|
3 |
+
size 8930976
|
data/BraTS20_Training_001/BraTS20_Training_001_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6440b711f433a7071379088fc61ad9e0ff01ae5f551a7e5f006135c5adcf0f83
|
3 |
+
size 17858880
|
data/BraTS20_Training_001/BraTS20_Training_001_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ed3732f26987226748147562cc64e58958564a6a7e47611b726773fd4e057b99
|
3 |
+
size 17858880
|
data/BraTS20_Training_001/BraTS20_Training_001_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0918a2aed1e8aac1a802bf899940f9032b0e61bae70b35c9fa93d35e7e27c569
|
3 |
+
size 17858880
|
data/BraTS20_Training_002/BraTS20_Training_002_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f51b5715db978afb246dc00b9e2950bcdb7a48ff0933f0a1b8f4ebd0d08c8613
|
3 |
+
size 17858896
|
data/BraTS20_Training_002/BraTS20_Training_002_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5e5476e303ce247b623ea9fb25fc08833831560c71bc9bc5b93e637f0482fdb5
|
3 |
+
size 8930976
|
data/BraTS20_Training_002/BraTS20_Training_002_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e0cc02bda2df29e8100459fe730b9cd5bf3350ce5d79a53ea17c39d8b9378c50
|
3 |
+
size 17858880
|
data/BraTS20_Training_002/BraTS20_Training_002_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cd9402472cbc67d9c0f65102fc198c23649c509deceb418fc2c69cbd91ddbd78
|
3 |
+
size 17858880
|
data/BraTS20_Training_002/BraTS20_Training_002_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:741f3823e914e21efeff9d1795e84bef7ee3acf701d50f758b32e658ab094cda
|
3 |
+
size 17858880
|
data/BraTS20_Training_003/BraTS20_Training_003_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8a16b8f19e5faacf4a737f08e940ac489ea4dee2e32b14dc4d27242f147a9e96
|
3 |
+
size 17858880
|
data/BraTS20_Training_003/BraTS20_Training_003_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:63f2d7824969c7089324fdbd8b1407bc8677716fc8dff42018d2a4b7af43ad07
|
3 |
+
size 8930976
|
data/BraTS20_Training_003/BraTS20_Training_003_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:41c2146286d3c26938c8fdd7643c1bb0a7c1e03b23d97a741f836c866d14e12c
|
3 |
+
size 17858880
|
data/BraTS20_Training_003/BraTS20_Training_003_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d92ee091991ffb7302bc587dc56dfc4da42e9f9e03b66f2c4904a70c8141d45e
|
3 |
+
size 17858880
|
data/BraTS20_Training_003/BraTS20_Training_003_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:55fc801c3476820c9decb8e42d31069e698d6a84505725e3a9d9c114be76fc45
|
3 |
+
size 17858880
|
data/BraTS20_Training_004/BraTS20_Training_004_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:be40926564982a19e008ed93943cccb4fcd6a63ff37a4f5ec2b107bba48d2e6a
|
3 |
+
size 17859248
|
data/BraTS20_Training_004/BraTS20_Training_004_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f64c6ce007c614599391d4257a0b2f1d6f12258743f42445cf94965fbd882967
|
3 |
+
size 8930560
|
data/BraTS20_Training_004/BraTS20_Training_004_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e020fc0d0781665b0ff04b1d9375fead31300b8e2239f75b465c1704cee425b2
|
3 |
+
size 17859248
|
data/BraTS20_Training_004/BraTS20_Training_004_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a08abafdba9d29749a1de7ff546fcbfe6f133de6a94fbfb7d349e320abe3a7c1
|
3 |
+
size 17859248
|
data/BraTS20_Training_004/BraTS20_Training_004_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0e17e2540b96f9ee64f9a666ea232e0b00b81a231bc98924cdae837520ec7433
|
3 |
+
size 17859248
|
data/BraTS20_Training_005/BraTS20_Training_005_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:166d3d14e4207592af999ba43b6dbd5ff9ba8fb0737f6a5d5c1a4fd5748f8476
|
3 |
+
size 17859248
|
data/BraTS20_Training_005/BraTS20_Training_005_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:07613cbb392aeff1499e8799bf1c23ad9fa9e5ddd9ae0bf739b7f39d09a242b2
|
3 |
+
size 8930560
|
data/BraTS20_Training_005/BraTS20_Training_005_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f29468fb3485c67b868d6d8a9af2f326f2c163d8c104d1304e70dd3fc9a0848d
|
3 |
+
size 17859248
|
data/BraTS20_Training_005/BraTS20_Training_005_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7016965dad97e1db1bdd8c89fcf3e6914939dca782e2d9c9128e6fa2d117cb2b
|
3 |
+
size 17859248
|
data/BraTS20_Training_005/BraTS20_Training_005_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c32d1dc5dac8335f5b3b1925eb21d536a21f9f62706bdb4c77c41adf82e4ad66
|
3 |
+
size 17859248
|
data/BraTS20_Training_006/BraTS20_Training_006_flair.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e4143f9278d88930faa4f388169d507685121719ccab64828350c2bafba10c62
|
3 |
+
size 17858880
|
data/BraTS20_Training_006/BraTS20_Training_006_seg.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f2eb58da5fcd5c987049aa89ecda7df1ec2f1321bf56c3c921d7cbfc1d256eb9
|
3 |
+
size 8930976
|
data/BraTS20_Training_006/BraTS20_Training_006_t1.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1d9bd7ecae6c61de76f4dbd7ce35d39c6043406521044fe6641433d9c9b3bc0f
|
3 |
+
size 17858880
|
data/BraTS20_Training_006/BraTS20_Training_006_t1ce.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9108e2962abf44588f4d88518fd081776ee24e668a8611c425806dfccb126242
|
3 |
+
size 17858880
|
data/BraTS20_Training_006/BraTS20_Training_006_t2.nii
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0098db0a5676defff5c651a8bd039b96b1b0f93eff64f7d9920bc49acdf41d95
|
3 |
+
size 17858880
|