python - 如何计算 SimpleITK 图像上掩码的第 10 和第 90 百分位数
问题描述
我想计算在 simpleITK 图像上绘制的蒙版中像素的第 10 和第 90 百分位数。我只能得到平均值。
我使用以下代码:
img = sitk.ReadImage(image_path)
label = sitk.ReadImage(label_path)
labelstatsFilter = sitk.LabelIntensityStatisticsImageFilter()
labelstatsFilter.Execute(label, img)
mean = labelstatsFilter.GetMean(1)
我找不到计算百分位数的方法,除非我可以将掩码转换为 numpy 数组。我找不到一种方法来使用 GetArrayfromImage 方法来处理蒙版,因为它适用于主图像。
解决方案
解决方案:
使用 np.extract 提取数组的掩码值,然后使用 np.percentile
例子:
img = sitk.ReadImage(image_path)
label = sitk.ReadImage(label_path)
img = sitk.GetArrayFromImage(img)
label = sitk.GetArrayFromImage(label)
mask = np.extract(label,img)
10xpercentile= np.percentile(mask,10)
推荐阅读
- python - 在 div 网页抓取中跳过 div 类
- python-3.x - python:删除一列中的多个条目,用逗号分隔
- vpn - GCP中的区域冲突VPN?
- r - 使用数据拆分为 KNN 找到最佳 k 值
- sql - 如何在sql中找到不在正确位置的产品
- ios - PromiseKit:使用不同类型的 Promise 数组调用 when(fulfilled:)
- c# - 尝试将项目添加到 C# 中的类中的列表属性时出现运行时错误
- mysql - ORDER BY FIELD 中使用的 MySQL 字符串
- python-3.x - 如何将 Google Cloud AI Platform Jupyter Lab 升级到 Python 3.7+
- .net - JSON反序列化创建列表