Files
Stomach_Cancer_Pytorch/Load_process/Load_Indepentend.py

67 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from Read_and_process_image.ReadAndProcess import Read_image_and_Process_image
from merge_class.merge import merge
from Read_and_process_image.ReadAndProcess import Read_image_and_Process_image
from Load_process.LoadData import Load_Data_Prepare, Load_Data_Tools
from model_data_processing.processing import Balance_Process
class Load_Indepentend_Data():
def __init__(self, Labels, OneHot_Encording):
'''
影像切割物件
label有2類,會將其轉成one-hot-encoding的形式
[0, 1] = NPC_negative
[1, 0] = NPC_positive
'''
self.merge = merge()
self.Labels = Labels
self.OneHot_Encording = OneHot_Encording
pass
def process_main(self, Test_data_root):
self.test, self.test_label = self.get_Independent_image(Test_data_root)
print("\ntest_labels有" + str(len(self.test_label)) + "筆資料\n")
# self.validation, self.validation_label = self.get_Independent_image(Validation_data_root)
# print("validation_labels有 " + str(len(self.validation_label)) + " 筆資料\n")
def get_Independent_image(self, independent_DataRoot):
image_processing = Read_image_and_Process_image(123)
classify_image = []
Total_Dict_Data_Root = self.Get_Independent_data_Root(independent_DataRoot) # 讀取測試資料集的資料
Total_Dict_Data_Root, Size = Balance_Process(Total_Dict_Data_Root, self.Labels) # 打亂並取出指定資料筆數的資料
Total_List_Data_Root = []
for Label in self.Labels:
Total_List_Data_Root.append(Total_Dict_Data_Root[Label])
test_label, Classify_Label = [], []
i = 0 # 計算classify_image的counter且計算總共有幾筆資料
for test_title in Total_List_Data_Root: # 藉由讀取所有路徑來進行讀檔
test_label = image_processing.make_label_list(len(test_title), self.OneHot_Encording[i]) # 製作對應圖片數量的label出來+
print(self.Labels[i] + "" + str(len(test_label)) + " 筆資料 ")
classify_image.append(test_title)
Classify_Label.append(test_label)
i += 1
original_test_root = self.merge.merge_data_main(classify_image, 0)
original_test_label = self.merge.merge_data_main(Classify_Label, 0)
test = []
test = image_processing.Data_Augmentation_Image(original_test_root)
test, test_label = image_processing.image_data_processing(test, original_test_label)
return test, test_label
def Get_Independent_data_Root(self, load_data_root):
Prepare = Load_Data_Prepare()
Load_Tool = Load_Data_Tools()
Prepare.Set_Data_Content([], len(self.Labels))
Prepare.Set_Data_Dictionary(self.Labels, Prepare.Get_Data_Content(), 2)
Get_Data_Dict_Content = Prepare.Get_Data_Dict()
Total_Data_Roots = Load_Tool.get_data_root(load_data_root, Get_Data_Dict_Content, self.Labels)
return Total_Data_Roots