我怎么能一个热编码nii.gz文件存储在两个不同的文件夹?



我已经读取了所有这些图像,我将使用它们进行二进制分类,并将它们存储在两个不同的NumPy数组中。现在,我需要对这些图像进行编码,然后将其输入神经网络。

我不明白我怎么能同时编码两个不同的numpy数组,然后把它们输入神经网络。

array_1包含所有将被标记为1的图像,array_2包含所有将被标记为0的图像。

Python包platipy具有编码(多值)标签映射的功能。

安装:

pip install -U pip
pip install platipy

下面是一个简短的例子:

import SimpleITK as sitk
from platipy.imaging.label.utils import binary_encode_structure_list
img_label_1 = sitk.ReadImage("img_label_1.nii.gz")
img_label_2 = sitk.ReadImage("img_label_2.nii.gz")
img_label_3 = sitk.ReadImage("img_label_3.nii.gz")
# etc., for however many labels you have
label_list = [img_label_1, img_label_2, img_label_3]
img_encoded = binary_encode_structure_list(label_list)

如果您需要使用numpy,那么您可以将此SimpleITK图像转换为3D numpy数组:

arr_encoded = sitk.GetArrayFromImage(img_encoded)

注意:您还可以使用platipy中的工具解码编码的标签映射(例如NN的输出):

from platipy.imaging.label.utils import binary_decode_image
label_list = binary_decode_image(img_prediction_encoded)

希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新