python - 如何使用 numpy 从 RTDose(3D 阵列)计算平均剂量和最大剂量?
问题描述
我有一个用于 RTDose 的 3D 数组。一个用于预测,一个用于基本事实。另外,我有 OAR 面具的 3D 阵列。如何计算每个 OAR 的平均和最大剂量?
解决方案
考虑具有两种结构的 rtss,一种是 PTV,第二种是 GTV。下面的代码用于计算 PTV 和 GTV 的平均和最大剂量。加载 rtss nifti 文件时... PTV 轮廓包含值=1,GTV 包含值=2。因此,在为这些轮廓获取剂量时使用相同的方法。
import nibabel as nib
import numpy as np
rtss_fname="rtss0.nii.gz"
rtdose_fname="rtdose0.nii.gz"
rtss_img = nib.load(rtss_fname)
rtss_array=rtss_img.get_data()
rtdose_img = nib.load(rtdose_fname)
rtdose_array=rtdose_img.get_data()
dose_at_label1=rtdose_array[rtss_array==1]
dose_at_label2=rtdose_array[rtss_array==2]
print("PTV max dose ",dose_at_label1.max())
print("GTV max dose ",dose_at_label2.max())
print("PTV mean dose ",dose_at_label1.mean())
print("GTV mean dose ",dose_at_label2.mean())
推荐阅读
- java - 修复 Cucumber runner 找不到 Junit 5 测试错误 Eclipse?
- git - gitlab-ce 12.X:如何在服务器上找到存储库的散列存储路径?
- javascript - flatpicker1 onChange 事件在 flatpicker2 上设置 minDate。如何?
- elasticsearch - 索引(ES 7)允许的最大字段数是多少?
- express - 在执行给定请求时将 Express 置于维护模式
- html - 如何使表格及其所有内容在 HTML 中采用其父容器的确切宽度和高度?
- python - 如何将这些值从 txt 导入到我的循环中?
- php - 如果在表单上一一检查或未检查,如何获取数组值?
- jquery - 在 jqgrid 中发送 post 请求并显示数据
- programming-languages - 允许对不同参数值进行单独功能实现的功能的名称是什么?