我目前正在使用 BraTS18 数据集研究超分辨率算法。当涉及到 [-1, 1] 之间的数据规范化时,我遇到了问题。
from tqdm import tqdm
import os
import numpy as np
import SimpleITK as sitk
def load_data(path, length=32, offset=0):
if length == None:
my_dir = sorted(os.listdir(path))
else:
my_dir = sorted(os.listdir(path)[offset:offset+length])
data = []
gt = []
for p in tqdm(my_dir):
data_list = sorted(os.listdir(path+p))
img_itk = sitk.ReadImage(path + p + '/'+ data_list[0])
flair = sitk.GetArrayFromImage(img_itk)
data.append(flair)
data = np.asarray(data,dtype=np.float32)
data = data[:, 30:120, 30:222, 30:222].reshape([-1, 192, 192])
return data
起初我认为这些值在 [0, 255] 范围内,但正如我尝试的那样
data_test = load_data_test(pathHGG, length=None)
np.max(data_test)
我得到了值(32767.0),现在我对 BraTS flair 上的数据值的范围感到困惑。谁能告诉我应该如何执行像素归一化?