GBTIDL FITS files

GBTIDL SDFITS sessions can be loaded as pyspeckit.ObsBlock objects using the GBTSession reader:

gbtsession = pyspeckit.readers.GBTSession('AGBTsession.fits')

API

GBTIDL SDFITS file

GBTIDL SDFITS files representing GBT observing sessions can be read into pyspeckit. Additional documentation is needed. Nodding reduction is supported, frequency switching is not.

class pyspeckit.spectrum.readers.gbt.GBTSession(sdfitsfile)[source] [github] [bitbucket]

A class wrapping all of the above features

Load an SDFITS file or a pre-loaded FITS file

load_target(target, **kwargs)[source] [github] [bitbucket]

Load a Target…

reduce_all()[source] [github] [bitbucket]
reduce_target(target, **kwargs)[source] [github] [bitbucket]

Reduce the data for a given object name

class pyspeckit.spectrum.readers.gbt.GBTTarget(Session, target, **kwargs)[source] [github] [bitbucket]

A collection of ObsBlocks or Spectra

Container for the individual scans of a target from a GBT session

reduce(obstype='nod', **kwargs)[source] [github] [bitbucket]

Reduce nodded observations (they should have been read in __init__)

pyspeckit.spectrum.readers.gbt.average_IF(block, debug=False)[source] [github] [bitbucket]

Average the polarizations for each feed in each IF

pyspeckit.spectrum.readers.gbt.average_pols(block)[source] [github] [bitbucket]

Average the polarizations for each feed in each IF

pyspeckit.spectrum.readers.gbt.count_integrations(sdfitsfile, target)[source] [github] [bitbucket]

Return the number of integrations for a given target (uses one sampler; assumes same number for all samplers)

pyspeckit.spectrum.readers.gbt.dcmeantsys(calon, caloff, tcal, debug=False)[source] [github] [bitbucket]

from GBTIDL’s dcmeantsys.py ; mean_tsys = tcal * mean(nocal) / (mean(withcal-nocal)) + tcal/2.0

pyspeckit.spectrum.readers.gbt.find_feeds(block)[source] [github] [bitbucket]

Get a dictionary of the feed numbers for each sampler

pyspeckit.spectrum.readers.gbt.find_matched_freqs(reduced_blocks, debug=False)[source] [github] [bitbucket]

Use frequency-matching to find which samplers observed the same parts of the spectrum

WARNING These IF numbers don’t match GBTIDL’s! I don’t know how to get those to match up!

pyspeckit.spectrum.readers.gbt.find_pols(block)[source] [github] [bitbucket]

Get a dictionary of the polarization for each sampler

pyspeckit.spectrum.readers.gbt.identify_samplers(block)[source] [github] [bitbucket]

Identify each sampler with an IF number, a feed number, and a polarization

pyspeckit.spectrum.readers.gbt.list_targets(sdfitsfile, doprint=True)[source] [github] [bitbucket]

List the targets, their location on the sky…

pyspeckit.spectrum.readers.gbt.read_gbt_scan(sdfitsfile, obsnumber=0)[source] [github] [bitbucket]

Read a single scan from a GBTIDL SDFITS file

pyspeckit.spectrum.readers.gbt.read_gbt_target(sdfitsfile, objectname, verbose=False)[source] [github] [bitbucket]

Give an object name, get all observations of that object as an ‘obsblock’

pyspeckit.spectrum.readers.gbt.reduce_gbt_target(sdfitsfile, objectname, nbeams, verbose=False)[source] [github] [bitbucket]

Wrapper - read an SDFITS file, get an object, reduce it (assuming nodded) and return it

pyspeckit.spectrum.readers.gbt.reduce_nod(blocks, verbose=False, average=True, fdid=(1, 2))[source] [github] [bitbucket]

Do a nodded on/off observation given a dict of observation blocks as produced by read_gbt_target

Parameters:fdid : 2-tuple
pyspeckit.spectrum.readers.gbt.reduce_totalpower(blocks, verbose=False, average=True, fdid=1)[source] [github] [bitbucket]

Reduce a total power observation

pyspeckit.spectrum.readers.gbt.round_to_resolution(frequency, resolution)[source] [github] [bitbucket]

kind of a hack, but round the frequency to the nearest integer multiple of the resolution, then multiply it back into frequency space

pyspeckit.spectrum.readers.gbt.sigref(nod1, nod2, tsys_nod2)[source] [github] [bitbucket]

Signal-Reference (‘nod’) calibration ; ((dcsig-dcref)/dcref) * dcref.tsys see GBTIDL’s dosigref

pyspeckit.spectrum.readers.gbt.totalpower(calon, caloff, average=True)[source] [github] [bitbucket]

Do a total-power calibration of an on/off data set (see dototalpower.pro in GBTIDL)

pyspeckit.spectrum.readers.gbt.uniq(seq)[source] [github] [bitbucket]

from http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order