{ "cells": [ { "cell_type": "markdown", "id": "dbeac651-ef3e-4c42-a5e9-bee22cd0f171", "metadata": {}, "source": [ "# Preparing data" ] }, { "cell_type": "markdown", "id": "628bb0c9-6cfe-4fed-a4c9-6064c497ac8e", "metadata": {}, "source": [ "In this notebook, we process interferometric measurement sets and create one-dimentional azimuthally averaged visibilities.\n", "If you already have such data, please proceed to [the next section](tutorial_1.ipynb)." ] }, { "cell_type": "markdown", "id": "544644f4-3c14-49da-ad04-ff62a8edb17c", "metadata": {}, "source": [ "## 1. Import modules" ] }, { "cell_type": "markdown", "id": "46892bcf-04f7-4cc7-b5ac-644f78a2445c", "metadata": {}, "source": [ "We import `frappe` and some modules first." ] }, { "cell_type": "code", "execution_count": null, "id": "ce9a556d-f791-411d-8dc2-c2a1d25b5531", "metadata": {}, "outputs": [], "source": [ "from frap import msdata\n", "import casatasks\n", "import casatools" ] }, { "cell_type": "markdown", "id": "9610b68f-a6ce-402b-a7bd-f0f579a45965", "metadata": {}, "source": [ "## 2. Process data" ] }, { "cell_type": "markdown", "id": "10caed0f-2652-41d0-a813-6b1e47aa38de", "metadata": {}, "source": [ "The CASA measurement sets have sometimes very complex structure. For a simple treatment, we first split the dataset into individual spectral windows." ] }, { "cell_type": "code", "execution_count": 9, "id": "336670b8-a116-47e5-8263-f9da4c0ff496", "metadata": {}, "outputs": [], "source": [ "ms = msdata.ms( casatools = casatools, casatasks = casatasks )" ] }, { "cell_type": "code", "execution_count": 14, "id": "555a7834-1dcc-4244-8e9e-3473a0ca09d4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Created working directory: ./working_HD169142_band9\n" ] } ], "source": [ "splitted_vis = ms.split( vis = './HD169142_band9.ms', datacolumn='DATA', dryrun = False )" ] }, { "cell_type": "markdown", "id": "5e5a040d-a06d-429c-acbc-100363b95152", "metadata": {}, "source": [ "``splitted_vis`` stored the paths of the splitted ms. If ``dryrun == True`` , the function just returns the expected paths without actually splitting the ms." ] }, { "cell_type": "code", "execution_count": 15, "id": "9b6c904e-1175-480f-b61c-d6f968fbfbe1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['./working_HD169142_band9/spw_id_0.ms',\n", " './working_HD169142_band9/spw_id_1.ms',\n", " './working_HD169142_band9/spw_id_2.ms',\n", " './working_HD169142_band9/spw_id_3.ms',\n", " './working_HD169142_band9/spw_id_4.ms',\n", " './working_HD169142_band9/spw_id_5.ms',\n", " './working_HD169142_band9/spw_id_6.ms',\n", " './working_HD169142_band9/spw_id_7.ms',\n", " './working_HD169142_band9/spw_id_8.ms',\n", " './working_HD169142_band9/spw_id_9.ms',\n", " './working_HD169142_band9/spw_id_10.ms',\n", " './working_HD169142_band9/spw_id_11.ms',\n", " './working_HD169142_band9/spw_id_12.ms',\n", " './working_HD169142_band9/spw_id_13.ms',\n", " './working_HD169142_band9/spw_id_14.ms',\n", " './working_HD169142_band9/spw_id_15.ms',\n", " './working_HD169142_band9/spw_id_16.ms',\n", " './working_HD169142_band9/spw_id_17.ms',\n", " './working_HD169142_band9/spw_id_18.ms',\n", " './working_HD169142_band9/spw_id_19.ms',\n", " './working_HD169142_band9/spw_id_20.ms',\n", " './working_HD169142_band9/spw_id_21.ms',\n", " './working_HD169142_band9/spw_id_22.ms',\n", " './working_HD169142_band9/spw_id_23.ms']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "splitted_vis" ] }, { "cell_type": "markdown", "id": "c35fa14a-2786-4367-acb3-83b6d8dd1632", "metadata": {}, "source": [ "We now want one-dimenional binned visibilities ( $V(q)$ ).\n", "\n", "``get_visibilities()`` performs fitting of a two dimensional plane to visibility points inside a limited region on the frequency-uv space to estimate visibility values at representative coordinates, and saves them as a pickle file.\n", "\n", "In this example, we have a band 9 data. Therefore," ] }, { "cell_type": "code", "execution_count": 16, "id": "2d05a59b-48e4-4c97-8d29-9ed6b3d04c63", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Processing fitting: 100%|████████████████████| 340/340 [00:02<00:00, 119.73it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Saved visibility data to HD169142_band9.pkl\n" ] } ], "source": [ "ms.get_visibilities( vis = [splitted_vis],\n", " nu = [671.0e9],\n", " pa = 6.31,\n", " incl = 6.28,\n", " FoV = 10.0,\n", " output = 'HD169142_band9'\n", " )" ] }, { "cell_type": "markdown", "id": "fd65c884-de26-4fe0-9269-259b6f46a798", "metadata": {}, "source": [ "Sucesfully saved! In this case, we assumed that one frequency is enough to represent the whole data (i.e., the whole frequency range is small and linear approximation is valid). However, for instance, lower frequnency bands may have a much larger relative band width. In this case, you can make multiple channels by running:" ] }, { "cell_type": "code", "execution_count": null, "id": "15d646ba-ccc6-46db-820f-49bb1313619e", "metadata": {}, "outputs": [], "source": [ "# we do not run this cell in this notebook\n", "ms.get_visibilities( vis = [splitted_vis1, splitted_vis2],\n", " nu = [669.0e9, 672.0e9],\n", " pa = 6.31,\n", " incl = 6.28,\n", " FoV = 10.0,\n", " output = 'HD169142_band9'\n", " )" ] }, { "cell_type": "markdown", "id": "6f00b718-44ca-4933-afa1-a73ee10d9ffb", "metadata": {}, "source": [ "Here, for example, ``splitted_vis1`` and ``splitted_vis2`` correspond to the lower and upper side bands, respectively, and the two frequencies are used to represent them." ] }, { "cell_type": "markdown", "id": "68aa1205-4c31-4579-a07f-c90609932460", "metadata": {}, "source": [ "Annyway, let's check the results. You can access to the saved file with pickle." ] }, { "cell_type": "code", "execution_count": 17, "id": "418cd73b-6df9-4bb3-b572-7c820c4edeac", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "\n", "with open('HD169142_band9.pkl', 'rb') as f:\n", " data = pickle.load(f)\n", "\n", "q = data['q'] # uv-distance in lambda\n", "V = data['V'] # visibility in Jy\n", "s = data['s'] # uncertainty of V" ] }, { "cell_type": "code", "execution_count": 18, "id": "6f2b52b1-8a69-40c7-ad8f-03b8fef70395", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$V\\\\ ({\\\\rm Jy})$')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "inu = 0\n", "plt.errorbar(q[inu], V[inu], yerr = s[inu],\n", " capsize=0.1, fmt='o', markersize=1, elinewidth = 0.3 )\n", " \n", "\n", "plt.xlabel(r'$q\\ ({\\rm \\lambda})$')\n", "plt.ylabel(r'$V\\ ({\\rm Jy})$')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.18" } }, "nbformat": 4, "nbformat_minor": 5 }