3D Slicer - 图像分割标注教程

在3D Slicer(4.10.1)中进行三维体数据的图像分割标注。
扩展教程:
3D Slicer - 医学图像检测标注教程(矩形框)
3D Slicer - 医学图像检测标注教程(导入查看标签与修改标签)

1. 读取数据

三维体数据一般为DICOM格式或者NIFIT格式,
DICOM:
将包含.dcm文件序列的文件夹拖入3D Slicer,或者点击左上角的dcm图标:
在这里插入图片描述
在DICOM Browser Import,导入.dcm序列后,examime and load:
在这里插入图片描述
NIFIT:
直接将.nii文件拖入3D Slicer即可。

2. 勾画标签

1. 选择Segmentations模块,点击"Create new Segmentation":
在这里插入图片描述
Create之后可以通过Rename修改名字。
2. 添加Segment:在这里插入图片描述
点击Edit selected之后,会到Segment Editor模块。
3. 编辑Segment:
双击Segment的Color可修改颜色,双击Name可修改名字。
在这里插入图片描述
通过Effects下的不同工具可在体数据的三个视图上勾画label:
在这里插入图片描述
点击Show details查看各个工具的使用方法。点击show 3D可显示segment三维图。

3. 保存标签

勾画label完成后,切换到Data模块,可以看到刚刚所勾画的label:
在这里插入图片描述

注意,有多个Segment的时候,若只想保存其中一个,则需要将其他的Segment设为不可见,即关闭Segment右侧的小眼睛。每次保存的是同级目录下的所有设为可视的Segment。

选中想要保存的segment,右键,选择"Export visible segments to binary labelmap",再选中出现的labelmap:
在这里插入图片描述
右键,选择"Export to DIOCM…",选择路径进行保存。保存为DICOM格式后,也可以重新打开,然后将其保存为NIFIT格式。

3. 显示多个标签

将原始体数据和多个label的.nii同时打开,然后在Segment模块中,首先新建一个Segmentation,然后为每一个label添加一个Segment,具体方法为:

  • 选中一个Segment;
  • 选择labeld对应的Volume;
  • 点击Threshold工具;
  • 设置高低阈值为label的值(可将鼠标在右侧可视化图中移动,左下角会显示当前鼠标位置的灰度值);
  • 点击apply
    在这里插入图片描述
    为每个label都添加Segment并apply之后,可以在右侧看到不同label的可视化图:
    在这里插入图片描述
    将Master Volume切换为原始体数据:
    在这里插入图片描述就可以看到label在原始体数据上的叠加效果:
    在这里插入图片描述
### 如何在3D Slicer 中进行数据标注 #### 数据准备与加载 为了开始医学图像的数据标注工作,在3D Slicer环境中首先要完成的是读取待处理的医疗影像数据[^1]。这通常涉及通过文件菜单中的选项来导入DICOM格式或其他兼容类型的医学图像文件。 #### 初步浏览与设置 一旦成功加载了目标数据集,可以通过调整窗位和窗宽参数优化视觉效果以便更清晰地区分不同组织结构;同时利用导航工具定位至感兴趣的解剖位置或病灶区域,为后续精确标记奠定良好基础[^2]。 #### 进行分割标注 针对具体的分割任务,3D Slicer提供了多种实用的功能模块支持用户自定义绘制边界: - **画笔(Paint)**:允许自由手绘方式描绘感兴趣区。 - **擦除(Erase)**:用于修正错误部分。 - **等级追踪(Level Tracing)**:沿选定轮廓线自动扩展填充相同属性像素点。 - **种子生长(Grow from Seeds)**:基于初始给定点智能识别并划分相似特征范围内的对象。 - **层间填充(Fill Between Slices)**:实现跨多个连续层面的一致性涂鸦操作。 - **阈值化(Threshold & Margin & Hollow)**:依据灰度直方图特性设定上下限从而分离前景背景要素。 - **平滑(Smoothing)**:改善边缘过渡质量减少噪声干扰。 - **剪刀工具(Scissors & Islands)**:切割不连贯的小岛状成分以及裁剪复杂形状边界。 - **逻辑运算(Logical Operator)**:执行布尔组合如交集、并集等构建复合形态学表达式。 对于更加复杂的场景还可以借助于Monai Bundle 和 Model Zoo所提供的预训练模型辅助高效精准地完成特定器官比如前列腺MRI图像的自动化或半自动化分割流程[^3]。 ```python # Python脚本示例:批量应用已有的分割算法到一系列病例上 import slicer from pathlib import Path def batch_segmentation(input_dir, output_dir): input_path = Path(input_dir) output_path = Path(output_dir) for case_folder in input_path.iterdir(): if not case_folder.is_dir(): continue # 加载当前案例下的所有扫描图片作为输入节点 volume_node = slicer.util.loadVolume(str(case_folder / "scan.nii.gz")) # 应用预先配置好的分割方法... segmentation_node = apply_pretrained_model(volume_node) # 将结果保存到指定目录下 save_location = str(output_path / f"{case_folder.name}_seg.seg.nrrd") slicer.util.saveNode(segmentation_node, save_location) batch_segmentation("/path/to/input_cases", "/path/to/output_results") ```
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值