Commits
776 776 | if self.phasecenter == "": |
777 777 | # defaut is J2000 |
778 778 | base_mref = 'J2000' |
779 779 | elif isinstance(self.phasecenter, int) or self.phasecenter.isdigit(): |
780 780 | # may be field id |
781 781 | self.open_table(self.field_table) |
782 782 | base_mref = self.table.getcolkeyword('PHASE_DIR', 'MEASINFO')['Ref'] |
783 783 | self.close_table() |
784 784 | else: |
785 785 | # may be phasecenter is explicitly specified |
786 - | pattern = '^([\-\+]?[0-9.]+([eE]?-?[0-9])?)|([\-\+]?[0-9][:h][0-9][:m][0-9.]s?)|([\-\+]?[0-9][.d][0-9][.d][0-9.]s?)$' |
786 + | # numeric value: 3.14, -.3e1, etc. |
787 + | numeric_pattern = r'[-+]?([0-9]+(.[0-9]*)?|\.[0-9]+)([eE]-?[0-9])?' |
788 + | # HMS string: 9:15:29, -9h15m29 |
789 + | hms_pattern = r'[-+]?[0-9]+[:h][0-9]+[:m][0-9.]+s?' |
790 + | # DMS string: 9.15.29, -9d15m29s |
791 + | dms_pattern = r'[-+]?[0-9]+[.d][0-9]+[.m][0-9.]+s?' |
792 + | # composite pattern |
793 + | pattern = fr'^({numeric_pattern}|{hms_pattern}|{dms_pattern})$' |
787 794 | items = self.phasecenter.split() |
788 795 | base_mref = 'J2000' |
789 796 | for i in items: |
790 797 | s = i.strip() |
791 798 | if re.match(pattern, s) is None: |
792 799 | base_mref = s |
793 800 | break |
794 801 | |
795 802 | mapextent = self.imager.mapextent(ref=base_mref, movingsource=self.ephemsrcname, |
796 803 | pointingcolumntouse=colname) |