What is CASA?: Difference between revisions

From CASA Guides
Jump to navigationJump to search
Lchomiuk (talk | contribs)
Jott (talk | contribs)
No edit summary
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category: Installation]] [[Category: CASA Basics]]
[[Category: CASA Basics]]
 
{{Getting Started Intro}}
{{Getting Started Intro}}


Valid for Beta Patch 4.0 (CASA Version 2.4.0). See the Beta Release Notes for more instructions and known issues.
A brief summary of the CASA package.


This quick reference is intended to get the user up an running quickly with CASA. The user should refer to the CASA Data Analysis Cookbook for more detailed explanations of this material, and also if problems are encountered.
== The Basics ==


== The Basics: ==
CASA (Common Astronomy Software Applications) is the data analysis software package for the next generation of radio telescopes, specifically ALMA and the EVLA. It can also be used to process archival and current VLA data. CASA performs end-to-end processing of the large datasets resulting from these new telescopes: from data calibration to image analysis. Detailed information is available in the CASA Cookbook, which you can download from [http://casa.nrao.edu/Doc/Cookbook/casa_cookbook.pdf here]. The package is still under development, and full functionality is not yet available. Check with the [http://casa.nrao.edu CASA homepage] to find out the latest status of the project.


CASA (Common Astronomy Software Applications) is the data analysis software package for the next generation of radio telescopes, specifically ALMA and the EVLA. It can also be used to process archival and current VLA data. CASA performs end-to-end processing of the large datasets resulting from these new telescopes: from data calibration to image analysis. This document is intended to be a very brief introduction to the basic functions and organization of CASA. Much more detailed information is available in the CASA Cookbook, which you can download from the [http://casa.nrao.edu CASA homepage]. The package is still under development, and full functionality is not yet available. Check with the CASA homepage to find out the latest status of the project.
== Data Storage ==


== Data Storage: ==
CASA stores data in a Measurement Set (MS). Logically, it is a generalized description of data from any interferometer or single-dish telescope. Physically, it is several tables in a directory on disk. Tables in CASA are actually directories containing files that are sub-tables. If you create a MS called 'AM675.ms', the sub-tables are stored in the directory <tt>AM675.ms/</tt>. Calibration solutions or images will also be written to disk as directories and sub-directories.  
 
CASA stores data in a Measurement Set (MS). Logically, it is a generalized description of data from any interferometer or single-dish telescope. Physically, it is several 'tables' in a directory on disk. 'Tables' in CASA are actually directories containing files that are sub-tables. If you create a MS called AM675.ms, the sub-tables are stored in the directory AM675.ms/.
 
Calibration solutions or images will also be written to disk as directories and sub-directories. The default is to store them in the working directory, which conveniently eliminates the need for the full path name. If you need to delete an image or a calibration table, be sure to use rm -r, so that all the subdirectories will be deleted. For example, to remove the AM675.ms table, type !rm -r AM675.ms from within CASA.


The MAIN data table is arranged so that each row is a single timestamp for a single spectral window and a single baseline. There are several columns. DATA holds the original visibility data, CORRECTED holds the calibrated data, MODEL holds the Fourier inversion of a particular model image, and IMAGING_WEIGHT holds the weights to be used in imaging. Occasionally, you will need to specify a column for a particular task, so it is useful to know about them.
The MAIN data table is arranged so that each row is a single timestamp for a single spectral window and a single baseline. There are several columns. DATA holds the original visibility data, CORRECTED holds the calibrated data, MODEL holds the Fourier inversion of a particular model image, and IMAGING_WEIGHT holds the weights to be used in imaging. Occasionally, you will need to specify a column for a particular task, so it is useful to know about them.


== Python Basics: ==
== End-to-end ==  
 
Typing help at the CASA prompt with no arguments will bring up the native Python help, which has information about Python commands and keywords. Hitting <RETURN> at the Python help> prompt will return you to CASA.
 
=== Command-line Completion and Recall: ===
Hitting the <TAB> key completes unambiguous commands or variable names and shows you a list of the possible completions, if there are more than one. It also completes filenames from the working directory if no CASA or Python commands match. Once you have typed enough of a command to make it unique, <TAB> will complete it. This will help you avoid errors due to typos. You can also use up and down arrow command line recall in the CASA interface. Begin typing a command, and then use the up arrow; you will navigate back and edit commands matching what you typed.
 
=== Setting Variables: ===
Set Python variables using <parameter>=<value> syntax. Python assigns the type dynamically as you set the value, and will allow you to assign an integer value to a string parameter. However, CASA will check types before running a task, and alert you if you have made a mistake. Python variable names are case sensitive. Also note that mis-spelling a variable assignment will not be noticed by the interface. For example, you might wish to set correlation='RR', but instead type corellation='RR'. You will find correlation unset, and a new variable, corellation will exist, with value RR. Using command-line completion and recall helps avoid these errors.
 
=== Lists and Ranges: ===
The Python range function give a task a list of indices. For example, iflist=range(4,8) will set iflist = [4, 5, 6, 7].
 
=== Indexes: ===
Python indices are 0-based. The first element in the list antlist is antlist[0]. CASA also uses 0-based indexing. Field or antenna IDs, for example, start at 0. The first field in a measurement set has FIELD_ID==0
 
=== Indentation: ===
Python uses indentation to determine the level of nesting in loops. Be careful when cutting and pasting, you may get an error (or an erroneous result).
 
=== System shell access: ===
To access system commands from CASA, precede your command with a bang (!). For example, to remove the file mydata.ms, type !rm -r mydata.ms This is inconsistent. Some commands (ls, pwd, less) can be executed without the '!'. The cp command must use the '!', and the cd command must NOT use the '!'. Note: to access a Unix environment variable from CASA, you will need to use $$ instead of $.
 
=== Running Scripts: ===
You may wish to run scripts which contain series of commands for data calibration, etc. To execute the script contained in the text file myscript.py, type execfile('myscript.py').
 
 
== End-to-end: ==  
An overview of the process from Loading to Imaging:
An overview of the process from Loading to Imaging:


[[File:casa_flow.png]]
[[File:casa_flow.png]]


== Importing Data and Images: ==
== Importing Data and Images: ==
Data is initially loaded into CASA using one of three import tasks, importuvfits, importvla, importasdm. These import UVFITS, VLA and ALMA data, respectively. Two other related tasks are available: importfits can be used to import a FITS image into a CASA image format table; and concat can be used to concatenate a second measurement set into a given MS.
Data is initially loaded into CASA using one of three import tasks:
* {{importuvfits}}
* {{importvla}}
* {{importasdm}}
These import UVFITS, VLA and EVLA/ALMA data, respectively. Two other related tasks are available:  
* {{importfits}}: can be used to import a FITS image into a CASA image format table;
* {{concat}}: can be used to concatenate a second measurement set into a given MS.


== Examing, Editing and Flagging: ==
== Examing, Editing and Flagging ==
There are several tasks to list, plot and/or flag data in a MS:
There are several tasks to list, plot and/or flag data in a MS:
* {{listobs}}: summarizes the contents of a MS;
* {{flagmanager}}: saves and manages versions of the flagging entries in the MS;
* {{flagautocorr}}: non-interactively flags auto-correlations;
* {{plotms}}: interactively plots and flags visibility data in 2-D;
* {{flagdata}}: non-interactively flags and unflags specified data;
* {{viewer}}: displays MS data, with some editing capabilities.


    - listobs: summarizes the contents of a MS;
== Calibration ==
    - flagmanager: saves and manages versions of the flagging entries in the MS;
During calibration, the user specifies a set of calibrations to pre-apply before solving for a particular effect (gain or bandpass or polarization). The user (''not'' the task!) specifies a calibration table to store the solutions. Take care in naming the table for future use. Finally, the calibration is applied to the dataset, and calibrated data are written into the CORRECTED column.  
    - flagautocorr: non-interactively flags auto-correlations;
    - plotms: interactively plots and flags visibility data in 2-D;
    - flagdata: non-interactively flags and unflags specified data;
    - viewer: displays MS data, with some editing capabilities.
 
== Calibration: ==
During calibration, the user specifies a set of calibrations to pre-apply before solving for a particular effect (gain or bandpass or polarization). The user (NOT the task!) specifies a calibration table to store the solutions. Take care in naming the table for future use. As the calibration proceeds, the user accumulates the calibrations in a new cumulative table. Finally, the calibration is applied to the dataset, and calibrated data are written into the CORRECTED column. Calibration tasks are:


    - setjy: computes the model visibilities for a specified source given a flux density. setjy 'knows' about standard calibrator sources;
Calibration tasks are:
    - bandpass: solves for frequency-dependent complex gains;
* {{setjy}}: computes the model visibilities for a specified source given a flux density. setjy 'knows' about standard calibrator sources;
    - gaincal: solves for time-dependent complex gains;
* {{bandpass}}: solves for frequency-dependent complex gains;
    - fluxscale: bootstraps the flux density scale from standard calibrators;
* {{gaincal}}: solves for time-dependent complex gains;
    - polcal: polarization calibration;
* {{fluxscale}}: bootstraps the flux density scale from standard calibrators;
    - accum: accumulates incremental calibration solutions into a cumulative table;
* {{polcal}}: polarization calibration;
    - smoothcal: smooths calibration solutions derived from one or more sources;
* {{accum}}: accumulates incremental calibration solutions into a cumulative table;
    - applycal: applies calculated calibration solutions;
* {{smoothcal}}: smooths calibration solutions derived from one or more sources;
    - clearcal: re-initializes calibrated visibility data in a given MS;
* {{applycal}}: applies calculated calibration solutions;
    - listcal: lists calibration solutions;
* {{clearcal}}: re-initializes calibrated visibility data in a given MS;
    - plotcal: plots (and optionally flags) calibration solutions;
* {{listcal}}: lists calibration solutions;
    - uvcontsub: carry out uv-plane continuum subtraction for spectral-line data
* {{plotcal}}: plots (and optionally flags) calibration solutions;
    - split: write out a new (calibrated) MS for specified sources  
* {{uvcontsub}}: carry out uv-plane continuum subtraction for spectral-line data
* {{split}}: write out a new (calibrated) MS for specified sources  


== Imaging: ==
== Imaging ==
At some point you want to actually see the model of the sky you have created from your data. The main tasks involved are:
At some point you want to actually see the model of the sky you have created from your data. The main tasks involved are:
* {{clean}}: calculates a deconvolved image based on the visibility data;
* {{feather}}: combines a single dish and synthesis image in the Fourier plane;
<!--
* {{makemask}}: makes a mask image from a cleanbox, a file or list;
-->
* {{ft}}: Fourier transforms the model (or component list) and fills the MODEL column;
* {{deconvolve}}: deconvolves an input image from a provided PSF.


    - clean: calculates a deconvolved image based on the visibility data;
== Analysis ==
    - feather: combines a single dish and synthesis image in the Fourier plane;
    - makemask: makes a mask image from a cleanbox, a file or list;
    - ft: Fourier transforms the model (or component list) and fills the MODEL column;
    - deconvolve: deconvolves an input image from a provided PSF.
 
== Analysis: ==
Of course, you will want to measure things! Several tasks are available to help with this:
Of course, you will want to measure things! Several tasks are available to help with this:
* {{imhead}}: summarize and manipulate the 'header' information in a CASA image;
* {{imcontsub}}: perform continuum subtraction on a spectral-line image cube;
* {{immath}}: perform mathematical operations on or between images;
* {{immoments}}: compute the moments of an image cube;
* {{imstat}}: calculate statistics on an image or part of an image;
* {{imregrid}}: regrid an image onto the coordinate system of another image;
* {{viewer}}: there are useful statistics and plotting capabilities in the viewer.


    - imhead: summarize and manipulate the 'header' information in a CASA image;
== Exporting ==
    - imcontsub: perform continuum subtraction on a spectral-line image cube;
You can export your data from CASA using either {{exportuvfits}} or {{exportfits}}, which save the data in UVFITS or FITS formats, respectively.
    - immath: perform mathematical operations on or between images;
    - immoments: compute the moments of an image cube;
    - imstat: calculate statistics on an image or part of an image;
    - regridimage: regrid an image onto the coordinate system of another image;
    - viewer: there are useful statistics and plotting capabilities in the viewer.
 
== Exporting: ==
You can export your data from CASA using either exportuvfits or exportfits, which save the data in UVFITS or FITS formats, respectively.


== Further Information: ==
== Further Information ==


About CASA: The CASA Cookbook, available from the CASA homepage: [[http://casa.nrao.edu]] Other documentation is there as well.
About CASA: The CASA Cookbook, available from the CASA homepage: [[http://casa.nrao.edu]] Other documentation is there as well.
Line 112: Line 86:
About Python: see the vast internet. Googling 'Python manual' will turn up a number of options.
About Python: see the vast internet. Googling 'Python manual' will turn up a number of options.


Please send any comments or questions about CASA to casa-request@nrao.edu
Please send any comments or questions about CASA to the NRAO helpdesk via your [http://my.nrao.edu my.nrao.edu] portal.

Latest revision as of 21:03, 27 March 2013

Getting Started

A brief summary of the CASA package.

The Basics

CASA (Common Astronomy Software Applications) is the data analysis software package for the next generation of radio telescopes, specifically ALMA and the EVLA. It can also be used to process archival and current VLA data. CASA performs end-to-end processing of the large datasets resulting from these new telescopes: from data calibration to image analysis. Detailed information is available in the CASA Cookbook, which you can download from here. The package is still under development, and full functionality is not yet available. Check with the CASA homepage to find out the latest status of the project.

Data Storage

CASA stores data in a Measurement Set (MS). Logically, it is a generalized description of data from any interferometer or single-dish telescope. Physically, it is several tables in a directory on disk. Tables in CASA are actually directories containing files that are sub-tables. If you create a MS called 'AM675.ms', the sub-tables are stored in the directory AM675.ms/. Calibration solutions or images will also be written to disk as directories and sub-directories.

The MAIN data table is arranged so that each row is a single timestamp for a single spectral window and a single baseline. There are several columns. DATA holds the original visibility data, CORRECTED holds the calibrated data, MODEL holds the Fourier inversion of a particular model image, and IMAGING_WEIGHT holds the weights to be used in imaging. Occasionally, you will need to specify a column for a particular task, so it is useful to know about them.

End-to-end

An overview of the process from Loading to Imaging:

Importing Data and Images:

Data is initially loaded into CASA using one of three import tasks:

These import UVFITS, VLA and EVLA/ALMA data, respectively. Two other related tasks are available:

  • importfits: can be used to import a FITS image into a CASA image format table;
  • concat: can be used to concatenate a second measurement set into a given MS.

Examing, Editing and Flagging

There are several tasks to list, plot and/or flag data in a MS:

  • listobs: summarizes the contents of a MS;
  • flagmanager: saves and manages versions of the flagging entries in the MS;
  • flagautocorr: non-interactively flags auto-correlations;
  • plotms: interactively plots and flags visibility data in 2-D;
  • flagdata: non-interactively flags and unflags specified data;
  • viewer: displays MS data, with some editing capabilities.

Calibration

During calibration, the user specifies a set of calibrations to pre-apply before solving for a particular effect (gain or bandpass or polarization). The user (not the task!) specifies a calibration table to store the solutions. Take care in naming the table for future use. Finally, the calibration is applied to the dataset, and calibrated data are written into the CORRECTED column.

Calibration tasks are:

  • setjy: computes the model visibilities for a specified source given a flux density. setjy 'knows' about standard calibrator sources;
  • bandpass: solves for frequency-dependent complex gains;
  • gaincal: solves for time-dependent complex gains;
  • fluxscale: bootstraps the flux density scale from standard calibrators;
  • polcal: polarization calibration;
  • accum: accumulates incremental calibration solutions into a cumulative table;
  • smoothcal: smooths calibration solutions derived from one or more sources;
  • applycal: applies calculated calibration solutions;
  • clearcal: re-initializes calibrated visibility data in a given MS;
  • listcal: lists calibration solutions;
  • plotcal: plots (and optionally flags) calibration solutions;
  • uvcontsub: carry out uv-plane continuum subtraction for spectral-line data
  • split: write out a new (calibrated) MS for specified sources

Imaging

At some point you want to actually see the model of the sky you have created from your data. The main tasks involved are:

  • clean: calculates a deconvolved image based on the visibility data;
  • feather: combines a single dish and synthesis image in the Fourier plane;
  • ft: Fourier transforms the model (or component list) and fills the MODEL column;
  • deconvolve: deconvolves an input image from a provided PSF.

Analysis

Of course, you will want to measure things! Several tasks are available to help with this:

  • imhead: summarize and manipulate the 'header' information in a CASA image;
  • imcontsub: perform continuum subtraction on a spectral-line image cube;
  • immath: perform mathematical operations on or between images;
  • immoments: compute the moments of an image cube;
  • imstat: calculate statistics on an image or part of an image;
  • imregrid: regrid an image onto the coordinate system of another image;
  • viewer: there are useful statistics and plotting capabilities in the viewer.

Exporting

You can export your data from CASA using either exportuvfits or exportfits, which save the data in UVFITS or FITS formats, respectively.

Further Information

About CASA: The CASA Cookbook, available from the CASA homepage: [[1]] Other documentation is there as well.

About Interferometry: Synthesis Imaging in Radio Astronomy II (1999, ASP Conference Series Vol 180, eds. Taylor, Carilli and Perley)

About Python: see the vast internet. Googling 'Python manual' will turn up a number of options.

Please send any comments or questions about CASA to the NRAO helpdesk via your my.nrao.edu portal.