如何处理使用 simpleITK 加载的图像中的负像素值
How to deal with negative pixel values in images loaded using simpleITK
我一直在处理 DICOM CT 扫描图像。我使用 simleITK 将图像读取到 numpy 数组。但是图像像素值是图像中显示的负浮点值,每个像素的 dtype 是 float32。如何转换此像素值以能够训练 TensorFlow 3D CNN 模型?
# Read the .nii image containing the volume with SimpleITK:
sitk_obj = sitk.ReadImage(filename)
# and access the numpy array:
image = sitk.GetArrayFromImage(sitk_obj)
负像素值
negative pixel values
读取到的图片形状不一,如何将它们调整到特定的恒定图片形状?(如下图所示)
different image shapes
如果您使用SimpleITK 的RescaleIntensity 函数,您可以将像素值重新缩放到您需要的任何范围。这是该功能的文档:
要调整图像大小,您可以使用 SimpleITK 的 ResampleImageFilter。这是 class:
的文档
https://simpleitk.org/doxygen/latest/html/classitk_1_1simple_1_1ResampleImageFilter.html
以下 Whosebug 答案显示了如何创建参考图像,您可以在该参考图像上重新采样图像:
以及这个 Github 要点如何将多个图像重新采样到同一个参考图像:
https://gist.github.com/zivy/79d7ee0490faee1156c1277a78e4a4c4
请注意,SimpleITK 将图像视为物理对象 space。因此,如果图像原点、方向和像素间距不匹配,那么您将无法获得预期的结果。
我一直在处理 DICOM CT 扫描图像。我使用 simleITK 将图像读取到 numpy 数组。但是图像像素值是图像中显示的负浮点值,每个像素的 dtype 是 float32。如何转换此像素值以能够训练 TensorFlow 3D CNN 模型?
# Read the .nii image containing the volume with SimpleITK:
sitk_obj = sitk.ReadImage(filename)
# and access the numpy array:
image = sitk.GetArrayFromImage(sitk_obj)
负像素值 negative pixel values
读取到的图片形状不一,如何将它们调整到特定的恒定图片形状?(如下图所示)
different image shapes
如果您使用SimpleITK 的RescaleIntensity 函数,您可以将像素值重新缩放到您需要的任何范围。这是该功能的文档:
要调整图像大小,您可以使用 SimpleITK 的 ResampleImageFilter。这是 class:
的文档https://simpleitk.org/doxygen/latest/html/classitk_1_1simple_1_1ResampleImageFilter.html
以下 Whosebug 答案显示了如何创建参考图像,您可以在该参考图像上重新采样图像:
以及这个 Github 要点如何将多个图像重新采样到同一个参考图像:
https://gist.github.com/zivy/79d7ee0490faee1156c1277a78e4a4c4
请注意,SimpleITK 将图像视为物理对象 space。因此,如果图像原点、方向和像素间距不匹配,那么您将无法获得预期的结果。