簡體   English   中英

如何對存儲在兩個不同文件夾中的 nii.gz 文件進行一次熱編碼?

[英]How can I one hot encode nii.gz files stored in two different folders?

我已經閱讀了所有將用於二進制分類的圖像,並將它們存儲在兩個不同的 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)

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM