-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfile_manpulator.py
37 lines (33 loc) · 1.56 KB
/
file_manpulator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import os
import numpy as np
from tkinter import messagebox
from tkinter import filedialog
class FileManpulator:
def __init__(self):
self.file = None
def loadSignal(self,file=None):
if file is None:
self.file=filedialog.askopenfilename(initialdir = os.path.expanduser( os.getcwd()),title = "Select a text file containing the signal B.",filetypes = (("Text files","*.txt"), ("all files","*.*")))
else:
self.file=file
x,y = np.loadtxt(self.file, dtype=float, skiprows=3, delimiter=" ", unpack=True)
return x,y
def loadSignalY(self,file=None):
if file is None:
self.file=filedialog.askopenfilename(initialdir = os.path.expanduser( os.getcwd()),title = "Select a text file containing the signal B.",filetypes = (("Text files","*.txt"), ("all files","*.*")))
else:
self.file=file
y = np.loadtxt(self.file, usecols=0, dtype=float)
x = np.arange(0,len(y))
return x,y
def saveOutput(self, signal,file):
if signal == None:
messagebox.showerror("DSP" , "No output signal to save")
elif not file :
messagebox.showerror("DSP" , "Please enter save file name")
else:
print("Saved points X:",signal.x)
print("Saved points y:",signal.y)
output=np.stack((signal.x,signal.y),axis=1)
np.savetxt(fname=file+'.txt',header='0\n0\n'+str(len(signal.x)), comments='', delimiter=' ', X=output)
messagebox.showinfo("DSP" , "Signal saved successfully")