Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小吕同学吖
notebook
提交
f22ba208
N
notebook
项目概览
小吕同学吖
/
notebook
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
notebook
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f22ba208
编写于
11月 03, 2021
作者:
小吕同学吖
😲
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add new file
上级
da47a48c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
55 addition
and
0 deletion
+55
-0
EscopeFile/merge_aorta.py
EscopeFile/merge_aorta.py
+55
-0
未找到文件。
EscopeFile/merge_aorta.py
0 → 100644
浏览文件 @
f22ba208
import
os
from
monai.transforms
import
LoadImage
,
SaveImage
,
AddChannel
from
skimage
import
measure
def
connected_component
(
image
):
# 标记输入的3D图像
label
,
num
=
measure
.
label
(
image
,
connectivity
=
1
,
return_num
=
True
)
if
num
<
1
:
return
image
# 获取对应的region对象
region
=
measure
.
regionprops
(
label
)
# 获取每一块区域面积并排序
num_list
=
[
i
for
i
in
range
(
1
,
num
+
1
)]
area_list
=
[
region
[
i
-
1
].
area
for
i
in
num_list
]
num_list_sorted
=
sorted
(
num_list
,
key
=
lambda
x
:
area_list
[
x
-
1
])[::
-
1
]
# 去除面积较小的连通域
if
len
(
num_list_sorted
)
>
3
:
# for i in range(3, len(num_list_sorted)):
for
i
in
num_list_sorted
[
3
:]:
# label[label==i] = 0
label
[
region
[
i
-
1
].
slice
][
region
[
i
-
1
].
image
]
=
0
num_list_sorted
=
num_list_sorted
[:
3
]
return
label
coronary_path
=
r
"F:\data\cta-data\coronary-144\train\labels"
# 冠脉label路径
aorta_path
=
r
"F:\data\cta-data\Aorta_mask_15cases"
# 带aorta的冠脉label路径
merge1_path
=
r
"F:\data\cta-data\merge_coronary_CAC"
# 合并冠脉和钙化的label路径
load
=
LoadImage
()
files
=
[
file
for
file
in
os
.
listdir
(
aorta_path
)]
for
aorta_file
in
files
:
print
(
aorta_file
)
aorta_name
,
nii_ext
=
aorta_file
.
split
(
"."
,
1
)
aorta
=
aorta_name
.
split
(
"_"
)
coronary_name
=
aorta
[
0
]
+
"_"
+
aorta
[
1
]
+
"_mask"
merge1_name
=
coronary_name
+
"_merge"
coronary_file
=
coronary_name
+
"."
+
nii_ext
merge1_file
=
merge1_name
+
"."
+
nii_ext
aorta_label
,
meta_aorta
=
load
(
os
.
path
.
join
(
aorta_path
,
aorta_file
))
coronary_label
,
meta_coronary
=
load
(
os
.
path
.
join
(
coronary_path
,
coronary_file
))
merge1_label
,
meta_merge1
=
load
(
os
.
path
.
join
(
merge1_path
,
merge1_file
))
label
=
aorta_label
-
coronary_label
label
[
label
<
0
]
=
0
label
=
connected_component
(
label
)
label
[
label
>
1
]
=
0
merge_aorta_label
=
label
*
3
+
merge1_label
merge_aorta_label
[
merge_aorta_label
>
3
]
=
0
# print(aorta)
save
=
SaveImage
(
output_dir
=
r
"F:\data\cta-data\merge_labels"
,
output_postfix
=
'merge_aorta'
,
output_ext
=
'.nii.gz'
,
resample
=
True
,
mode
=
'nearest'
,
separate_folder
=
False
)
save
(
img
=
AddChannel
()(
merge_aorta_label
),
meta_data
=
meta_coronary
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录