spatial-interpolation - 在不更改标签值/scipy.ndimage.interpolation 或 RegularGridInterpolator 的情况下对 3D 多类掩码进行重采样/插值
问题描述
我有一个 3D 蒙版卷L
,其中包含以下内容:
print(L.shape)
(170, 256, 256)
print("L: ", np.unique(L))
L: [0 1 2 3 4 5 6 7 8]
我想对掩码进行下采样,然后将其上采样到其原始大小,以保持标签值相同。
尝试失败-> 下采样:
from scipy.ndimage.interpolation import zoom
zL = zoom(L, (0.5, 0.5, 0.5), mode='nearest')
print("zL: ", np.unique(zL))
zL: [-3 -2 -1 0 1 2 3 4 5 6 7 8 9 10]
这正在改变标签值。我已经尝试过其他mode
选项,例如constant
和所有。但似乎没有一个工作。
成功尝试-> 下采样:另一方面:
dx = 2
dy = 2
dz = 2
if DOWNSAMPLE:
L_down = L[::dx, ::dy, ::dz]
print("L_down: ", np.unique(L_down))
L_down: [0 1 2 3 4 5 6 7 8]
似乎在不更改标签值的情况下工作。
zL = zoom(L_down, (2, 2, 2), mode='nearest')
不工作。此外,如果有任何其他关于三线性插值的细节,将不胜感激。
谢谢。
解决方案
推荐阅读
- vue.js - 找到重复值Vuejs
- javascript - 未捕获的类型错误:无法读取 null 的属性“预解析”
- c++ - 使用命名空间与使用命名空间闭包的范围
- html - 单选按钮与文本对齐
- javascript - 滚动时粘性导航栏闪烁
- oracle-ebs - 如何查找何时将“功能”(日期)添加到责任 Oracle EBS 12.1.3
- python - 在 Keras 模型中,有没有办法屏蔽一些非法输出并重新规范化 logits?
- python - 我如何编写一个 python/pandas 循环来将 msql 查询中的日期增加一天
- c# - 如何在 WebGrid MVC C# 中使用模型中的下拉列表
- oracle - JpaPagingItemReader 无法提取 ResultSet