def execute(self): # set various attributes to self.scan self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # Average data if necessary self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight) # Reload plotter if necessary sd.plotter._assert_plotter(action="reload") # Set subplot layout if self.subplot > 10: row = int(self.subplot/10) col = (self.subplot % 10) sd.plotter.set_layout(rows=row,cols=col,refresh=False) else: if self.subplot > -1: casalog.post(("Invalid subplot value, %d, is ignored. It should be in between 11 and 99." % self.subplot),priority="WARN") sd.plotter.set_layout(refresh=False) # Set subplot margins if self.margin != sd.plotter._margins: sd.plotter.set_margin(margin=self.margin,refresh=False) # Actual plotting getattr(self,'plot_%s'%(self.plottype))()
def execute(self): # set various attributes to self.scan self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # Average data if necessary self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight) # Reload plotter if necessary sd.plotter._assert_plotter(action="reload") # Set subplot layout if self.subplot > 10: row = int(self.subplot / 10) col = (self.subplot % 10) sd.plotter.set_layout(rows=row, cols=col, refresh=False) else: if self.subplot > -1: casalog.post(( "Invalid subplot value, %d, is ignored. It should be in between 11 and 99." % self.subplot), priority="WARN") sd.plotter.set_layout(refresh=False) # Set subplot margins if self.margin != sd.plotter._margins: sd.plotter.set_margin(margin=self.margin, refresh=False) # Actual plotting getattr(self, 'plot_%s' % (self.plottype))()
def execute(self): self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # Average data if necessary self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight) # restore self.fluxunit self.fluxunit = self.fluxunit_saved del self.fluxunit_saved self.calc_statistics()
def execute(self): self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # average data self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight) # restore fluxunit self.fluxunit = self.fluxunit_saved del self.fluxunit_saved self.result = dict.fromkeys(['nfit', 'peak', 'cent', 'fwhm'], []) self.fitparams = [] if self.assert_no_channel_selection_in_spw(mode='result'): maskline_dict = self.scan.parse_spw_selection(self.spw) valid_spw_list = [] for (k, v) in maskline_dict.items(): if len(v) > 0 and numpy.all(numpy.array(map(len, v)) > 0): valid_spw_list.append(k) sel_org = self.scan.get_selection() for irow in xrange(self.scan.nrow()): scantab = self.scan.get_row(irow, insitu=False) spw = scantab.getif(0) if not spw in valid_spw_list: continue maskline = maskline_dict[spw] self.maskline = maskline self.__set_linelist(scantab) self.__fit(scantab) ifs_org = sel_org.get_ifs() ifs_new = list(set(ifs_org) & set(valid_spw_list)) sel_org.set_ifs(ifs_new) self.scan.set_selection(sel_org) else: self.maskline = [] self.__set_linelist() self.__fit()
def execute(self): # set various attributes to self.scan self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False #Average within each scan self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight, self.averageall) engine = sdsmooth_engine(self) # Smoothing if self.kernel not in ['', 'none']: engine.initialize() # Actual implementation is defined outside the class # since those are used in task_sdreduce. engine.execute() engine.finalize()
def execute(self): self.set_to_scan() #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # average data self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight) # restore fluxunit self.fluxunit = self.fluxunit_saved del self.fluxunit_saved self.result = dict.fromkeys(['nfit','peak','cent','fwhm'],[]) self.fitparams = [] if self.assert_no_channel_selection_in_spw(mode='result'): maskline_dict = self.scan.parse_spw_selection(self.spw) valid_spw_list = [] for (k,v) in maskline_dict.items(): if len(v) > 0 and numpy.all(numpy.array(map(len, v)) > 0): valid_spw_list.append(k) sel_org = self.scan.get_selection() for irow in xrange(self.scan.nrow()): scantab = self.scan.get_row(irow, insitu=False) spw = scantab.getif(0) if not spw in valid_spw_list: continue maskline = maskline_dict[spw] self.maskline = maskline self.__set_linelist(scantab) self.__fit(scantab) ifs_org = sel_org.get_ifs() ifs_new = list(set(ifs_org) & set(valid_spw_list)) sel_org.set_ifs(ifs_new) self.scan.set_selection(sel_org) else: self.maskline = [] self.__set_linelist() self.__fit()
def execute(self): # calibration stage casalog.post("*** sdcal stage ***") self.verify = self.verifycal engine = task_sdcal.sdcal_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() ## task_sdcal.prior_plot(self.scan, self.plotlevel) ## self.scan = task_sdcal.docalibration(self.scan, self.calmode, ## self.fraction, ## self.noff, self.width, ## self.elongated, ## self.markonly, self.plotpointings, ## self.verifycal) # apply input parameters self.set_to_scan() # opacity correction sdutil.doopacity(self.scan, self.tau) ## channel splitting #sdutil.dochannelrange(self.scan, self.channelrange) #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # averaging stage if self.average: self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight, self.averageall) else: casalog.post("No averaging was applied...") ## task_sdcal.posterior_plot(self.scan, self.project, self.plotlevel) engine.finalize() del engine # smoothing stage casalog.post("") casalog.post("*** sdsmooth stage ***") if self.kernel.lower() not in ['none', '']: self.verify = self.verifysm engine = task_sdaverage.sdsmooth_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() engine.finalize() del engine else: casalog.post("No smoothing was applied...") # baseline stage casalog.post("") casalog.post("*** sdbaseline stage ***") if self.blfunc != 'none': self.verify = self.verifybl self.verbose = self.verbosebl engine = task_sdbaseline.sdbaseline_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() engine.finalize() del engine else: casalog.post("No baseline subtraction was applied...")
def execute(self): # calibration stage casalog.post( "*** sdcal stage ***" ) self.verify = self.verifycal engine = task_sdcal.sdcal_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() ## task_sdcal.prior_plot(self.scan, self.plotlevel) ## self.scan = task_sdcal.docalibration(self.scan, self.calmode, ## self.fraction, ## self.noff, self.width, ## self.elongated, ## self.markonly, self.plotpointings, ## self.verifycal) # apply input parameters self.set_to_scan() # opacity correction sdutil.doopacity(self.scan, self.tau) ## channel splitting #sdutil.dochannelrange(self.scan, self.channelrange) #WORKAROUND for new tasks (in future this should be done in sdutil) if not self.timeaverage: self.scanaverage = False # averaging stage if self.average: self.scan = sdutil.doaverage(self.scan, self.scanaverage, self.timeaverage, self.tweight, self.polaverage, self.pweight, self.averageall) else: casalog.post( "No averaging was applied..." ) ## task_sdcal.posterior_plot(self.scan, self.project, self.plotlevel) engine.finalize() del engine # smoothing stage casalog.post( "" ) casalog.post( "*** sdsmooth stage ***" ) if self.kernel.lower() not in ['none', '']: self.verify = self.verifysm engine = task_sdaverage.sdsmooth_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() engine.finalize() del engine else: casalog.post( "No smoothing was applied..." ) # baseline stage casalog.post( "" ) casalog.post( "*** sdbaseline stage ***") if self.blfunc != 'none': self.verify = self.verifybl self.verbose = self.verbosebl engine = task_sdbaseline.sdbaseline_engine(self) engine.initialize() engine.execute() ## self.scan = engine.get_result() engine.finalize() del engine else: casalog.post( "No baseline subtraction was applied..." )