def SI(): global svc_clf, P300_clf ind = random.randint(0, 25) print("num =", ind) Series = np.load("../npSave/Pavarisa280219R06.npy")[ind, 0, :, :] print(np.asarray(Series).shape) bb, a = pre.butter_bandpass(0.5, 30, 500, order=5) bandpassData = pre.lfilter(bb, a, Series) print(bandpassData.shape) KaiserData = [] for i in range(8): tmp = pre.KaiserFil(bandpassData[i]) KaiserData.append(tmp) phaseData = np.array( [np.unwrap(np.angle(hilbert(i))) for i in bandpassData]) powerData = np.array([np.abs(hilbert(i)) for i in bandpassData]) aaa = np.ravel((phaseData, powerData)) A = np.reshape(aaa, (1, -1)) Seq = [] output = svc_clf.decision_function(A) # np.array([FeaturedData]))[0] for j in range(26): Seq.append([-output[0][j], j]) Seq.sort() # sort percentage SI_result = '' for t in Seq[0:9]: # เลือก 9 ตัวที่มี percent มากสุด SI_result = SI_result + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[ t[1]] # แปรผลเป็นตัวอักษรimport socket print('Result:' + SI_result) return SI_result
else: ind = random.randint(0,25) print(ind) Series = np.load("../npSave/Pavarisa280219R06.npy")[ind,0,:,:] print(np.asarray(Series).shape) #########Collecting Speech Imagery Data################## #########Preprocess Data################## bb, a = pre.butter_bandpass(0.5, 30, 500, order=5) bandpassData = pre.lfilter(bb, a, Series) print(bandpassData.shape) KaiserData = [] for i in range(8): tmp = pre.KaiserFil(bandpassData[i]) KaiserData.append(tmp) #FeaturedData = multibandfeat(KaiserData) #print(np.asarray(KaiserData).shape) #print("FeaturedData",len(FeaturedData)) #KaiserData = np.array(KaiserData) phaseData = np.array([np.unwrap(np.angle(hilbert(i))) for i in bandpassData]) powerData = np.array([np.abs(hilbert(i)) for i in bandpassData]) print(phaseData.shape) print(powerData.shape) aaa=np.ravel((phaseData,powerData)) print("aaa",aaa.shape) #shape=(8,4,1000) #########Preprocess Data################## A = np.reshape(aaa, (1, -1))