-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexample.py
65 lines (51 loc) · 1.72 KB
/
example.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#! /usr/bin/env python
__author__ = "Remis"
__date__ = "$07-Jan-2016 15:26:09$"
import math
from pylab import *
from sctrace.rawtrace import Record
def display_record(t, trace):
plot(t, trace)
xlabel('time (ms)')
ylabel('Current (pA)')
title('Cluster example')
grid(True)
show()
if __name__ == "__main__":
filename="./sctrace/samples/cluster.abf"
record = Record(filename, filter_f = 3000)
end = len(record.trace) * record.dt
t = arange(0.0, end, record.dt)
print ('trace: ', record.trace)
print ('time: ', t)
display_record(t, record.trace)
new_segement = record.slice(0.1, 1.15, dtype = 'time')
new_cluster = new_segement.find_cluster()
popen = new_cluster.Popen()
print(new_cluster)
print(popen)
print(new_cluster.open_level)
#plot(new_cluster.display_trace())
import ctypes
user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
print(screensize)
print('sampled points = ', len(record.trace))
pix=screensize[0]
block_points = math.ceil(len(record.trace) / pix)
block_number = math.ceil(len(record.trace) / block_points)
print('points per block = ', block_points)
print('number of blocks = ', block_number)
#temp = np.array(np.array_split(record.trace, block_number))
#print (temp)
t1 = []
r1 = []
for block, time in zip(np.array(np.array_split(record.trace, block_number)),
np.array(np.array_split(t, block_number))):
t1.append(time[0])
t1.append(time[0])
r1.append(min(block))
r1.append(max(block))
#print('time=', t1)
#print('minmax=', r1)
display_record(t1, r1)