First Look at Image Analysis CASA 6.5.4: Difference between revisions
Created page with "''This guide is written for CASA 6.4.1.12 and uses Python 3.'' The first few tutorials provided us with a spectral line data cube and a continuum image. Next we'd like to understand some of the properties of the images that we have produced. In case you don't have the images from the first tutorials handy, let's start by copying the image files from the working_data directory to our current directory: <source lang="python"> # In CASA os.system("rm -rf sis14_twhya_con..." |
No edit summary |
||
Line 1: | Line 1: | ||
''This guide is written for CASA 6.4 | ''This guide is written for CASA 6.5.4 and uses Python 3.'' | ||
The first few tutorials provided us with a spectral line data cube and a continuum image. Next we'd like to | The first few tutorials provided us with a spectral line data cube and a continuum image. Next we'd like to | ||
understand some of the properties of the images that we have produced. | understand some of the properties of the images that we have produced. | ||
In case you don't have the images from the first tutorials handy, let's start by copying the image files from the | In case you don't have the images from the first tutorials handy, let's start by copying the image files from the working directory in the full data package to our current directory (after untarring them, if you haven't already): | ||
<source lang="python"> | <source lang="python"> | ||
# In CASA | # In CASA | ||
os.system( | os.system('rm -rf twhya_cont.image') | ||
os.system( | os.system('cp -r ../working/twhya_cont.image .') | ||
os.system( | os.system('rm -rf twhya_n2hp.image') | ||
os.system( | os.system('cp -r ../working/twhya_n2hp.image .') | ||
</source> | </source> | ||
Recall that we orient ourselves with measurement sets (UV data) using the {{ | If you do have images from the prior tutorials, you'll want fifth_image.image (our best continuum image) from the self-cal tutorial, which you will substitute for twhya_cont.image, and twhya_n2hp.image from the spectral line tutorial. | ||
For images, an analogous way to get basic header information is to use the {{ | |||
Recall that we orient ourselves with measurement sets (UV data) using the {{listobs_6.5.4}} task. | |||
For images, an analogous way to get basic header information is to use the {{imhead_6.5.4}} task. | |||
<source lang="python"> | <source lang="python"> | ||
# In CASA | # In CASA | ||
imhead( | imhead('twhya_cont.image') | ||
imhead( | imhead('twhya_n2hp.image') | ||
</source> | </source> | ||
CASA prints the image header information to the logger: | CASA prints the image header information to the logger: | ||
<pre style="background-color: #fffacd;"> | <pre style="background-color: #fffacd;"> | ||
imhead ########################################## | imhead::::casa ########################################## | ||
imhead ##### Begin Task: imhead ##### | imhead::::casa ##### Begin Task: imhead ##### | ||
imhead imhead(imagename= | imhead::::casa imhead( imagename='twhya_cont.image', mode='summary', hdkey='', hdvalue='', verbose=False ) | ||
ImageMetaData | ImageMetaData::summary | ||
ImageMetaData Image name : | ImageMetaData::summary+ Image name : twhya_cont.image | ||
ImageMetaData Object name : TW Hya | ImageMetaData::summary+ Object name : TW Hya | ||
ImageMetaData Image type : PagedImage | ImageMetaData::summary+ Image type : PagedImage | ||
ImageMetaData Image quantity : Intensity | ImageMetaData::summary+ Image quantity : Intensity | ||
ImageMetaData Pixel mask(s) : mask0 | ImageMetaData::summary+ Pixel mask(s) : mask0 | ||
ImageMetaData Region(s) : None | ImageMetaData::summary+ Region(s) : None | ||
ImageMetaData Image units : Jy/beam | ImageMetaData::summary+ Image units : Jy/beam | ||
ImageMetaData Restoring Beam : 0. | ImageMetaData::summary+ Restoring Beam : 0.609236 arcsec, 0.452453 arcsec, -51.5786 deg | ||
ImageMetaData | ImageMetaData::summary | ||
ImageMetaData Direction reference : J2000 | ImageMetaData::summary+ Direction reference : J2000 | ||
ImageMetaData Spectral reference : LSRK | ImageMetaData::summary+ Spectral reference : LSRK | ||
ImageMetaData Velocity type : RADIO | ImageMetaData::summary+ Velocity type : RADIO | ||
ImageMetaData Rest frequency : 3.72637e+11 Hz | ImageMetaData::summary+ Rest frequency : 3.72637e+11 Hz | ||
ImageMetaData Pointing center : 11:01:51.796000 -34.42.17.366000 | ImageMetaData::summary+ Pointing center : 11:01:51.796000 -34.42.17.366000 | ||
ImageMetaData Telescope : ALMA | ImageMetaData::summary+ Telescope : ALMA | ||
ImageMetaData Observer : cqi | ImageMetaData::summary+ Observer : cqi | ||
ImageMetaData Date observation : 2012/11/19/07:56: | ImageMetaData::summary+ Date observation : 2012/11/19/07:56:26.544000 | ||
ImageMetaData Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) | ImageMetaData::summary+ Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) | ||
ImageMetaData | ImageMetaData::summary+ | ||
ImageMetaData Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units | ImageMetaData::summary+ Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units | ||
ImageMetaData ---------------------------------------------------------------------------------------------------- | ImageMetaData::summary+ ---------------------------------------------------------------------------------------------------- | ||
ImageMetaData 0 0 Direction Right Ascension SIN 250 250 11:01:51.796 125.00 -1.000000e-01 arcsec | ImageMetaData::summary+ 0 0 Direction Right Ascension SIN 250 250 11:01:51.796 125.00 -1.000000e-01 arcsec | ||
ImageMetaData 1 0 Direction Declination SIN 250 250 -34.42.17.366 125.00 1.000000e-01 arcsec | ImageMetaData::summary+ 1 0 Direction Declination SIN 250 250 -34.42.17.366 125.00 1.000000e-01 arcsec | ||
ImageMetaData 2 1 Stokes Stokes 1 1 I | ImageMetaData::summary+ 2 1 Stokes Stokes 1 1 I | ||
ImageMetaData 3 2 Spectral Frequency 1 1 3.72637e+11 0.00 2.34445114878e+08 Hz | ImageMetaData::summary+ 3 2 Spectral Frequency 1 1 3.72637e+11 0.00 2.34445114878e+08 Hz | ||
ImageMetaData Velocity 0 0.00 -1.886149e+02 km/s | ImageMetaData::summary+ Velocity 0 0.00 -1.886149e+02 km/s | ||
imhead ##### End Task: imhead ##### | imhead::::casa Task imhead complete. Start time: 2023-10-06 14:07:35.341678 End time: 2023-10-06 14:07:38.267440 | ||
imhead ########################################## | imhead::::casa ##### End Task: imhead ##### | ||
imhead::::casa ########################################## | |||
imhead ########################################## | imhead::::casa ########################################## | ||
imhead ##### Begin Task: imhead ##### | imhead::::casa ##### Begin Task: imhead ##### | ||
imhead imhead(imagename= | imhead::::casa imhead( imagename='twhya_n2hp.image', mode='summary', hdkey='', hdvalue='', verbose=False ) | ||
ImageMetaData | ImageMetaData::summary | ||
ImageMetaData Image name : twhya_n2hp.image | ImageMetaData::summary+ Image name : twhya_n2hp.image | ||
ImageMetaData Object name : TW Hya | ImageMetaData::summary+ Object name : TW Hya | ||
ImageMetaData Image type : PagedImage | ImageMetaData::summary+ Image type : PagedImage | ||
ImageMetaData Image quantity : Intensity | ImageMetaData::summary+ Image quantity : Intensity | ||
ImageMetaData Pixel mask(s) : mask0 | ImageMetaData::summary+ Pixel mask(s) : mask0 | ||
ImageMetaData Region(s) : None | ImageMetaData::summary+ Region(s) : None | ||
ImageMetaData Image units : Jy/beam | ImageMetaData::summary+ Image units : Jy/beam | ||
ImageMetaData Restoring Beam : 0. | ImageMetaData::summary+ Restoring Beam : 0.614894 arcsec, 0.453196 arcsec, -52.3802 deg | ||
ImageMetaData | ImageMetaData::summary | ||
ImageMetaData Direction reference : J2000 | ImageMetaData::summary+ Direction reference : J2000 | ||
ImageMetaData Spectral reference : LSRK | ImageMetaData::summary+ Spectral reference : LSRK | ||
ImageMetaData Velocity type : RADIO | ImageMetaData::summary+ Velocity type : RADIO | ||
ImageMetaData Rest frequency : 3.72672e+11 Hz | ImageMetaData::summary+ Rest frequency : 3.72672e+11 Hz | ||
ImageMetaData Pointing center : 11:01:51.796000 -34.42.17.366000 | ImageMetaData::summary+ Pointing center : 11:01:51.796000 -34.42.17.366000 | ||
ImageMetaData Telescope : ALMA | ImageMetaData::summary+ Telescope : ALMA | ||
ImageMetaData Observer : cqi | ImageMetaData::summary+ Observer : cqi | ||
ImageMetaData Date observation : 2012/11/19/07:56: | ImageMetaData::summary+ Date observation : 2012/11/19/07:56:26.544000 | ||
ImageMetaData Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) | ImageMetaData::summary+ Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) | ||
ImageMetaData | ImageMetaData::summary+ | ||
ImageMetaData Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units | ImageMetaData::summary+ Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units | ||
ImageMetaData -------------------------------------------------------------------------------------------------- | ImageMetaData::summary+ -------------------------------------------------------------------------------------------------- | ||
ImageMetaData 0 0 Direction Right Ascension SIN 250 125 11:01:51.796 125.00 - | ImageMetaData::summary+ 0 0 Direction Right Ascension SIN 250 125 11:01:51.796 125.00 -1.000000e-01 arcsec | ||
ImageMetaData 1 0 Direction Declination SIN 250 50 -34.42.17.366 125.00 | ImageMetaData::summary+ 1 0 Direction Declination SIN 250 50 -34.42.17.366 125.00 1.000000e-01 arcsec | ||
ImageMetaData 2 1 Stokes Stokes 1 1 I | ImageMetaData::summary+ 2 1 Stokes Stokes 1 1 I | ||
ImageMetaData 3 2 Spectral Frequency 15 5 3.726725e+11 0.00 -6.21550810e+05 Hz | ImageMetaData::summary+ 3 2 Spectral Frequency 15 5 3.726725e+11 0.00 -6.21550810e+05 Hz | ||
ImageMetaData Velocity 0 0.00 5.000000e-01 km/s | ImageMetaData::summary+ Velocity 0 0.00 5.000000e-01 km/s | ||
imhead ##### End Task: imhead ##### | imhead::::casa Task imhead complete. Start time: 2023-10-06 14:07:38.461741 End time: 2023-10-06 14:07:38.501495 | ||
imhead ########################################## | imhead::::casa ##### End Task: imhead ##### | ||
imhead::::casa ########################################## | |||
</pre> | </pre> | ||
Line 95: | Line 99: | ||
Often we'd like to measure basic image | Often we'd like to measure basic image | ||
statistics and fluxes. Recall you can do these operations pretty easily in | statistics and fluxes. Recall you can do these operations pretty easily in CARTA. You can also get statistics using the {{imstat_6.5.4}} task. | ||
<source lang="python"> | <source lang="python"> | ||
# In CASA | # In CASA | ||
my_stats = imstat( | my_stats = imstat('twhya_n2hp.image', chans='0~4') | ||
</source> | </source> | ||
The {{ | The {{imstat_6.5.4}} task returns a python dictionary, and you can examine the contents as follows: | ||
<source lang="python"> | <source lang="python"> |
Revision as of 18:26, 6 October 2023
This guide is written for CASA 6.5.4 and uses Python 3.
The first few tutorials provided us with a spectral line data cube and a continuum image. Next we'd like to understand some of the properties of the images that we have produced.
In case you don't have the images from the first tutorials handy, let's start by copying the image files from the working directory in the full data package to our current directory (after untarring them, if you haven't already):
# In CASA
os.system('rm -rf twhya_cont.image')
os.system('cp -r ../working/twhya_cont.image .')
os.system('rm -rf twhya_n2hp.image')
os.system('cp -r ../working/twhya_n2hp.image .')
If you do have images from the prior tutorials, you'll want fifth_image.image (our best continuum image) from the self-cal tutorial, which you will substitute for twhya_cont.image, and twhya_n2hp.image from the spectral line tutorial.
Recall that we orient ourselves with measurement sets (UV data) using the listobs task. For images, an analogous way to get basic header information is to use the imhead task.
# In CASA
imhead('twhya_cont.image')
imhead('twhya_n2hp.image')
CASA prints the image header information to the logger:
imhead::::casa ########################################## imhead::::casa ##### Begin Task: imhead ##### imhead::::casa imhead( imagename='twhya_cont.image', mode='summary', hdkey='', hdvalue='', verbose=False ) ImageMetaData::summary ImageMetaData::summary+ Image name : twhya_cont.image ImageMetaData::summary+ Object name : TW Hya ImageMetaData::summary+ Image type : PagedImage ImageMetaData::summary+ Image quantity : Intensity ImageMetaData::summary+ Pixel mask(s) : mask0 ImageMetaData::summary+ Region(s) : None ImageMetaData::summary+ Image units : Jy/beam ImageMetaData::summary+ Restoring Beam : 0.609236 arcsec, 0.452453 arcsec, -51.5786 deg ImageMetaData::summary ImageMetaData::summary+ Direction reference : J2000 ImageMetaData::summary+ Spectral reference : LSRK ImageMetaData::summary+ Velocity type : RADIO ImageMetaData::summary+ Rest frequency : 3.72637e+11 Hz ImageMetaData::summary+ Pointing center : 11:01:51.796000 -34.42.17.366000 ImageMetaData::summary+ Telescope : ALMA ImageMetaData::summary+ Observer : cqi ImageMetaData::summary+ Date observation : 2012/11/19/07:56:26.544000 ImageMetaData::summary+ Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) ImageMetaData::summary+ ImageMetaData::summary+ Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units ImageMetaData::summary+ ---------------------------------------------------------------------------------------------------- ImageMetaData::summary+ 0 0 Direction Right Ascension SIN 250 250 11:01:51.796 125.00 -1.000000e-01 arcsec ImageMetaData::summary+ 1 0 Direction Declination SIN 250 250 -34.42.17.366 125.00 1.000000e-01 arcsec ImageMetaData::summary+ 2 1 Stokes Stokes 1 1 I ImageMetaData::summary+ 3 2 Spectral Frequency 1 1 3.72637e+11 0.00 2.34445114878e+08 Hz ImageMetaData::summary+ Velocity 0 0.00 -1.886149e+02 km/s imhead::::casa Task imhead complete. Start time: 2023-10-06 14:07:35.341678 End time: 2023-10-06 14:07:38.267440 imhead::::casa ##### End Task: imhead ##### imhead::::casa ########################################## imhead::::casa ########################################## imhead::::casa ##### Begin Task: imhead ##### imhead::::casa imhead( imagename='twhya_n2hp.image', mode='summary', hdkey='', hdvalue='', verbose=False ) ImageMetaData::summary ImageMetaData::summary+ Image name : twhya_n2hp.image ImageMetaData::summary+ Object name : TW Hya ImageMetaData::summary+ Image type : PagedImage ImageMetaData::summary+ Image quantity : Intensity ImageMetaData::summary+ Pixel mask(s) : mask0 ImageMetaData::summary+ Region(s) : None ImageMetaData::summary+ Image units : Jy/beam ImageMetaData::summary+ Restoring Beam : 0.614894 arcsec, 0.453196 arcsec, -52.3802 deg ImageMetaData::summary ImageMetaData::summary+ Direction reference : J2000 ImageMetaData::summary+ Spectral reference : LSRK ImageMetaData::summary+ Velocity type : RADIO ImageMetaData::summary+ Rest frequency : 3.72672e+11 Hz ImageMetaData::summary+ Pointing center : 11:01:51.796000 -34.42.17.366000 ImageMetaData::summary+ Telescope : ALMA ImageMetaData::summary+ Observer : cqi ImageMetaData::summary+ Date observation : 2012/11/19/07:56:26.544000 ImageMetaData::summary+ Telescope position: [2.22514e+06m, -5.44031e+06m, -2.48103e+06m] (ITRF) ImageMetaData::summary+ ImageMetaData::summary+ Axis Coord Type Name Proj Shape Tile Coord value at pixel Coord incr Units ImageMetaData::summary+ -------------------------------------------------------------------------------------------------- ImageMetaData::summary+ 0 0 Direction Right Ascension SIN 250 125 11:01:51.796 125.00 -1.000000e-01 arcsec ImageMetaData::summary+ 1 0 Direction Declination SIN 250 50 -34.42.17.366 125.00 1.000000e-01 arcsec ImageMetaData::summary+ 2 1 Stokes Stokes 1 1 I ImageMetaData::summary+ 3 2 Spectral Frequency 15 5 3.726725e+11 0.00 -6.21550810e+05 Hz ImageMetaData::summary+ Velocity 0 0.00 5.000000e-01 km/s imhead::::casa Task imhead complete. Start time: 2023-10-06 14:07:38.461741 End time: 2023-10-06 14:07:38.501495 imhead::::casa ##### End Task: imhead ##### imhead::::casa ##########################################
Statistics
Often we'd like to measure basic image statistics and fluxes. Recall you can do these operations pretty easily in CARTA. You can also get statistics using the imstat task.
# In CASA
my_stats = imstat('twhya_n2hp.image', chans='0~4')
The imstat task returns a python dictionary, and you can examine the contents as follows:
# In CASA
print(my_stats)
print(my_stats['rms'])
It's useful to see that the RMS is about 26 mJy/beam in the line cube.
You can also just print the dictionary to the terminal screen:
# In CASA
imstat("twhya_n2hp.image", chans="0~4")
This task is useful for measuring basic source characteristics. For example, calculate the statistics for a box encompassing the disk - you see that the integrated flux is about 1.8 Jy.
# In CASA
imstat("sis14_twhya_cont.image", box="100,100,150,150")
my_stats = imstat("sis14_twhya_cont.image", box="100,100,150,150")
print(my_stats['flux'])
Alternatively, a box defined off the disk will give image noise statistics.
# In CASA
imstat("sis14_twhya_cont.image", box="25,150,225,200")
Moments
For the spectral line cube, it's very useful to "collapse" the cube in various ways to analyze the emission. The immoments task lets you do this.
The first few "moments" are defined as follows:
moments = -1 : mean value of the spectral coordinate moments = 0 : integrated value of the spectral coordinate moments = 1 : intensity weighted coordinate; traditionally used to get 'velocity fields' moments = 2 : intensity weighted dispersion of the coordinate; traditionally used to get "velocity dispersion"
A more complete description of image moments is given here in the CASA reference manual.
Let's make a moment 0 image clipped at ~1 sigma:
# In CASA
os.system("rm -rf sis14_twhya_n2hp.mom0")
immoments("twhya_n2hp.image",
outfile="sis14_twhya_n2hp.mom0",
includepix=[20e-3,100],
chans="4~12",
moments=0)
Make a moment 1 image clipped at ~2 sigma:
# In CASA
os.system("rm -rf sis14_twhya_n2hp.mom1")
immoments("twhya_n2hp.image",
outfile="sis14_twhya_n2hp.mom1",
includepix=[40e-3,100],
chans="4~12",
moments=1)
At this point we have a few really neat things to see: first the line shows a hole in the middle. Overlay it on the dust (continuum) disk using the viewer and you can notice that they align but with the N2H+ existing only outside a certain radius - in this case the "snow line". Also have a look at the velocity field to see the rotation of the disk.
The imview task has some command-line scripting capability. For example, here we show how to overlay the line moment 0 (as a contour plot) on the continuum.
# In CASA
imview(raster={'file': 'sis14_twhya_cont.image',
'range': [-0.01,0.5]},
contour={'file': 'sis14_twhya_n2hp.mom0',
'levels': [0.5,0.6,0.7,0.8] })
Here, we are not using the primary beam corrected images and cubes when creating our moment maps. Remember that it's often very convenient to work in images before primary beam correction because the noise is the same across the field (e.g., this is a clean data set to search for signal) but it's very important to remember to apply this correction before calculating fluxes or intensities for science.
Export FITS images
CASA is great (of course) but you will ultimately want to export your data to a common format to analyze in other programs, share with other astronomers, or archive. It's easy to export images from CASA's image format to FITS images via the exportfits command.
# In CASA
exportfits(imagename="sis14_twhya_cont.image",
fitsimage="twhya_cont.fits",
overwrite=True)
For the cube we want to specify additionally that the frequency axis will be written out as velocity.
# In CASA
exportfits(imagename="twhya_n2hp.image",
fitsimage="twhya_n2hp.fits",
velocity=True,
overwrite=True)