import pydicom import numpy as np import matplotlib.pyplot as plt import os import csv import math import wavelet import network import keras import tensorflow as tf import random actions = [ lambda img: wavelet.rotate(img, 1) , lambda img: wavelet.rotate(img, 2) , lambda img: wavelet.rotate(img, 3) , lambda img: wavelet.rotate(img, 4) , lambda img: wavelet.rotate(img, 5) , lambda img: wavelet.rotate(img, 6) , lambda img: wavelet.rotate(img, 7) ] genData = [] model = network.createModel() pos = 0 first = True with open("mimx.csv") as f: for row in csv.reader(f, delimiter=","): if first or len(row) < 9: first = False continue n = f"{row[2]}" while len(n) < 4: n = f"0{n}" fileName = f"Proband {row[0]}/SE00000{row[1]}/{row[0]}_{n}.dcm" print(f"{fileName}", end="\r") y = np.array([float(row[7]), float(row[8]), float(row[9]), float(row[10])]) #np.save(f"{fileName}_labels.npy", y, allow_pickle=False) img = pydicom.dcmread(fileName).pixel_array #images = [] #for action in actions: # w = wavelet.refine(action(img)) # images.append(1.0 * w.reshape((512 * 512,))) # #images = np.array(images) #np.save(f"{fileName}_images.npy", images, allow_pickle=False) np.save(f"{fileName}_plainImage.npy", img, allow_pickle=False) w = wavelet.refine(img) np.save(f"{fileName}_wavelet.npy", img, allow_pickle=False) print() print("done")