Source code for pipeline.hif.tasks.tclean.basecleansequence

import pipeline.infrastructure as infrastructure
from pipeline.hif.heuristics import cleanbox as cbheuristic
from .resultobjects import BoxResult

LOG = infrastructure.get_logger(__name__)


[docs]class BaseCleanSequence: def __init__(self, multiterm=None, gridder='', threshold='0.0mJy', sensitivity=0.0, niter=0): """Constructor. """ self.result = BoxResult() self.flux = None self.residuals = [] self.multiterm = multiterm self.gridder = gridder self.threshold = threshold self.sensitivity = sensitivity self.dr_corrected_sensitivity = sensitivity self.niter = niter
[docs] def iteration_result(self, model, restored, residual, flux, cleanmask, pblimit_image=0.2, pblimit_cleanmask=0.3, cont_freq_ranges=None): """This method sets the iteration counter and returns statistics for that iteration. """ self.flux = flux (residual_cleanmask_rms, residual_non_cleanmask_rms, residual_min, residual_max, nonpbcor_image_non_cleanmask_rms_min, nonpbcor_image_non_cleanmask_rms_max, nonpbcor_image_non_cleanmask_rms, pbcor_image_min, pbcor_image_max, residual_robust_rms, nonpbcor_image_robust_rms_and_spectra) = \ cbheuristic.analyse_clean_result(self.multiterm, model, restored, residual, flux, cleanmask, pblimit_image, pblimit_cleanmask, cont_freq_ranges) peak_over_rms = residual_max/residual_robust_rms LOG.info('Residual peak: %s', residual_max) LOG.info('Residual scaled MAD: %s', residual_robust_rms) LOG.info('Residual peak / scaled MAD: %s', peak_over_rms) # Append the statistics. self.residuals.append(residual) return residual_cleanmask_rms, \ residual_non_cleanmask_rms, \ residual_min, \ residual_max, \ nonpbcor_image_non_cleanmask_rms_min, \ nonpbcor_image_non_cleanmask_rms_max, \ nonpbcor_image_non_cleanmask_rms, \ pbcor_image_min, pbcor_image_max, \ residual_robust_rms, \ nonpbcor_image_robust_rms_and_spectra
[docs] def iteration(self): """The base boxworker allows only one iteration. """ return self.result