Changeset 1589 for trunk/python/scantable.py
- Timestamp:
- 07/02/09 12:17:20 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/python/scantable.py
r1588 r1589 1 1 from asap._asap import Scantable 2 2 from asap import rcParams 3 from asap import print_log 3 from asap import print_log, print_log_dec 4 4 from asap import asaplog 5 5 from asap import selector … … 11 11 The ASAP container for scans 12 12 """ 13 13 @print_log_dec 14 14 def __init__(self, filename, average=None, unit=None, parallactify=None): 15 15 """ … … 53 53 if rcParams['verbose']: 54 54 asaplog.push(s) 55 print asaplog.pop().strip()55 #print asaplog.pop().strip() 56 56 return 57 57 raise IOError(s) … … 80 80 self.parallactify(parallactify) 81 81 self._add_history("scantable", varlist) 82 print_log() 83 82 83 @print_log_dec 84 84 def save(self, name=None, format=None, overwrite=False): 85 85 """ … … 129 129 writer = stw(format2) 130 130 writer.write(self, name) 131 print_log()132 131 return 133 132 … … 587 586 self._add_history("set_unit", varlist) 588 587 588 @print_log_dec 589 589 def set_instrument(self, instr): 590 590 """ … … 596 596 self._setInstrument(instr) 597 597 self._add_history("set_instument", vars()) 598 print_log() 599 598 599 @print_log_dec 600 600 def set_feedtype(self, feedtype): 601 601 """ … … 606 606 self._setfeedtype(feedtype) 607 607 self._add_history("set_feedtype", vars()) 608 print_log() 609 608 609 @print_log_dec 610 610 def set_doppler(self, doppler='RADIO'): 611 611 """ … … 619 619 self._setcoordinfo(inf) 620 620 self._add_history("set_doppler", vars()) 621 print_log() 622 621 622 @print_log_dec 623 623 def set_freqframe(self, frame=None): 624 624 """ … … 647 647 else: 648 648 raise TypeError(msg) 649 print_log()650 649 651 650 def set_dirframe(self, frame=""): … … 691 690 abc = self._getabcissa(rowno) 692 691 lbl = self._getabcissalabel(rowno) 693 print_log()694 692 return abc, lbl 695 693 … … 713 711 self._add_history("flag", varlist) 714 712 713 @print_log_dec 715 714 def lag_flag(self, start, end, unit="MHz", insitu=None): 716 715 """ … … 746 745 else: raise 747 746 s._add_history("lag_flag", varlist) 748 print_log()749 747 if insitu: 750 748 self._assign(s) … … 752 750 return s 753 751 754 752 @print_log_dec 755 753 def create_mask(self, *args, **kwargs): 756 754 """ … … 814 812 if kwargs.get('invert'): 815 813 msk = mask_not(msk) 816 print_log()817 814 return msk 818 815 … … 915 912 916 913 def shift_refpix(self, delta): 917 918 919 920 921 914 """ 915 Shift the reference pixel of the Spectra Coordinate by an 916 integer amount. 917 Parameters: 918 delta: the amount to shift by 922 919 Note: 923 924 """ 925 920 Be careful using this with broadband data. 921 """ 922 Scantable.shift(self, delta) 926 923 927 924 def history(self, filename=None): … … 974 971 # Maths business 975 972 # 976 973 @print_log_dec 977 974 def average_time(self, mask=None, scanav=False, weight='tint', align=False): 978 975 """ … … 1021 1018 else: raise 1022 1019 s._add_history("average_time", varlist) 1023 print_log()1024 1020 return s 1025 1021 1022 @print_log_dec 1026 1023 def convert_flux(self, jyperk=None, eta=None, d=None, insitu=None): 1027 1024 """ … … 1048 1045 s = scantable(self._math._convertflux(self, d, eta, jyperk)) 1049 1046 s._add_history("convert_flux", varlist) 1050 print_log()1051 1047 if insitu: self._assign(s) 1052 1048 else: return s 1053 1049 1050 @print_log_dec 1054 1051 def gain_el(self, poly=None, filename="", method="linear", insitu=None): 1055 1052 """ … … 1101 1098 s = scantable(self._math._gainel(self, poly, filename, method)) 1102 1099 s._add_history("gain_el", varlist) 1103 print_log()1104 1100 if insitu: self._assign(s) 1105 1101 else: return s 1106 1102 1103 @print_log_dec 1107 1104 def freq_align(self, reftime=None, method='cubic', insitu=None): 1108 1105 """ … … 1126 1123 s = scantable(self._math._freq_align(self, reftime, method)) 1127 1124 s._add_history("freq_align", varlist) 1128 print_log()1129 1125 if insitu: self._assign(s) 1130 1126 else: return s 1131 1127 1128 @print_log_dec 1132 1129 def opacity(self, tau, insitu=None): 1133 1130 """ … … 1147 1144 s = scantable(self._math._opacity(self, tau)) 1148 1145 s._add_history("opacity", varlist) 1149 print_log()1150 1146 if insitu: self._assign(s) 1151 1147 else: return s 1152 1148 1149 @print_log_dec 1153 1150 def bin(self, width=5, insitu=None): 1154 1151 """ … … 1165 1162 s = scantable(self._math._bin(self, width)) 1166 1163 s._add_history("bin", varlist) 1167 print_log() 1168 if insitu: self._assign(s) 1169 else: return s 1170 1171 1164 if insitu: 1165 self._assign(s) 1166 else: 1167 return s 1168 1169 @print_log_dec 1172 1170 def resample(self, width=5, method='cubic', insitu=None): 1173 1171 """ … … 1188 1186 s = scantable(self._math._resample(self, method, width)) 1189 1187 s._add_history("resample", varlist) 1190 print_log()1191 1188 if insitu: self._assign(s) 1192 1189 else: return s 1193 1190 1194 1191 @print_log_dec 1195 1192 def average_pol(self, mask=None, weight='none'): 1196 1193 """ … … 1208 1205 s = scantable(self._math._averagepol(self, mask, weight.upper())) 1209 1206 s._add_history("average_pol", varlist) 1210 print_log()1211 1207 return s 1212 1208 1209 @print_log_dec 1213 1210 def average_beam(self, mask=None, weight='none'): 1214 1211 """ … … 1226 1223 s = scantable(self._math._averagebeams(self, mask, weight.upper())) 1227 1224 s._add_history("average_beam", varlist) 1228 print_log()1229 1225 return s 1230 1226 … … 1234 1230 self._add_history("parallactify", varlist) 1235 1231 1232 @print_log_dec 1236 1233 def convert_pol(self, poltype=None): 1237 1234 """ … … 1252 1249 raise 1253 1250 s._add_history("convert_pol", varlist) 1254 print_log()1255 1251 return s 1256 1252 1253 @print_log_dec 1257 1254 def smooth(self, kernel="hanning", width=5.0, order=2, insitu=None): 1258 1255 """ … … 1281 1278 s = scantable(self._math._smooth(self, kernel.lower(), width, order)) 1282 1279 s._add_history("smooth", varlist) 1283 print_log()1284 1280 if insitu: self._assign(s) 1285 1281 else: return s 1286 1282 1287 1283 @print_log_dec 1288 1284 def poly_baseline(self, mask=None, order=0, plot=False, uselin=False, insitu=None): 1289 1285 """ … … 1319 1315 s = f.auto_fit(insitu, plot=plot) 1320 1316 s._add_history("poly_baseline", varlist) 1321 print_log()1322 1317 if insitu: self._assign(s) 1323 1318 else: return s … … 1329 1324 else: 1330 1325 raise RuntimeError(msg) 1331 1332 1326 1333 1327 def auto_poly_baseline(self, mask=[], edge=(0, 0), order=0, … … 1448 1442 return workscan 1449 1443 1444 @print_log_dec 1450 1445 def rotate_linpolphase(self, angle): 1451 1446 """ … … 1461 1456 self._math._rotate_linpolphase(self, angle) 1462 1457 self._add_history("rotate_linpolphase", varlist) 1463 print_log()1464 1458 return 1465 1459 1466 1460 @print_log_dec 1467 1461 def rotate_xyphase(self, angle): 1468 1462 """ … … 1478 1472 self._math._rotate_xyphase(self, angle) 1479 1473 self._add_history("rotate_xyphase", varlist) 1480 print_log()1481 1474 return 1482 1475 1476 @print_log_dec 1483 1477 def swap_linears(self): 1484 1478 """ … … 1489 1483 self._math._swap_linears(self) 1490 1484 self._add_history("swap_linears", varlist) 1491 print_log()1492 1485 return 1493 1486 1487 @print_log_dec 1494 1488 def invert_phase(self): 1495 1489 """ … … 1499 1493 self._math._invert_phase(self) 1500 1494 self._add_history("invert_phase", varlist) 1501 print_log()1502 1495 return 1503 1496 1497 @print_log_dec 1504 1498 def add(self, offset, insitu=None): 1505 1499 """ … … 1516 1510 s = scantable(self._math._unaryop(self, offset, "ADD", False)) 1517 1511 s._add_history("add", varlist) 1518 print_log()1519 1512 if insitu: 1520 1513 self._assign(s) … … 1522 1515 return s 1523 1516 1517 @print_log_dec 1524 1518 def scale(self, factor, tsys=True, insitu=None): 1525 1519 """ … … 1538 1532 s = scantable(self._math._unaryop(self, factor, "MUL", tsys)) 1539 1533 s._add_history("scale", varlist) 1540 print_log()1541 1534 if insitu: 1542 1535 self._assign(s) … … 1580 1573 self._add_history("set_sourcetype", varlist) 1581 1574 1575 @print_log_dec 1582 1576 def auto_quotient(self, preserve=True, mode='paired'): 1583 1577 """ … … 1620 1614 s = scantable(self._math._auto_quotient(self, mode, preserve)) 1621 1615 s._add_history("auto_quotient", varlist) 1622 print_log()1623 1616 return s 1624 1617 1618 @print_log_dec 1625 1619 def mx_quotient(self, mask = None, weight='median', preserve=True): 1626 1620 """ … … 1642 1636 q = quotient(on, off, preserve) 1643 1637 q._add_history("mx_quotient", varlist) 1644 print_log()1645 1638 return q 1646 1639 1640 @print_log_dec 1647 1641 def freq_switch(self, insitu=None): 1648 1642 """ … … 1660 1654 s = scantable(self._math._freqswitch(self)) 1661 1655 s._add_history("freq_switch", varlist) 1662 print_log()1663 1656 if insitu: self._assign(s) 1664 1657 else: return s 1665 1658 1659 @print_log_dec 1666 1660 def recalc_azel(self): 1667 1661 """ … … 1674 1668 self._recalcazel() 1675 1669 self._add_history("recalc_azel", varlist) 1676 print_log()1677 1670 return 1678 1671 1672 @print_log_dec 1679 1673 def __add__(self, other): 1680 1674 varlist = vars() … … 1687 1681 raise TypeError("Other input is not a scantable or float value") 1688 1682 s._add_history("operator +", varlist) 1689 print_log()1690 1683 return s 1691 1684 1685 @print_log_dec 1692 1686 def __sub__(self, other): 1693 1687 """ … … 1703 1697 raise TypeError("Other input is not a scantable or float value") 1704 1698 s._add_history("operator -", varlist) 1705 print_log()1706 1699 return s 1707 1700 1701 @print_log_dec 1708 1702 def __mul__(self, other): 1709 1703 """ … … 1719 1713 raise TypeError("Other input is not a scantable or float value") 1720 1714 s._add_history("operator *", varlist) 1721 print_log()1722 1715 return s 1723 1716 1724 1717 1718 @print_log_dec 1725 1719 def __div__(self, other): 1726 1720 """ … … 1730 1724 s = None 1731 1725 if isinstance(other, scantable): 1732 1726 s = scantable(self._math._binaryop(self, other, "DIV")) 1733 1727 elif isinstance(other, float): 1734 1728 if other == 0.0: … … 1738 1732 raise TypeError("Other input is not a scantable or float value") 1739 1733 s._add_history("operator /", varlist) 1740 print_log()1741 1734 return s 1742 1735 … … 1764 1757 basesel = self.get_selection() 1765 1758 for i in range(self.nrow()): 1766 sel = selector()+basesel 1767 sel.set_scans(self.getscan(i)) 1768 sel.set_beams(self.getbeam(i)) 1769 sel.set_ifs(self.getif(i)) 1770 sel.set_polarisations(self.getpol(i)) 1771 self.set_selection(sel) 1759 sel = self.get_row_selector(i) 1760 self.set_selection(basesel+sel) 1772 1761 nans = numpy.isnan(self._getspectrum(0)) 1773 1762 if numpy.any(nans):
Note: See TracChangeset
for help on using the changeset viewer.