{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "casa6_demo.ipynb", "provenance": [], "toc_visible": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "6agG0dwApruX" }, "source": [ "# Modular CASA Demo\n", "\n", "Original Author: rraba@nrao.edu\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "4plpG0ksqJF7" }, "source": [ "## Description\n", "\n", "This notebook shows how to install the modular CASA 6 packages with some basic orientation:\n", "\n", "- locate the casadata folder\n", "- list the available tasks\n", "- find and print the log file\n", "- run a simple tclean command\n", "- view the output images with Astropy\n", "- view the output images with CARTA\n", "\n", "WARNING: when running this Notebook in Google Colab, CASA pip-wheel occasionally experience incompatibilities with recently upgraded Colab environments. Please check the Known Issues Section in CASA Docs when experiencing installation problems, or contact the CASA team at casa-feedback_*at*_nrao.edu\n" ] }, { "cell_type": "markdown", "metadata": { "id": "xr_RX4CA876u" }, "source": [ "## Installation\n", "\n", "First the system must be configured with the appropriate pre-requisite libraries to create a virtual display necessary for later plots/images." ] }, { "cell_type": "code", "metadata": { "id": "o0TPcJeUnydT", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "8365b025-e960-4386-c487-db125c6e2d77" }, "source": [ "# prerequisite system setup\n", "import os\n", "os.system('apt-get install xvfb')\n", "os.system('pip install pyvirtualdisplay')\n", "\n", "from pyvirtualdisplay import Display\n", "display = Display(visible=0,size=(1024,768))\n", "display.start( )\n", "\n", "print('completed system setup')" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "completed system setup\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "Lii5t7pToKuL" }, "source": [ "Then we can choose from the available CASA packages to install: ```casatools, casatasks, casaplotms, casaviewer, almatasks, casampi, casashell, casadata, casampi, casaplotserver```\n", "\n", "The pip installer generally handles dependencies automatically (for example casatasks needs casatools), however casadata is the exception that must be explicitly installed and updated by the user." ] }, { "cell_type": "code", "metadata": { "id": "IIr5sp0VgR2m", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "1d51dfc3-fce8-4de0-d6c1-d3dbc3128f2c" }, "source": [ "import os\n", "print(\"installing casa packages...\\n\")\n", "os.system(\"pip install casatasks==6.3.0.48\")\n", "os.system(\"pip install casaviewer==1.2.14\")\n", "os.system(\"pip install casadata\")\n", "\n", "print(\"downloading MeasurementSet from CASAguide First Look at Imaging...\\n\")\n", "os.system(\"wget https://bulk.cv.nrao.edu/almadata/public/working/sis14_twhya_calibrated_flagged.ms.tar\")\n", "os.system(\"tar -xvf sis14_twhya_calibrated_flagged.ms.tar\")\n", "\n", "print(\"make a config file for Google Colab...\\n\")\n", "!mkdir ~/.casa\n", "!echo \"home = '/content/'\" > ~/.casa/config.py\n", "!echo \"datapath = ['`find / -type d -name casadata`']\" >> ~/.casa/config.py\n", "!more ~/.casa/config.py" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "installing casa packages...\n", "\n", "downloading MeasurementSet from CASAguide First Look at Imaging...\n", "\n", "make a config file for Google Colab...\n", "\n", "home = '/content/'\n", "datapath = ['/usr/local/lib/python3.7/dist-packages/casadata']\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "WxuECb4D8su0" }, "source": [ "## Getting Started\n", "\n", "We can inspect the contents of a package, or better yet, read its corresponding API section in [CASAdocs](https://casadocs.readthedocs.io/en/stable/api.html)" ] }, { "cell_type": "code", "metadata": { "id": "S0B_KBb09ORJ", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "9f0d0bad-5f9e-4162-c9ee-590365759b04" }, "source": [ "import casatasks\n", "casatasks.__all__" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['casalog',\n", " 'version',\n", " 'version_string',\n", " 'imhead',\n", " 'immoments',\n", " 'imhistory',\n", " 'applycal',\n", " 'bandpass',\n", " 'blcal',\n", " 'calstat',\n", " 'concat',\n", " 'split',\n", " 'listobs',\n", " 'flagdata',\n", " 'flagcmd',\n", " 'setjy',\n", " 'cvel',\n", " 'cvel2',\n", " 'importuvfits',\n", " 'importfits',\n", " 'exportfits',\n", " 'exportuvfits',\n", " 'partition',\n", " 'listpartition',\n", " 'flagmanager',\n", " 'mstransform',\n", " 'tclean',\n", " 'immath',\n", " 'vishead',\n", " 'uvsub',\n", " 'spxfit',\n", " 'splattotable',\n", " 'specsmooth',\n", " 'specflux',\n", " 'smoothcal',\n", " 'specfit',\n", " 'imstat',\n", " 'slsearch',\n", " 'delmod',\n", " 'imsubimage',\n", " 'accor',\n", " 'asdmsummary',\n", " 'clearcal',\n", " 'conjugatevis',\n", " 'exportasdm',\n", " 'importasdm',\n", " 'clearstat',\n", " 'fixplanets',\n", " 'fixvis',\n", " 'phaseshift',\n", " 'fluxscale',\n", " 'ft',\n", " 'gaincal',\n", " 'gencal',\n", " 'uvcontsub3',\n", " 'testconcat',\n", " 'apparentsens',\n", " 'hanningsmooth',\n", " 'imcollapse',\n", " 'imcontsub',\n", " 'imdev',\n", " 'imfit',\n", " 'impbcor',\n", " 'importasap',\n", " 'importatca',\n", " 'importfitsidi',\n", " 'importgmrt',\n", " 'importnro',\n", " 'importvla',\n", " 'impv',\n", " 'imrebin',\n", " 'imreframe',\n", " 'imregrid',\n", " 'imsmooth',\n", " 'imtrans',\n", " 'imval',\n", " 'initweights',\n", " 'listcal',\n", " 'listfits',\n", " 'listhistory',\n", " 'listsdm',\n", " 'listvis',\n", " 'makemask',\n", " 'polcal',\n", " 'polfromgain',\n", " 'predictcomp',\n", " 'rerefant',\n", " 'rmfit',\n", " 'rmtables',\n", " 'sdatmcor',\n", " 'sdbaseline',\n", " 'sdcal',\n", " 'sdfit',\n", " 'sdfixscan',\n", " 'sdgaincal',\n", " 'sdimaging',\n", " 'sdsmooth',\n", " 'tsdimaging',\n", " 'nrobeamaverage',\n", " 'sdtimeaverage',\n", " 'simanalyze',\n", " 'simobserve',\n", " 'feather',\n", " 'simalma',\n", " 'statwt',\n", " 'virtualconcat',\n", " 'uvcontsub',\n", " 'uvmodelfit',\n", " 'visstat',\n", " 'widebandpbcor',\n", " 'importmiriad',\n", " 'plotweather',\n", " 'plotants',\n", " 'fringefit',\n", " 'plotbandpass',\n", " 'sdintimaging',\n", " 'sdpolaverage',\n", " 'sdsidebandsplit',\n", " 'plotprofilemap']" ] }, "metadata": {}, "execution_count": 3 } ] }, { "cell_type": "markdown", "metadata": { "id": "tQMP7v8VxGD0" }, "source": [ "We execute tasks just like normal Python functions. Many times they will write information to the log or a specified output file, which we then must display." ] }, { "cell_type": "code", "metadata": { "id": "R6KsW1NvgsQs", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "f460857b-e5e6-4bc6-aa66-84d9bd68ea46" }, "source": [ "from casatasks import listobs\n", "\n", "rc = listobs(vis='sis14_twhya_calibrated_flagged.ms', listfile='obslist.txt', verbose=False, overwrite=True)\n", "!cat obslist.txt" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "================================================================================\n", " MeasurementSet Name: /content/sis14_twhya_calibrated_flagged.ms MS Version 2\n", "================================================================================\n", " Observer: cqi Project: uid://A002/X327408/X6f \n", "Observation: ALMA(26 antennas)\n", "Data records: 80563 Total elapsed time = 5647.68 seconds\n", " Observed from 19-Nov-2012/07:36:57.0 to 19-Nov-2012/09:11:04.7 (UTC)\n", "\n", "Fields: 5\n", " ID Code Name RA Decl Epoch SrcId nRows\n", " 0 none J0522-364 05:22:57.984648 -36.27.30.85128 J2000 0 4200\n", " 2 none Ceres 06:10:15.950590 +23.22.06.90668 J2000 2 3800\n", " 3 none J1037-295 10:37:16.079736 -29.34.02.81316 J2000 3 16000\n", " 5 none TW Hya 11:01:51.796000 -34.42.17.36600 J2000 4 53161\n", " 6 none 3c279 12:56:11.166576 -05.47.21.52464 J2000 5 3402\n", "Spectral Windows: (1 unique spectral windows and 1 unique polarization setups)\n", " SpwID Name #Chans Frame Ch0(MHz) ChanWid(kHz) TotBW(kHz) CtrFreq(MHz) BBC Num Corrs \n", " 0 ALMA_RB_07#BB_2#SW-01#FULL_RES 384 TOPO 372533.086 610.352 234375.0 372649.9688 2 XX YY\n", "Antennas: 21 'name'='station' \n", " ID= 1-4: 'DA42'='A050', 'DA44'='A068', 'DA45'='A070', 'DA46'='A067', \n", " ID= 5-9: 'DA48'='A046', 'DA49'='A029', 'DA50'='A045', 'DV02'='A077', \n", " ID= 10-15: 'DV05'='A082', 'DV06'='A037', 'DV08'='A021', 'DV10'='A071', \n", " ID= 16-19: 'DV13'='A072', 'DV15'='A074', 'DV16'='A069', 'DV17'='A138', \n", " ID= 20-24: 'DV18'='A053', 'DV19'='A008', 'DV20'='A020', 'DV22'='A011', \n", " ID= 25-25: 'DV23'='A007'\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "BVxAgJHyynlR" }, "source": [ "Another example, lets do channel averaging with MSTransform. Here we need to make sure we've deleted the previous output file if/when running multiple times. Since this task doesn't return anything, we can look at the end of the log file to see what happened." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Mzz2dtFtyyAj", "outputId": "604d0ce3-c17f-4bbc-f405-6bbb6545d415" }, "source": [ "from casatasks import mstransform\n", "\n", "os.system(\"rm -fr chanavg.ms\")\n", "mstransform(vis='sis14_twhya_calibrated_flagged.ms', outputvis='chanavg.ms',\n", " datacolumn='DATA', chanaverage=True, chanbin=3)\n", "!tail casa-202*.log" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "2021-10-14 17:43:24\tINFO\tMSTransformManager::parseMsSpecParams\tTile shape is [0]\n", "2021-10-14 17:43:24\tINFO\tMSTransformManager::parseChanAvgParams\tChannel average is activated\n", "2021-10-14 17:43:24\tINFO\tMSTransformManager::parseChanAvgParams\tChannel bin is [3]\n", "2021-10-14 17:43:24\tINFO\tMSTransformManager::colCheckInfo\tAdding DATA column to output MS from input DATA column\n", "2021-10-14 17:43:24\tINFO\tMSTransformManager::open\tSelect data\n", "2021-10-14 17:43:24\tINFO\tMSTransformManager::createOutputMSStructure\tCreate output MS structure\n", "2021-10-14 17:43:24\tINFO\tParallelDataHelper::::casa\tApply the transformations\n", "2021-10-14 17:43:29\tINFO\tmstransform::::casa\tTask mstransform complete. Start time: 2021-10-14 17:43:23.610120 End time: 2021-10-14 17:43:29.323998\n", "2021-10-14 17:43:29\tINFO\tmstransform::::casa\t##### End Task: mstransform #####\n", "2021-10-14 17:43:29\tINFO\tmstransform::::casa\t##########################################\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "H0hpzf1D8zcD" }, "source": [ "## Running tclean\n", "\n", "Tclean works in non-interactive mode only (interactive=False)." ] }, { "cell_type": "code", "metadata": { "id": "ucruiVYxvUJh", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "f48635f8-d3fb-4bc0-97eb-d7d6e9ccc84e" }, "source": [ "from casatasks import tclean\n", "\n", "print(\"running tclean, may take a bit...\")\n", "\n", "tclean(vis='sis14_twhya_calibrated_flagged.ms', imagename='first_image',\n", " field='5', spw='', specmode='mfs', deconvolver='hogbom', nterms=1,\n", " gridder='standard', imsize=[250,250], cell=['0.1arcsec'],\n", " weighting='natural', threshold='0mJy', niter=5000,\n", " interactive=False, savemodel='modelcolumn')\n", "\n", "print(\"complete\")" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "running tclean, may take a bit...\n", "complete\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "6Sh41pgSmkcE" }, "source": [ "## View Images with Viewer\n", "\n", "We can use the casaviewer package to view images, but we need to start the viewer manually as a separate process" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3UwZYF_hgG9g", "outputId": "0505a0aa-ac12-4402-c22f-c94ea6d05fef" }, "source": [ "import subprocess as sp\n", "\n", "sp.Popen('/usr/local/lib/python3.7/dist-packages/casaviewer/__bin__/casaviewer-x86_64.AppImage',\n", " shell=True, preexec_fn=os.setsid, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.STDOUT)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 7 } ] }, { "cell_type": "markdown", "metadata": { "id": "GvsKjHlPp99P" }, "source": [ "Now call imview and render the image to an output file where it can then be displayed" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 616 }, "id": "tPHVK49kaT82", "outputId": "32390bc4-11ee-495b-8bb2-482d3db9797f" }, "source": [ "from casaviewer import imview\n", "from IPython.display import Image\n", "\n", "imview('first_image.image', out='test.png')\n", "\n", "Image(filename=\"test.png\")" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(0) waiting for viewer process...\n", "(1) waiting for viewer process...\n", "(2) waiting for viewer process...\n", "(3) waiting for viewer process...\n", "(4) waiting for viewer process...\n", "\t...{'id': 'casaviewer:b1fc', 'priority': 0, 'types': array(['shutdown', 'image-view', 'interactive-clean'], dtype='" ] }, "metadata": {}, "execution_count": 8 } ] }, { "cell_type": "markdown", "metadata": { "id": "1U3B_5u8qfPF" }, "source": [ "## View Images with Astropy\n", "\n", "We can use the image tool from casatools to load raw image data, then feed it to another Python package like Astropy and display it using Matplotlib.\n", "\n", "Astropy is already installed in Google Colaboratory, but if running this on some other Jupyter Hub system, you'll probably need to ```pip install astropy```. Also note that we didn't explicitly install casatools either, but it was automatically installed as a dependency of casatasks." ] }, { "cell_type": "code", "metadata": { "id": "I3UhdwznVQXe", "colab": { "base_uri": "https://localhost:8080/", "height": 445 }, "outputId": "b54d35cc-1456-4ebc-b8fd-020b75189d28" }, "source": [ "from casatools import image as IA\n", "from astropy.wcs import WCS\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "ia = IA()\n", "ia.open('first_image.image')\n", "pix = ia.getchunk()[:,:,0,0]\n", "csys = ia.coordsys()\n", "ia.close()\n", "\n", "rad_to_deg = 180/np.pi\n", "w = WCS(naxis=2)\n", "w.wcs.crpix = csys.referencepixel()['numeric'][0:2]\n", "w.wcs.cdelt = csys.increment()['numeric'][0:2]*rad_to_deg\n", "w.wcs.crval = csys.referencevalue()['numeric'][0:2]*rad_to_deg\n", "w.wcs.ctype = ['RA---SIN', 'DEC--SIN']\n", "\n", "plt.subplots(1,1, figsize=(10,7))\n", "ax = plt.subplot(1, 1, 1, projection=w)\n", "p1 = int(pix.shape[0]*0.25)\n", "p2 = int(pix.shape[0]*0.75)\n", "\n", "im = ax.imshow(pix[p1:p2,p1:p2].transpose(), origin='lower', cmap=plt.cm.viridis)\n", "plt.colorbar(im, ax=ax)\n", "ax.set_xlabel('Right Ascension')\n", "ax.set_ylabel('Declination')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ] } ] }