-
Notifications
You must be signed in to change notification settings - Fork 4
/
print_trace.py
43 lines (39 loc) · 1.62 KB
/
print_trace.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
38
39
40
41
42
43
## COPYRIGHT
## Copyright (C) 2015 Kyle Briggs (kbrig035<at>uottawa.ca)
##
## This file is part of cusumtools.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
import tkinter.filedialog
import tkinter as tk
import numpy as np
def main():
root=tk.Tk()
root.withdraw()
file_path_string = tkinter.filedialog.askopenfilename(initialdir='C:/Data/')
root.destroy()
length_s = 0.264425
start_s = 3270.207934
samplingfreq = 4166666
with open(file_path_string, 'rb') as f:
columntypes = np.dtype([('curr_pA', '>f8'), ('volt_mV', '>f8')])
current = np.memmap(f, dtype=columntypes, mode='r')['curr_pA']
index = file_path_string.find('.bin')
outname = file_path_string[:index]+'_'+str(start_s)+'_'+str(length_s)+'_current.csv'
print('start')
print(len(current))
np.savetxt(outname,current[int(start_s*samplingfreq):int((start_s+length_s)*samplingfreq)])
print('end')
if __name__=='__main__':
main()