Hanning Smooth UV-data
For strong spectral line sources (like RFI sources), the Gibbs phenomenon may cause ringing across the frequency channels of an observation. This is called the Gibbs phenomenon and a proven remedy is the Hanning smoothing algorithm. Hanning smoothing is a running mean across the spectral axis with a triangle as a smoothing kernel. The central channel is weighted by 0.5 and the two adjacent channels by 0.25 to preserve the flux; mathematically this is an N=5 sample Hann window kernel (including the outer-most zero-weight samples in the window). Hanning smoothing significantly reduces Gibbs ringing at the price of a factor of two in spectral resolution. Users should also be aware that it will introduce noise correlations between channels which can affect the interpretation of cross-channel chi-squared or uv-model fitting analyses.
The new hanningsmooth task (based on mstransform) does not write to the input MS, but it always creates an output MS. It can also handle a Multi-MS and process it in parallel (see more information here).
In CASA, the hanningsmooth task will apply Hanning smoothing to a spectral line uv data MeasurementSet. The inputs are:
# hanningsmooth :: Hanning smooth frequency channel data to remove Gibbs ringing
vis = '' # Name of input MeasurementSet or Multi-MS.
outputvis = '' # Name of output MeasurementSet or Multi-MS.
keepmms = True # If the input is a Multi-MS the output will also
be a Multi-MS.
field = '' # Select field using ID(s) or name(s).
spw = '' # Select spectral window/channels.
scan = '' # Select data by scan numbers.
antenna = '' # Select data based on antenna/baseline.
correlation = '' # Correlation: '' ==> all, correlation='XX,YY'.
timerange = '' # Select data by time range.
intent = '' # Select data by scan intent.
array = '' # Select (sub)array(s) by array ID number.
uvrange = '' # Select data by baseline length.
observation = '' # Select by observation ID(s).
feed = '' # Multi-feed numbers: Not yet implemented.
datacolumn = 'all' # Input data column(s) to process.
The datacolumn parameter determines which of the data columns is to be Hanning smoothed: ’all’, ’model’, ’corrected’, ’data’, ’float_data’ or ’lag_data’. ’all’ will use whichever of the visibility data columns that are present in the input MS. If ’corrected’ is specified, the task will smooth the input CORRECTED_DATA column and save the smoothed data in DATA of the output MS.
The Hanning smoothing transformation in mstransform is available via a single parameter, as shown below:
# Hanning smooth in mstransform
hanning = True # Hanning smooth data to remove Gibbs ringing