Source code for admit.bdp.LineSegment_BDP

""" **LineSegment_BDP** --- LineSegment_AT data (line segment information).
    -----------------------------------------------------------------------

    This module defines the LineSegment_BDP class.
"""

# ADMIT imports
#from Table_BDP import Table_BDP
#from Image_BDP import Image_BDP
from LineList_BDP import LineList_BDP
import admit.util.utils as utils

# system imports
import numpy as np

[docs]class LineSegment_BDP(LineList_BDP): """ LineSegment BDP class. This class contains a list of spectral line segments identified by the LineSegment AT. The columns in the table are: frequency (rest frequency in GHz), uid (unique identifier consisting of "U" and rest frequency), startchan (starting channel in the spectral window), endchan (ending channel in the spectral window). Parameters ---------- xmlFile : str Output XML file name. keyval : dict Dictionary of keyword:value pairs. Attributes ---------- table : Table Instance of he Table class to hold the spectral line information. veltype : str Velocity definition used for the spectrum. Default: "vlsr". ra : str The RA of where the spectrum was taken. Default: "". dec : str The declination of where the spectrum was taken. Default: "". nsegs : int The number of segments in the table. Default: 0. """ def __init__(self, xmlFile=None, **keyval): LineList_BDP.__init__(self, xmlFile) self.veltype = "vlsr" self.ra = "" self.dec = "" self.nsegs = 0 self.table.setkey("columns", utils.linelist_columns) self.table.setkey("units", utils.linelist_units) self.table.description="Line Segments" self.table.data = np.array([], dtype=object) self.setkey(keyval) self._version= "0.1.0"
[docs] def addRow(self, row): """ Method to add a row to the table Parameters ---------- row : LineData object LineData object containing the data Returns ------- None """ data = [] # build the row from the data for col in utils.linelist_columns: data.append(row.getkey(col)) self.table.addRow(data) self.nsegs += 1
def __len__(self): return self.nsegs