; UVLSF ;--------------------------------------------------------------- ;! least squares fit to channels and subtracts from uv data. ;# TASK UV SPECTRAL EDITING ;----------------------------------------------------------------------- ;; Copyright (C) 1995-1997, 1999-2001, 2007-2008, 2010 ;; Associated Universities, Inc. Washington DC, USA. ;; ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as ;; published by the Free Software Foundation; either version 2 of ;; the License, or (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public ;; License along with this program; if not, write to the Free ;; Software Foundation, Inc., 675 Massachusetts Ave, Cambridge, ;; MA 02139, USA. ;; ;; Correspondence concerning AIPS should be addressed as follows: ;; Internet email: aipsmail@nrao.edu. ;; Postal address: AIPS Project Office ;; National Radio Astronomy Observatory ;; 520 Edgemont Road ;; Charlottesville, VA 22903-2475 USA ;----------------------------------------------------------------------- UVLSF LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC UVLSF Least squares fit baseline and subtracts from uv data. INNAME Input UV file name (name) INCLASS Input UV file name (class) INSEQ 0.0 9999.0 Input UV file name (seq. #) INDISK 0.0 9.0 Input UV file disk unit # SOURCES Source name QUAL -10.0 Calibrator qualifier -1=>all CALCODE Calibrator code ' '=>all TIMERANG Time range to use SELBAND Bandwidth to select (kHz) SELFREQ Frequency to select (MHz) FREQID Freq. ID to select. SUBARRAY 0.0 1000.0 Sub-array, 0=>all BIF Low IF number to do EIF Highest IF number to do DOCALIB -1.0 101.0 > 0 calibrate data & weights > 99 do NOT calibrate weights GAINUSE CL (or SN) table to apply DOPOL -1.0 10.0 If >0.5 correct polarization. PDVER PD table to apply (DOPOL>0) BLVER BL table to apply. FLAGVER Flag table version DOBAND -1.0 10.0 If >0.5 apply bandpass cal. Method used depends on value of DOBAND (see HELP file). BPVER Bandpass table version SMOOTH Smoothing function. See HELP SMOOTH for details. DOACOR Include autocorrelations? OUTNAME Output UV file name (name) OUTCLASS Output UV file name (class) OUTSEQ -1.0 9999.0 Output UV file name (seq. #) OUTDISK 0.0 9.0 Output UV file disk unit #. BCHAN Lowest channel to write ECHAN Highest channel to write ICHANSEL Select channels to fit: NOTE this is start,end,increment and IF for each region ORDER -4.0 4.0 Order of fit line (0 -> DC) < 0 => add contiuum of CHANNEL back to line data DOOUTPUT -1.0 1.0 > 0 => write fit baseline as a continuum uv data base CHANNEL -16384.0 1634.0 Channel of fit to be written as continuum: 0 -> reference FLUX 0.0 Flag data if residual flux in any fit channel is > FLUX 0 -> 10**20 CUTOFF 0.0 Flag data if RMS of residual in fit channels > CUTOFF 0 -> 10**20 SHIFT Shift in asec at ref position ---------------------------------------------------------------- UVLSF Task: This task does a spectral baseline subtraction. It fits a straight line to the real and imaginary parts of selected channels and subtracts the fitted baseline from the spectrum. Optionally, it can flag data having excess residuals in the channels used for the baseline fitting. This is a good method for detecting and deleting data damaged by RFI. See task FLGIT for a more powerful RFI excision task and UVMLN for a task dealing with multi-source data with FG tables. Adverbs: INNAME.....Input UV file name (name). Standard defaults. INCLASS....Input UV file name (class). Standard defaults. INSEQ......Input UV file name (seq. #). 0 => highest. INDISK.....Disk drive # of input UV file. 0 => any. SOURCES....Source to be baselined. ' '=> all; if any starts with a '-' then all except ANY source named. Only one source may be done at a time. QUAL.......Qualifier of source to be baselined. -1 => all. CALCODE....Calibrator code of sources to baseline. ' '=> all. TIMERANG...Time range of the data to be copied. In order: Start day, hour, min. sec, end day, hour, min. sec. Days relative to ref. date. SELBAND....Bandwidth of data to be selected. If more than one IF is present SELBAND is the width of the first IF required. Units = kHz. For data which contain multiple bandwidths/frequencies the task will insist that some form of selection be made by frequency or bandwidth. SELFREQ....Frequency of data to be selected. If more than one IF is present SELFREQ is the frequency of the first IF required. Units = MHz. FREQID.....Frequency identifier to select (you may determine which is applicable from the OPTYPE='SCAN' listing produced by LISTR). If either SELBAND or SELFREQ are set, their values override that of FREQID. However, setting SELBAND and SELFREQ may result in an ambiguity. In that case, the task will request that you use FREQID. SUBARRAY...Sub-array number to copy. 0=>all. BIF........First IF to include. 0 -> 1. EIF........Last IF to include. 0 -> max. DOCALIB....If true (>0), calibrate the data using information in the specified Cal (CL) table for multi-source or SN table for single-source data. Also calibrate the weights unless DOCALIB > 99 (use this for old non-physical weights). GAINUSE....version number of the CL table to apply to multi-source files or the SN table for single source files. 0 => highest. DOPOL......If > 0 then correct data for instrumental polarization as represented in the AN or PD table. This correction is only useful if PCAL has been run or feed polarization parameters have been otherwise obtained. See HELP DOPOL for available correction modes: 1 is normal, 2 and 3 are for VLBI. 1-3 use a PD table if available; 6, 7, 8 are the same but use the AN (continuum solution) even if a PD table is present. PDVER......PD table to apply if PCAL was run with SPECTRAL true and 0 < DOPOL < 6. <= 0 => highest. BLVER......Version number of the baseline based calibration (BL) table to apply. <0 => apply no BL table, 0 => highest. FLAGVER....specifies the version of the flagging table to be applied. 0 => highest numbered table. <0 => no flagging to be applied. DOBAND.....If true (>0) then correct the data for the shape of the antenna bandpasses using the BP table specified by BPVER. The correction has five modes: (a) if DOBAND=1 all entries for an antenna in the table are averaged together before correcting the data. (b) if DOBAND=2 the entry nearest in time (including solution weights) is used to correct the data. (c) if DOBAND=3 the table entries are interpolated in time (using solution weights) and the data are then corrected. (d) if DOBAND=4 the entry nearest in time (ignoring solution weights) is used to correct the data. (e) if DOBAND=5 the table entries are interpolated in time (ignoring solution weights) and the data are then corrected. IMAGR uses DOBAND as the nearest integer; 0.1 is therefore "false". BPVER......Specifies the version of the BP table to be applied 0 => highest numbered table. <0 => no bandpass correction to be applied. SMOOTH.....Specifies the type of spectral smoothing to be applied to a uv database . The default is not to apply any smoothing. The elements of SMOOTH are as follows: SMOOTH(1) = type of smoothing to apply: 0 => no smoothing To smooth before applying bandpass calibration 1 => Hanning, 2 => Gaussian, 3 => Boxcar, 4 => Sinc To smooth after applying bandpass calibration 5 => Hanning, 6 => Gaussian, 7 => Boxcar, 8 => Sinc SMOOTH(2) = the "diameter" of the function, i.e. width between first nulls of Hanning triangle and sinc function, FWHM of Gaussian, width of Boxcar. Defaults (if < 0.1) are 4, 2, 2 and 3 channels for SMOOTH(1) = 1 - 4 and 5 - 8, resp. SMOOTH(3) = the diameter over which the convolving function has value - in channels. Defaults: 1,3,1,4 times SMOOTH(2) used when input SMOOTH(3) < net SMOOTH(2). DOACOR.....> 0 => include autocorrelations as well as cross correlation data. OUTNAME....Output UV file name (name). Standard defaults. OUTCLASS...Output UV file name (class). Standard defaults. OUTSEQ.....Output UV file name (seq. #). 0 => highest unique OUTDISK....Disk drive # of output UV file. 0 => highest with space for the file. BCHAN......Lowest channel number in the input file to write to the output file. 0=> 1. ECHAN......Highest channel number in the input file to write to the output file. 0=> highest in input data. ICHANSEL...Select up to 20 groups of channels/IF(s) to fit as sets of (Start,end,inc,IF), i.e., ICHANSEL = 6,37,1,0, 92,123,1,0 for two regions applying to all IFs. The first group for which ICHANSEL(2,i) <= 0 ends the list. Defaults: Any IF having no group assigned to it, gets a group including all channels. ICHANSEL(1,j) defaults to 1, 0 < ICHANSEL(2,j) < ICHANSEL(1,j) defaults to Nchan. ICHANSEL(3,j) < 1 or > ICHANSEL(2,j)-ICHANSEL(1,j)+1 defaults to 1. ICHANSEL(4) <= 0 => this group applies to all IFs. ORDER......Normally the fit should be done with a first order polynomial, namely a DC term and a slope. If only one box is used, the slope may not be adequately defined and a simple DC term for the real and for the imaginary parts would be more reliable. ********************************************************** Experimentally, for special transition problems with the VLA, ORDER is allowed to go up to 4. If ORDER = -n is entered, then the fit is done with order n and the fit value at channel CHANNEL is added back to all of the line channels. This leaves one with a data set containing continuum and line signal, but with channel-dependent problems in the continuum suppressed. ********************************************************** DOOUTPUT...<= 0 => write out only the subtracted uv data. > 0 => write also a data set with the fit baseline as visibilities. CHANNEL....When DOOUTPUT > 0, write the continuum data with the fit evaluated at spectral channel CHANNEL. 0 => reference channel. FLUX.......If the residual flux in any channel used to fit the baseline exceeds FLUX, then the spectrum for that time, IF, and polarization is fully flagged. <= 0 => 1.0E20 CUTOFF.....If the RMS flux in the channels used to fit the baseline exceeds CUTOFF, then the spectrum for that time, IF, and polarization is fully flagged. <= 0 => 1.0E20 SHIFT......Shift in arcseconds during fitting process. The data are shifted, fitted, flagged and then shifted back. These are shifts in arc seconds at the reference point - RA = RA0 + SHIFT(1)/cos(DEC0), DEC = DEC0 + SHIFT(2) ---------------------------------------------------------------- UVLSF: Task which subtracts continuum from channels in UV-plane DOCUMENTOR: H.J. van Langevelde (Sterrewacht Leiden) RELATED TASKS: UVLIN, UVBAS PURPOSE UVLSF will estimate the continuum visibilities and subtract these from a specified range of channels, hopefully leaving only the information about spectral features in the output UV-file. It fits, by least squares, a straight line to the to the real and imaginary parts of the selected channels. This baseline is subtracted from the spectrum. This can only work properly if the UV coverage is the same for all spectral line channels. It can, however, deal with frequency dependent flagging. PHASE SHIFTING Since UVLSF works perfectly for a single point source at the phase center, one should shift any dominant point source to the phase center prior to the fitting process. Note that UVFIX now does this correctly since it does the relative phase shift between channels. The shift option is offered here for convenience and since THE SHIFT IS UNDONE AFTER THE FIT. The sense of the shift is the same as in UVFIX. The code for computing the shift is: DTORAD = 3.14159265358979326D0 / 180.0D0 RA = RA0 + SHIFT(1) / 3600./ COS (DTORAD * DEC0) DEC = DEC0 + SHIFT(2) / 3600. DXC = SIN (DTORAD * (RA - RA0)) * COS (DEC * DTORAD) DYC = COS (DEC0 * DTORAD) * SIN (DEC * DTORAD) - * SIN (DEC0 * DTORAD) * COS (DEC * DTORAD) * * COS ((RA - RA0) * DTORAD) DZC = SIN (DTORAD * DEC0) * SIN (DTORAD * DEC) + * COS (DTORAD * DEC0) * COS (DTORAD * DEC) + * COS (DTORAD * (RA - RA0)) - 1.0D0 The necessary values for SHIFT can be measured from an image in arc seconds or have position routines return true coordinates which must be corrected by multiplying by cos(declination) in RA. COMMENTS This task has proved to be powerful in problems where bandwith is small and extended continuum emission has to be removed. Its accuracy is limited by the fact that the visibilities in the uv plane change over the bandwith. The errors made in the approximation of the continuum visibility -- and thus in the subtraction -- can be estimated as: d V d u d V L D V = --- * --- * D v = --- * --- * D v L d u d v d u c Where D V is the error, D v the bandwith over which we try to do this and u a coordinate in UV-plane. L is the baseline length specified in the same units as those used for c, the speed of light. The formula tells us that UVLSF should do an accurate job on short baselines and/or small bandwith, provided there is a reasonably smooth signature in the UV-plane. That means that it will generally not work for a field dominated by discrete (point) sources. It will work better if the dominant point source is shifted to the filed center. Use UVFIX which now does a correct shift for spectral data. In comparison with the method of cleaning the background and UVSUB the components from the spectral line channels, this method has the main advantages that it is 1) much faster, 2) will work when the background is difficult to model with clean components. When point- sources are the main source of continuum emission the UVSUB method is perfectly suited. In some cases a hybrid method may be advantageous. In comparison with averaging maps to estimate the continuum, this method is again faster and more reliable, since there will be no sidelobs of the continuum in the map. The output data set can also be a powerful diagnostic tool. In principle, the data can be used to apply selfcal on your spectral line data. UVLSF differs from UVLIN in a number of ways. UVLIN does its flagging only on the peak residual in the channels selected for fitting and scales the peak by the square root of the weight before deciding on flagging. This is correct for peak residuals due solely to thermal noise (and reflected correctly in the data weights), but is an added confusion to the user. In any case, you should set the FLUX cutoff at a conservative level (6 - 8 times the expected sigma in the integration time typical for the current data set). The CUTOFF test is better for spectra that do not fit the linear model or are just excessively noisy for some reason. UVLSF offers the option of writing the fit continuum as a UV data set which can be used for self-cal, TVFLG editing, etc. UVBAS fits the linear baseline in amplitude and phase rather than real and imaginary. If the emission is well off the center of the field, the amplitude and phase are more likely to be nearly linear than the real and imaginary parts. However, the amplitude does not have Gaussian noise statistics and UVBAS is therefore suspect in low signal-to-noise ratio cases. REFERENCES See Cornwell, Uson and Haddad (Astron. Astrophys. 258, 583; 1992) for a detailed discussion which includes estimates of errors.