-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerate_aligned_signals.py
More file actions
59 lines (43 loc) · 1.63 KB
/
generate_aligned_signals.py
File metadata and controls
59 lines (43 loc) · 1.63 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import numpy as np
from scipy.signal import find_peaks_cwt
def extract_data(dataset):
# load time-series (TS)
# **************************************************************************
if (type(dataset) == str):
if (dataset.endswith(".txt")):
fulldata = np.loadtxt(dataset)
else:
fulldata = np.load(dataset)
elif (type(dataset) == numpy.darray):
fulldata = dataset
return fulldata
# For now this is really stupid...
def align_signals(dataset1,dataset2,sampleFreq,nSamples):
nTimeSeries = 2
data1 = extract_data(dataset1)
data2 = extract_data(dataset2)
data = np.zeros((nSamples, nTimeSeries+1))
data[:,0] = [ t/sampleFreq for t in range(nSamples)]
data[:,1] = data1[:,1]
data[:,2] = data2[:,1]
return data
def main():
import json, argparse
# Parse commandline arguments.
parser = argparse.ArgumentParser()
parser.add_argument("input1", type=str, help="First dataset")
parser.add_argument("input2", type=str, help="Second dataset")
parser.add_argument("output", type=str, help="Resulting output files")
parser.add_argument("-f", "--format", type=str, default="npy", choices=["npy", "txt"], help="Output file format")
parser.add_argument("-s", "--sample-freq", type=float, default=28000.0, help="Sample frequency")
args = parser.parse_args()
output_format = args.format
outputFile = args.output
data = align_signals(args.input1, args.input2, args.sample_freq, 200000)
# Save to appropriate file/format.
if (output_format == "npy"):
np.save(outputFile, data)
elif (output_format == "txt"):
np.savetxt(outputFile, data)
if __name__ == "__main__":
main()