Last change
on this file since 2067 was 1648, checked in by Max Voronkov, 15 years ago |
Added a test of the full-blown line finder
|
-
Property svn:executable
set to
*
|
File size:
1.5 KB
|
Line | |
---|
1 | #!/usr/bin/env python
|
---|
2 | # run this script with a command line parameter "wait" in order it to wait
|
---|
3 | # pressing enter instead of a time delay
|
---|
4 |
|
---|
5 | from asap import *
|
---|
6 | import time,sys
|
---|
7 |
|
---|
8 | wait_str = ""
|
---|
9 | if len(sys.argv)>=2:
|
---|
10 | if sys.argv[1].lower() == "wait":
|
---|
11 | wait_str = " Press Enter."
|
---|
12 |
|
---|
13 | # read the spectrum from ascii file
|
---|
14 | f = open('data/atca_spectrum.dat')
|
---|
15 | spc=[]
|
---|
16 | try:
|
---|
17 | for line in f:
|
---|
18 | parts=line.split()
|
---|
19 | if len(parts)!=3:
|
---|
20 | raise RuntimeError, "Expect 3 parts, you have %s"% (parts,)
|
---|
21 | spc.append(float(parts[2]))
|
---|
22 | finally:
|
---|
23 | f.close()
|
---|
24 |
|
---|
25 |
|
---|
26 | #run the line finder
|
---|
27 |
|
---|
28 | lf = simplelinefinder()
|
---|
29 | rng=lf.find_lines(spc,threshold=3,splitFeatures=False)
|
---|
30 |
|
---|
31 | print "Found %i lines.%s" % (len(rng),wait_str)
|
---|
32 | b=len(spc)/4
|
---|
33 | e=len(spc)*3/4
|
---|
34 | plotter._plotter.plot(range(b,e),spc[b:e])
|
---|
35 | plotter._plotter.set_line(number=0,label='Input spectrum')
|
---|
36 | plotter._plotter.show()
|
---|
37 | if wait_str == "":
|
---|
38 | time.sleep(1.5)
|
---|
39 | else:
|
---|
40 | raw_input()
|
---|
41 | cnt = 1
|
---|
42 | for line in rng:
|
---|
43 | if len(line)!=2:
|
---|
44 | raise RuntimeError, "Line is supposed to have two parameters"
|
---|
45 | b = line[0]-1
|
---|
46 | if b<0:
|
---|
47 | b=0
|
---|
48 | e = line[1]+1
|
---|
49 | if e>len(spc):
|
---|
50 | e=len(spc)
|
---|
51 | print "Showing line %i located at %s.%s" % (cnt,line,wait_str)
|
---|
52 | plotter._plotter.set_line(label='Line %i' % cnt)
|
---|
53 | cnt = cnt + 1
|
---|
54 | plotter._plotter.plot(range(b,e),spc[b:e])
|
---|
55 | plotter._plotter.show()
|
---|
56 | if wait_str == "":
|
---|
57 | time.sleep(1.5)
|
---|
58 | else:
|
---|
59 | raw_input()
|
---|
60 |
|
---|
61 | plotter.save('output/simple_linefinder.png', dpi=80)
|
---|
62 | print "Test of simple line finder is successful"
|
---|
Note:
See
TracBrowser
for help on using the repository browser.