source: trunk/python/ipysupport.py @ 1824

Last change on this file since 1824 was 1824, checked in by Malte Marquarding, 14 years ago

Refactoring of init.py. Moved functionality into separate modules. Some minor fixes to make unit test work under 'standard asap'.

File size: 12.6 KB
Line 
1import sys
2import inspect
3
4from asap.parameters import rcParams
5from asap.scantable import scantable
6
7
8# workaround for ipython, which redirects this if banner=0 in ipythonrc
9sys.stdout = sys.__stdout__
10sys.stderr = sys.__stderr__
11
12def version():
13    print  "ASAP %s(%s)"% (__version__, __date__)
14
15def list_scans(t = scantable):
16    print "The user created scantables are: ",
17    globs=inspect.currentframe().f_back.f_locals.copy()
18    out = [ k for k,v in globs.iteritems() \
19                 if isinstance(v, scantable) and not k.startswith("_") ]
20    print out
21    return out
22
23def commands():
24    x = """\
25[The scan container]
26    scantable           - a container for integrations/scans
27                          (can open asap/rpfits/sdfits and ms files)
28        copy            - returns a copy of a scan
29        get_scan        - gets a specific scan out of a scantable
30                          (by name or number)
31        drop_scan       - drops a specific scan out of a scantable
32                          (by number)
33        set_selection   - set a new subselection of the data
34        get_selection   - get the current selection object
35        summary         - print info about the scantable contents
36        stats           - get specified statistic of the spectra in
37                          the scantable
38        stddev          - get the standard deviation of the spectra
39                          in the scantable
40        get_tsys        - get the TSys
41        get_time        - get the timestamps of the integrations
42        get_inttime     - get the integration time
43        get_sourcename  - get the source names of the scans
44        get_azimuth     - get the azimuth of the scans
45        get_elevation   - get the elevation of the scans
46        get_parangle    - get the parallactic angle of the scans
47        get_coordinate  - get the spectral coordinate for the given row,
48                          which can be used for coordinate conversions
49        get_weather     - get the weather condition parameters
50        get_unit        - get the current unit
51        set_unit        - set the abcissa unit to be used from this
52                          point on
53        get_abcissa     - get the abcissa values and name for a given
54                          row (time)
55        get_column_names - get the names of the columns in the scantable
56                           for use with selector.set_query
57        set_freqframe   - set the frame info for the Spectral Axis
58                          (e.g. 'LSRK')
59        set_doppler     - set the doppler to be used from this point on
60        set_dirframe    - set the frame for the direction on the sky
61        set_instrument  - set the instrument name
62        set_feedtype    - set the feed type
63        get_fluxunit    - get the brightness flux unit
64        set_fluxunit    - set the brightness flux unit
65        set_sourcetype  - set the type of the source - source or reference
66        create_mask     - return an mask in the current unit
67                          for the given region. The specified regions
68                          are NOT masked
69        get_restfreqs   - get the current list of rest frequencies
70        set_restfreqs   - set a list of rest frequencies
71        shift_refpix    - shift the reference pixel of the IFs
72        set_spectrum    - overwrite the spectrum for a given row
73        get_spectrum    - retrieve the spectrum for a given
74        get_mask        - retrieve the mask for a given
75        flag            - flag selected channels in the data
76        lag_flag        - flag specified frequency in the data
77        save            - save the scantable to disk as either 'ASAP',
78                          'SDFITS' or 'ASCII'
79        nbeam,nif,nchan,npol - the number of beams/IFs/Pols/Chans
80        nscan           - the number of scans in the scantable
81        nrow            - the number of spectra in the scantable
82        history         - print the history of the scantable
83        get_fit         - get a fit which has been stored witnh the data
84        average_time    - return the (weighted) time average of a scan
85                          or a list of scans
86        average_pol     - average the polarisations together.
87        average_beam    - average the beams together.
88        convert_pol     - convert to a different polarisation type
89        auto_quotient   - return the on/off quotient with
90                          automatic detection of the on/off scans (closest
91                          in time off is selected)
92        mx_quotient     - Form a quotient using MX data (off beams)
93        scale, *, /     - return a scan scaled by a given factor
94        add, +          - return a scan with given value added
95        sub, -          - return a scan with given value subtracted
96        bin             - return a scan with binned channels
97        resample        - return a scan with resampled channels
98        smooth          - return the spectrally smoothed scan
99        poly_baseline   - fit a polynomial baseline to all Beams/IFs/Pols
100        auto_poly_baseline - automatically fit a polynomial baseline
101        recalc_azel     - recalculate azimuth and elevation based on
102                          the pointing
103        gain_el         - apply gain-elevation correction
104        opacity         - apply opacity correction
105        convert_flux    - convert to and from Jy and Kelvin brightness
106                          units
107        freq_align      - align spectra in frequency frame
108        invert_phase    - Invert the phase of the cross-correlation
109        swap_linears    - Swap XX and YY (or RR LL)
110        rotate_xyphase  - rotate XY phase of cross correlation
111        rotate_linpolphase - rotate the phase of the complex
112                             polarization O=Q+iU correlation
113        freq_switch     - perform frequency switching on the data
114        stats           - Determine the specified statistic, e.g. 'min'
115                          'max', 'rms' etc.
116        stddev          - Determine the standard deviation of the current
117                          beam/if/pol
118        get_row_selector - get the selection object for a specified row
119                           number
120 [Selection]
121     selector              - a selection object to set a subset of a scantable
122        set_scans          - set (a list of) scans by index
123        set_cycles         - set (a list of) cycles by index
124        set_beams          - set (a list of) beamss by index
125        set_ifs            - set (a list of) ifs by index
126        set_polarisations  - set (a list of) polarisations by name
127                             or by index
128        set_names          - set a selection by name (wildcards allowed)
129        set_tsys           - set a selection by tsys thresholds
130        set_query          - set a selection by SQL-like query, e.g. BEAMNO==1
131        ( also  get_ functions for all these )
132        reset              - unset all selections
133        +                  - merge two selections
134
135 [Math] Mainly functions which operate on more than one scantable
136
137        average_time    - return the (weighted) time average
138                          of a list of scans
139        quotient        - return the on/off quotient
140        simple_math     - simple mathematical operations on two scantables,
141                          'add', 'sub', 'mul', 'div'
142        quotient        - build quotient of the given on and off scans
143                          (matched pairs and 1 off - n on are valid)
144        merge           - merge a list of scantables
145
146 [Line Catalog]
147    linecatalog              - a linecatalog wrapper, taking an ASCII or
148                               internal format table
149        summary              - print a summary of the current selection
150        set_name             - select a subset by name pattern, e.g. '*OH*'
151        set_strength_limits  - select a subset by line strength limits
152        set_frequency_limits - select a subset by frequency limits
153        reset                - unset all selections
154        save                 - save the current subset to a table (internal
155                               format)
156        get_row              - get the name and frequency from a specific
157                               row in the table
158 [Fitting]
159    fitter
160        auto_fit        - return a scan where the function is
161                          applied to all Beams/IFs/Pols.
162        commit          - return a new scan where the fits have been
163                          commited.
164        fit             - execute the actual fitting process
165        store_fit       - store the fit parameters in the data (scantable)
166        get_chi2        - get the Chi^2
167        set_scan        - set the scantable to be fit
168        set_function    - set the fitting function
169        set_parameters  - set the parameters for the function(s), and
170                          set if they should be held fixed during fitting
171        set_gauss_parameters - same as above but specialised for individual
172                               gaussian components
173        get_parameters  - get the fitted parameters
174        plot            - plot the resulting fit and/or components and
175                          residual
176[Plotter]
177    asapplotter         - a plotter for asap, default plotter is
178                          called 'plotter'
179        plot            - plot a scantable
180        plot_lines      - plot a linecatalog overlay
181        plotazel        - plot azimuth and elevation versus time
182        plotpointing    - plot telescope pointings
183        save            - save the plot to a file ('png' ,'ps' or 'eps')
184        set_mode        - set the state of the plotter, i.e.
185                          what is to be plotted 'colour stacked'
186                          and what 'panelled'
187        set_selection   - only plot a selected part of the data
188        set_range       - set a 'zoom' window [xmin,xmax,ymin,ymax]
189        set_legend      - specify user labels for the legend indeces
190        set_title       - specify user labels for the panel indeces
191        set_abcissa     - specify a user label for the abcissa
192        set_ordinate    - specify a user label for the ordinate
193        set_layout      - specify the multi-panel layout (rows,cols)
194        set_colors      - specify a set of colours to use
195        set_linestyles  - specify a set of linestyles to use if only
196                          using one color
197        set_font        - set general font properties, e.g. 'family'
198        set_histogram   - plot in historam style
199        set_mask        - set a plotting mask for a specific polarization
200        text            - draw text annotations either in data or relative
201                          coordinates
202        arrow           - draw arrow annotations either in data or relative
203                          coordinates
204        axhline,axvline - draw horizontal/vertical lines
205        axhspan,axvspan - draw horizontal/vertical regions
206        annotate        - draw an arrow with label
207        create_mask     - create a scnatble mask interactively
208
209    xyplotter           - matplotlib/pylab plotting functions
210
211[General]
212    commands            - this command
213    print               - print details about a variable
214    list_scans          - list all scantables created by the user
215    list_files          - list all files readable by asap (default rpf)
216    del                 - delete the given variable from memory
217    range               - create a list of values, e.g.
218                          range(3) = [0,1,2], range(2,5) = [2,3,4]
219    help                - print help for one of the listed functions
220    execfile            - execute an asap script, e.g. execfile('myscript')
221    list_rcparameters   - print out a list of possible values to be
222                          put into $HOME/.asaprc
223    rc                  - set rc parameters from within asap
224    mask_and,mask_or,
225    mask_not            - boolean operations on masks created with
226                          scantable.create_mask
227    skydip              - gain opacity values from a sky dip observation
228    opacity_model       - compute opacities fro given frequencies based on
229                          atmospheric model
230
231Note:
232    How to use this with help:
233                                     # function 'summary'
234    [xxx] is just a category
235    Every 'sub-level' in this list should be replaces by a '.' Period when
236    using help
237    Example:
238        ASAP> help scantable # to get info on ths scantable
239        ASAP> help scantable.summary # to get help on the scantable's
240        ASAP> help average_time
241
242        """
243    if rcParams['verbose']:
244        try:
245            from IPython.genutils import page as pager
246        except ImportError:
247            from pydoc import pager
248        pager(x)
249    else:
250        print x
251    return
Note: See TracBrowser for help on using the repository browser.