u = 0 RFI

Description and impact

Very faint, coherent horizontal stripes are seen in continuum-subtracted HI datacubes. Fourier transforms of these stripes show a peak at u = 0 in the (u,v) plane. This effect can be seen in relatively short (10 hour) integration times and is primarily on the short baselines.

This affects the detection and analysis of faint extended HI gas that can lie over and between the stripes.

For detailed information please see the memo by Maccagni et al. (2022).

The root cause of the RFI has not yet been identified. In the meantime, we advise users to be aware of the problem and to proceed with caution when extracting faint low surface brightness features from datacubes. Recommended flagging strategies are described below.


Figure 1: Moment-0 map built by SoFiA with a threshold cutoff on the S/N of 2σ. This source finder erroneously identifies the stripes as coherent source structures.

How to identify the problem

Binning sufficient channels from continuum-subtracted data, or accumulating very long integrations, will show evenly-spaced horizontal stripes (see Figs. 1 and 2). These artefacts are present in both wide-band and narrow band modes but not visible in a single channel of the narrow band observations.

The RFI is persistent but variable in magnitude over time. There is some evidence that it is stronger at lower elevations.

Figure 2: Image (and its FFT) of a wide-band observation built binning together 20 line-free channels

How to deal with it

Below we explain how the MHONGOOSE and Fornax surveys have dealt with the issue. Note also that this flagging method was implemented in a release of CARACal in late 2022, through which it is available to the general user community. Please contact the helpdesk if you think your data products have been affected and you require further assistance.

The following strategy has been successfully tested on 55-hour datacubes for the MHONGOOSE project.


In python:

  • casacore.tables

  • casatasks.mstransform

  • casatools.image

  • scipy.stats


  • wsclean


Input data: continuum subtracted visibility file (MS-file in casa format)

  1. Split the visibility file per target scan (using mstransform)

    1. On each scan

    2. create a 2D-image from a large enough (~26 kHz) line-free band (using wsclean)

    3. FFT the 2D-image (using casatools.image.fft)

    4. compute the median absolute deviation (mad) of the amplitudes of the FFT visibilities (using the scipy.stats function median_abs_deviation)

    5. identify in the uv-plane the coordinates of the amplitudes in the FFT above, for example median+300*(mad)

    6. create a mask with the u,v coordinates of the visibilities to flag

    7. flag over the full bandwidth the visibilities within the mask (using casacore.tables)

  2. Recombine the now flagged scans into a single stripe-free measurement set

You can now proceed with your imaging.


There is an AIPS task UVNOU which flags points close to u = 0. However, it will overflag the stripes since it flags points close to u = 0 for all v-coordinates.