# -*- coding: utf-8 -*- """ """ import pydicom import os,glob import pickle import numpy as np import cv2 m=81 #maximum slices path="E:/CTskull/NBIA" #dir of skull CT's dfiles = os.listdir(path) dda=np.empty([0,m,96,96],dtype=np.uint8) for fdir in dfiles: path2=path+'/'+fdir print(path2) os.chdir(path2) files = glob.glob("*") st=np.empty([0,96,96],dtype=np.uint8) for file in files: dsA=pydicom.dcmread(file) imA=dsA.pixel_array imA = cv2.resize(imA , (96,96)) imB=np.where(imA>1100,1,0) #threshold 1100 imB=imB.astype('uint8') imB=imB.reshape(1,96,96) st=np.concatenate((st,imB)) sa=np.zeros([m,96,96],dtype=np.uint8) zn=m-st.shape[0] sa[zn:]=st sas=sa.reshape(1,m,96,96) dda=np.concatenate((dda,sas)) sfile='E:\CTskull/96di81.pkl' #96x96x81 compressed piles with open(sfile, mode='wb') as f: pickle.dump(dda, f, protocol=4)