source: trunk/test/linefind.py

Last change on this file 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.7 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
5from asap import *
6import time,sys
7
8input_dataset = "data/mopra_g327.3-0.6.sdfits"
9
10# read command line parameter
11wait_str = ""
12if len(sys.argv)>=2:
13   if sys.argv[1].lower() == "wait":
14      wait_str = " Press Enter."
15
16# read scantable
17sc=scantable(input_dataset)
18# this file is already reduced, so we can just plot it
19
20plotter.plot(sc)
21plotter.set_legend('Input spectrum')
22#plotter._plotter.set_line(number=0,label='Input spectrum')
23
24# now set up and run line finder
25fl=linefinder()
26fl.set_scan(sc)
27fl.set_options(avg_limit=1,threshold=4,box_size=0.1,noise_box=0.1,noise_stat='median')
28nlines=fl.find_lines()
29print 'Found %i lines.' % nlines
30
31if nlines!=0:
32   r=fl.get_ranges()
33   print "Channel ranges: %s" % (r,)
34   print wait_str
35   if wait_str == "":
36      time.sleep(1)
37   else:
38      raw_input()
39   for l in range(1,len(r),2):
40        print "Line %i from channel %i to %i.%s" % (l/2+1,r[l-1],r[l],wait_str)
41        #plotter.set_range(r[l-1]-3,r[l]+3)
42        b=int(r[l-1])-3
43        e=int(r[l])+3
44        if b<0:
45           b=0
46        if e>=sc.nchan():
47           e=sc.nchan()
48        add_colours = ['red','blue','pink','brown']
49        if l/2 >= 9:
50           plotter._plotter.set_line(colour=add_colours[(l/2-9)%len(add_colours)])
51        plotter._plotter.set_line(label='Line %i'% (l/2+1))
52        plotter._plotter.plot(range(b,e),sc.get_spectrum(0)[b:e])
53        plotter._plotter.show()
54        if wait_str == "":
55           time.sleep(1)
56        else:
57           raw_input()
58         
59
60plotter.save('output/linefinder.png', dpi=80)
61print "Test of line finder is successfull"
Note: See TracBrowser for help on using the repository browser.