RT-Utils 常见问题解决方案
rt-utils 项目地址: https://gitcode.com/gh_mirrors/rt/rt-utils
项目基础介绍
RT-Utils 是一个用于处理 DICOM RTStructs 的 Python 库。它旨在帮助医生和其他用户查看在 DICOM 图像系列上执行的分割结果。RT-Utils 允许用户创建或加载 RTStructs,提取 3D 掩码,轻松添加一个或多个感兴趣区域(ROI),并保存生成的 RTStruct。该项目的主要编程语言是 Python。
新手使用注意事项及解决方案
1. 安装问题
问题描述: 新手在安装 RT-Utils 时可能会遇到依赖项安装失败或版本不兼容的问题。
解决步骤:
-
确保 Python 版本兼容: RT-Utils 需要 Python 3.6 或更高版本。可以通过以下命令检查 Python 版本:
python --version
如果版本低于 3.6,建议升级 Python 版本。
-
使用虚拟环境: 为了避免依赖冲突,建议在虚拟环境中安装 RT-Utils。可以使用
venv
或conda
创建虚拟环境:python -m venv rt-utils-env source rt-utils-env/bin/activate # 在 Windows 上使用 `rt-utils-env\Scripts\activate`
-
安装 RT-Utils: 在虚拟环境中使用以下命令安装 RT-Utils:
pip install rt-utils
2. 加载现有 RTStruct 失败
问题描述: 新手在尝试加载现有的 RTStruct 文件时可能会遇到文件路径错误或文件格式不正确的问题。
解决步骤:
-
检查文件路径: 确保提供的 DICOM 系列路径和 RTStruct 文件路径是正确的。路径中不应包含多余的空格或特殊字符。
-
验证文件格式: 确保 RTStruct 文件是有效的 DICOM 文件。可以使用
pydicom
库来验证文件格式:import pydicom ds = pydicom.dcmread('path_to_rtstruct.dcm') print(ds)
如果文件格式不正确,
pydicom
会抛出异常。 -
使用正确的加载方法: 使用
RTStructBuilder.create_from
方法加载现有的 RTStruct:from rt_utils import RTStructBuilder rtstruct = RTStructBuilder.create_from( dicom_series_path="/testlocation", rt_struct_path="/path_to_rtstruct.dcm" )
3. 添加 ROI 时掩码格式错误
问题描述: 新手在添加 ROI 时可能会遇到掩码格式错误,导致无法正确添加 ROI。
解决步骤:
-
检查掩码格式: 确保掩码是一个布尔类型的 3D NumPy 数组。掩码的每个切片应按升序排列。可以使用以下代码检查掩码格式:
import numpy as np mask = np.array([...], dtype=bool) print(mask.shape) # 应为 (z, y, x) 格式
-
确保掩码与 DICOM 系列匹配: 掩码的尺寸应与 DICOM 图像系列的尺寸匹配。可以使用
pydicom
读取 DICOM 图像的尺寸:import pydicom ds = pydicom.dcmread('path_to_dicom_image.dcm') print(ds.pixel_array.shape)
-
添加 ROI: 使用
add_roi
方法添加 ROI,并确保掩码格式正确:rtstruct.add_roi(mask=mask, color=[255, 0, 255], name="RT-Utils ROI")
通过以上步骤,新手可以更好地理解和使用 RT-Utils 项目,避免常见问题。