Commits
R. V. Urvashi authored d2577a0110f Merge
79 79 | if 'niter' in msg: |
80 80 | try: |
81 81 | self._niter = int(msg['niter']) |
82 82 | except ValueError: |
83 83 | pass |
84 84 | if 'cycleniter' in msg: |
85 85 | try: |
86 86 | self._cycleniter = int(msg['cycleniter']) |
87 87 | except ValueError: |
88 88 | pass |
89 + | if 'nmajor' in msg: |
90 + | try: |
91 + | self._nmajor = int(msg['nmajor']) |
92 + | except ValueError: |
93 + | pass |
89 94 | if 'threshold' in msg: |
90 95 | self._threshold = msg['threshold'] |
91 96 | if 'cyclefactor' in msg: |
92 97 | try: |
93 98 | self._cyclefactor = int(msg['cyclefactor']) |
94 99 | except ValueError: |
95 100 | pass |
96 101 | if 'mask' in msg: |
97 102 | self._mask = msg['mask'] |
98 103 | |
99 104 | def __init__( self, vis, imagename, imsize=[100], cell="1arcsec", specmode='cube', nchan=-1, start='', |
100 105 | width='', interpolation='linear', gridder='standard', pblimit=0.2, deconvolver='hogbom', |
101 - | niter=0, threshold='0.1Jy', cycleniter=-1, cyclefactor=1.0, scales=[], |
106 + | niter=0, threshold='0.1Jy', cycleniter=-1, nmajor=1, cyclefactor=1.0, scales=[], |
102 107 | history_filter=lambda index, arg, history_value: history_value ): |
103 108 | self._vis = vis |
104 109 | self._imagename = imagename |
105 110 | self._imsize = imsize |
106 111 | self._cell = cell |
107 112 | self._specmode = specmode |
108 113 | self._nchan = nchan |
109 114 | self._start = start |
110 115 | self._width = width |
111 116 | self._interpolation = interpolation |
112 117 | self._gridder = gridder |
113 118 | self._pblimit = pblimit |
114 119 | self._deconvolver = deconvolver |
115 120 | self._niter = niter |
116 121 | self._threshold = threshold |
117 122 | self._cycleniter = cycleniter |
123 + | self._nmajor = nmajor |
118 124 | self._cyclefactor = cyclefactor |
119 125 | self._mask = '' |
120 126 | self._scales = scales |
121 127 | self._exe_cmds = [ ] |
122 128 | self._history_filter = history_filter |
123 129 | |
124 130 | if len(list(filter(lambda f: os.path.isdir(f) and f.startswith(self._imagename + '.'), os.listdir( os.curdir )))) > 0: |
125 131 | raise RuntimeError("image files already exist") |
126 132 | self._convergence_result = (None,None) |
127 133 | |
213 219 | cyclefactor=self._cyclefactor, scales=self._scales, interactive=0, |
214 220 | |
215 221 | niter=1, gain=0.000001 ) |
216 222 | else: |
217 223 | tclean_ret = self._tclean( vis=self._vis, imagename=self._imagename, imsize=self._imsize, cell=self._cell, |
218 224 | specmode=self._specmode, interpolation=self._interpolation, nchan=self._nchan, |
219 225 | start=self._start, width=self._width, pblimit=self._pblimit, deconvolver=self._deconvolver, |
220 226 | cyclefactor=self._cyclefactor, scales=self._scales, interactive=0, |
221 227 | |
222 228 | niter=self._niter, restart=True, calcpsf=False, calcres=False, |
223 - | threshold=self._threshold, cycleniter=self._cycleniter, |
229 + | threshold=self._threshold, cycleniter=self._cycleniter, nmajor=self._nmajor, |
224 230 | maxpsffraction=1, minpsffraction=0, mask=self._mask ) |
225 231 | |
226 232 | new_summaryminor_rec = gclean.__filter_convergence(tclean_ret['summaryminor']) |
227 233 | self._convergence_result = ( tclean_ret['stopcode'] if 'stopcode' in tclean_ret else 0, |
228 234 | gclean.__update_convergence(self._convergence_result[1],new_summaryminor_rec) ) |
229 235 | return self._convergence_result |
230 236 | |
231 237 | def __reflect_stop( self ): |
232 238 | ## if python wasn't hacky, you would be able to try/except/raise in lambda |
233 239 | try: |