Python之Pylinac:Pylinac自动分析CBCT/CT质保时采集的CatPhan图像DICOM

本文介绍如何使用Python库Pylinac自动分析CT输出的DICOM文件,并生成PNG图片及PDF报告。文中详细描述了安装步骤及脚本使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 问题背景

应一个医学朋友的请求,研究了一下使用Python三方库Pylinac自动分析CT输出的DICOM文件,并生成PNG图片和PDF文档报告。

隔行如隔山,笔者并不清楚DICOM文件的医学含义,本文旨在介绍Pylinac的使用,希望能帮到不太熟悉Python软件编程的医学朋友们。下文是官网对于Pylinac库其中一个模块CatPhan的简要概述。

The CatPhan module automatically analyzes DICOM images of a CatPhan 504, 503, or 600 acquired when doing CBCT or CT quality assurance. It can load a folder or zip file that the images are in and automatically correct for translational and rotational errors. It can analyze the HU regions and image scaling (CTP404), the high-contrast line pairs (CTP528) to calculate the modulation transfer function (MTF), the HU uniformity (CTP486), and Low Contrast (CTP515) on the corresponding slices.


2. 环境安装

2.1 安装准备

1. pylinac_user_manual压缩包
笔者整理了一个名为pylinac_user_manual的压缩包,便于医学朋友们直接进行实际操作。
pylinac_user_manual压缩包获取链接:点击获取pylinac_user_manual
获取压缩包后,可以解压到电脑任意位置,内容说明如下:

  • dicom:待分析的dicom文件存储位置,里面是网上找的案例。
  • install:下载好的python安装包,包括32bit和64bit两种。
  • report: 默认输出报告路径,PNG和PDF都会输出到这里。
  • catphan.py:运行脚本,安装好环境后双击运行即可生成报告。
    在这里插入图片描述

2. 电脑要求

  • 电脑需要联网。如果无法联网,需要手动下载相应Python依赖包进行安装,相对麻烦但可以实现。
  • 电脑系统win7或win10,注意根据电脑位数选择正确的32bit/64bit的python安装包。另外,下文涉及的操作还有打开cmd命令行,建议直接WIN+R快捷键并输入cmd回车打开即可。

2.2 安装Python

  1. 下载python软件包,官网地址:https://www.python.org/downloads,使用最新版本即可。pylinac_user_manual压缩包中已经下载好3.10.6版本,在install路径下,注意根据自己电脑是32bit/64bit选择正确的安装包。
    在这里插入图片描述
  2. 双击python安装包,注意要勾选Add Python 3.10 to PATH(否则需要手动添加环境变量),点击Install Now并等待安装完成。
    在这里插入图片描述
    在这里插入图片描述
  3. 检查python环境是否可用。打开cmd命令行,执行python回车,如果出现下图所示情况,说明python可以正常使用。CTRL+Z并回车退出。
    在这里插入图片描述

2.3 安装Pylinac

  1. 打开cmd命令行,执行python -m pip install pylinac命令,自动联网安装pylinac及其依赖库。如果不联网的话,需要将图示所有对应版本的依赖库全部下载,并手动安装。
    在这里插入图片描述
  2. 双击pylinac_user_manual\catphan.py脚本,如果正常弹出分析图片和PDF报告,则说明环境可用。
    在这里插入图片描述

3. 其他说明

3.1 脚本catphan.py说明

使用notepad++等打开catphan.py,每一行都加了简要的注释,即#开头。注意以下几点:
(1) 当前脚本默认待分析CT文件存储在dicom文件夹下(当前文件夹中为网上找的案例),实际使用时可以换成真实的CT文件;
(2) 当前脚本默认输出报告路径为report文件夹下,且默认输出PNG图片和PDF文件两种报告;
(3) Analyze函数传入的参数为官网的典型值,具体医学业务笔者不熟悉,请根据实际需求设置,参数说明参考下文官网地址;
(4) 脚本中路径以及文件名称等等均可根据需要进行修改。

# 导入os和pylinac三方库
import os
from pylinac import CatPhan504, CatPhan503, CatPhan600, CatPhan604

# 配置dicom文件路径:待分析文件在当前路径下的dicom文件夹
cbct_folder = os.path.join(os.getcwd(), "dicom")
# 配置report文件路径:输出报告在当前路径下的report文件夹
report_folder = os.path.join(os.getcwd(), "report") 

# 实例化CatPhan504类
cbct = CatPhan504(cbct_folder)
# 分析DICOM文件(如下允许误差等参数为官网典型值)
cbct.analyze(hu_tolerance=40, 
             scaling_tolerance=1, 
             thickness_tolerance=0.2,
             low_contrast_tolerance=1,
             cnr_threshold=15,
             zip_after=False,
             contrast_method="Michelson",
             visibility_threshold=0.15)

# 打印分析文字结果到控制台
print(cbct.results())
# 弹框分析图像结果
cbct.plot_analyzed_image()
# 保存分析图像结果
cbct.save_analyzed_image(os.path.join(report_folder, "cbct.png"))
# 输出pdf报告到指定路径
cbct.publish_pdf(os.path.join(report_folder, "mycbct.pdf"), open_file=True)

3.2 官网参考说明

Pylinac三方库功能很多,具体使用文档参考官网说明(点击访问Pylinac官网文档)。上文提到的脚本、使用方法、参数说明均来自CatPhan/CT章节,建议阅读一下。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值