{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "uv_manipulation.ipynb", "provenance": [], "toc_visible": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "NVcSv0sX0EDK" }, "source": [ "# UV Manipulation \n", "\n", "How to modify visibility data in CASA\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "haF8Ar6e0EDK" }, "source": [ "## Modify UV-data: mstransform \n", "\n", "**mstransform** is a multipurpose task that provides all the functionality of **split**, **partition**, **cvel**, **hanningsmooth**, **uvcontsub** and **applycal** with the possibility of applying each of these transformations separately or together in an in-memory pipeline, thus avoiding unnecessary I/O steps. The list of transformations that **mstransform** can apply is as follows:\n", "\n", "1. Data selection and re-indexing\n", "2. Data partitioning (create output Multi-MS)\n", "3. On-the-fly calibration (via \"Cal Library\")\n", "4. Time averaging (weighted and baseline dependent)\n", "5. UV continuum subtraction\n", "6. Combination of spectral windows\n", "7. Channel averaging (weighted)\n", "8. Hanning smoothing\n", "9. Spectral regridding and reference frame transformation\n", "10. Separation of spectral windows\n", "\n", "Notice that the order in the above list is not arbitrary. When various transformations are applied on the data using **mstransform**, the order in which the transformations are piped one after the other is the one shown in the above list. These operations are described in the sections that follow.\n", "\n", "Besides **mstransform** in itself, there are a series of tasks which perform only the individual operations: **split**, **hanningsmooth** and **cvel2**. Under the hood these are all based on the mstransform framework; they are provided to facilitate back compatibility, and for simplicity in cases where only the simpler operations are needed. Notice that as of CASA 4.6, the **mstransform** based versions of **split** and **hanningsmooth** are the default ones, whereas **cvel** still is based on the old implementation by default, and the **cvel2** interface points to the **mstransform** implementation.\n", "\n", "\n", "\n", "***\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "jDgT-h4m0EDK" }, "source": [ "## Manipulate spectral windows \n", "\n", "How to combine, separate, and Hanning smooth spectral windows in mstransform\n", "\n", "**Combination of spectral windows**\n", "\n", "Both **mstransform** and **cvel2** are able to combine SPWs (in **mstransform** by specifying *combinespws = True* and in **cvel2** by default). The algorithm is in general the same as the old **cvel**, however, there are two significant differences in the new framework:\n", "\n", "- **mstransform** is able to only combine SPWs, only regrid each SPW separately or to combine all SPWs and **regrid** them together. The details about independent regridding operations are explained in the following sections. For instance, if you wish to do channel averaging while regridding in **mstransform**, please see the [section on channel averaging](uv_manipulation.ipynb#channel-average). \n", "- **mstransform** and **cvel2** automatically detect combination of SPWs with different exposure, and use the *WEIGHT* column (or *WEIGHT_SPECTRUM* if available) in addition to the geometrical factors to calculate the combined visibility in the overlapping regions.\n", "\n", "
Type Figure 1: ID Plot visualizing the corrected data (red and blue points) and the uv model fit (green circles). This particular plot was made using **plotxy**, which was deprecated in CASA 5.1 - use **plotms** instead.
\n", "\n", "\n", "**Bibliography**\n", "\n", "1. Marti-Vidal, I., Vlemmings, W.H.T., Muller, S., & Casey, S. 2014, A&A, 563, A136 ([ADS](http://adsabs.harvard.edu/abs/2014A%26A...563A.136M))\n", "1. Marti-Vidal et al. 2014, A&A 563, 136 ([arXiv:1401.4984](http://arxiv.org/abs/1401.4984))\\\n", "\n", "\n", "\n", "\n", "\n" ] } ] }