我已经在 SimpleITK 中加载了 CT 扫描。我想在 NumPy 中做一些非常简单的事情,但还没有弄清楚如何在 SimpleITK 中做这些事情。为了速度,我想在 SimpleITK 中完成它们。
# NumPy: Changes all values of 100 to now become 500
nparr = nparr[nparr == 100] = 500
# SimpleITK:
???
SimpleITK image==100 将生成相同维度的二值图像,其中所有强度==100 为 1/True。这是所希望的。但不幸的是,我不相信 SimpleITK 支持布尔索引。实现这一目标的最有效方法是什么?
我想出了这个看起来很时髦的东西;但我希望找到这样做的预期方法/最佳实践方法:
# Cast because data type returned is uint8 otherwise
difference = 500 - 100
offset = SimpleITK.Cast( image == 100), sitk.sitkInt32 ) * difference
image += offset