Sunspot Band6 Imaging for CASA 4.7
This portion of the Sunspot Band6 CASA Guide for CASA 4.7 will cover the image synthesis of a sunspot. It begins where Sunspot_Band6_Calibration_for_CASA_4.7 is completed. In the case, we assume that you are working on the working directory ‘Sunspot_Band6_UncalibratedData’.
If you did not complete the Calibration portion of the guide, the you can download the calibrated visibility data by click on the region closed to your location:
Once the download has finished, unpack the file:
# In a terminal outside CASA tar -xvzf Sunspot_Band6_CalibratedData.tgz cd Sunspot_Band6_CalibratedData #Start CASA casa
From next, we will show all commands for solar image synthesis. If you do not want to cut-&-past the commands, you can use the script as described in #Alternative way of Imaging.
Confirm your version of CASA
This guide has been written for CASA release 4.7. Please confirm your version before proceeding.
# In Casa version = casadef.casa_version print "You are using " + version if (version < '4.7.0'): print "YOUR VERSION OF CASA IS TOO OLD FOR THIS GUIDE." print "PLEASE UPDATE IT BEFORE PROCEEDING." else: print "Your version of CASA is appropriate for this guide."
Flagging of the surplus scans
The actual duration of the observations does not exactly equal to the required duration of the 149-poinitng MOSAIC. Hence, some fields were observed twice, as shown in <xr id="fieldid"/>. Although the visibility data of the surplus scans are valid, it is better that they are not used for the image synthesis, considering the uniformity of the sensitivity in a map. For the reason, we flagged the surplus scans by the following command.
# In Casa msc = ‘uid___A002_Xae00c5_X2a8d_split.ms.cal’ flagdata(vis = msc, mode = 'manual', timerange = '2015/12/18/20:02:35~20:08:20', flagbackup = False)
</figure> <figure id="res">
</figure> <figure id="img">
Now we are ready to synthesize a sunspot image from the visibilities. For the image synthesis, we execute the following command.
# In Casa clean(vis = msc, spw = '0,1,2,3', stokes = 'I', field='0,3~150',phasecenter='0', imagename='AR12470_B6AllSpw_I', cell = '0.15 arcsec', imsize = [2048, 2048], interactive = False,mask = 'box[[555pix,565pix],[1505pix,1490pix]]', weighting = 'briggs', robust = 1., niter = 5000000000, sfmode = 'clark', imagermode='mosaic', mosweight = True, minpb=0.3, pbcor=F, threshold='1.0Jy', gain=0.1)
To obtain good SNR of the image, we synthesize an image from the data of all spectrum windows. From here, we will comment only about the options that are the special measures for solar image synthesis.
mask = 'box[[555pix,565pix],[1505pix,1490pix]]
In most cases of solar observations, the field of view (FoV) of the map is filled up with solar structures. Therefore, ideally, the CLEAN box for the solar image synthesis is the same as the FoV. Since the observation was done with the 7m + 12m heterogeneous array, the FoV of the 7m-array is not the same as that of the 12m-array, and the area near the outer edge of the FoV is observed only with 7m-array, as shown in <xr id="mos2" />. If the CLEAN box includes the area, the synthesized map will include remarkable artificial structures. To avoid the artificial structure, we need to make a CLEAN box that is smaller than the FoV of the 12m-array. In the tutorial, the CLEAN box covers the area that the effective response is larger than 0.6, as shown in <xr id="res" />.
weighting = 'briggs', robust = 1.,
The ‘briggs’ weighting, which is the default weighting option of the CLEAN task, is used for the solar image synthesis. The longest baseline of the 12m-array for the observation is shorter than that of C40-1. However, the visibility data includes the data of over 200m baselines, because the center of the 12m-array is about 200 m distant from the center of the 7m-array. When the robust parameter is set to 0 as a default, the contribution of the longer baseline data is too large and the artificial stripes appear in the synthesized map. For the reason, we set the ‘robust’ value to 1, and the weighting function is set to near the ‘natural’ weighting. The ‘robust’ parameter is not fixed based on the deep optimization. There is still room to examine that.
imagermode='mosaic', mosweight = True
To deal the data obtain with a heterogeneous array in the CLEAN task, we need to set the ‘mosaic’ option to ‘imagemode’, even when you synthesize an image from the single-pointing data. In most solar cases, the average brightness of a field might be significant different from that of the other fields. Therefore, we use ‘mosweight’ function.
<xr id="img" /> is the synthesized image from the SV data.
Primary beam correction and creating of the FITS file
To do the primary beam correction and create the FITS file of the corrected map, the following commands.
# In Casa impbcor(imagename='AR12470_B6AllSpw_I.image', pbimage='AR12470_B6AllSpw_I.flux', outfile='AR12470_B6AllSpw_I.pbcor', mode='divide') exportfits(imagename='AR12470_B6AllSpw_I.pbcor', fitsimage='AR12470_B6AllSpw_I.fits')
Note: The FITS file can be imported to the data-analysis environment based on SolarSoftWare (SSW) + IDL without any modification, but the coordinate system is the RA/Dec coordinate. You have to convert the coordinate from the RA/Dec coordinate system to the heliocentric coordinate system (X-cen/Y-cen) for the co-alignment with the other solar instrument’s data.
Alternative way of the Imaging
If you do not want to cut-&-past all commands shown in above, you can use the script included in the file Sunspot_Band6_CalibratedData.tgz. The script can be executed as follows, after downloading the file.
# In a terminal outside CASA tar -xvzf Sunspot_Band6_CalibratedData.tgz cd Sunspot_Band6_CalibratedData #Start CASA casa #In CASA execfile(“SunspotBand6Img.py”)
Or the script can be executed as follows, after downloading the file of uncalibrated data package ‘Sunspot_Band6_UncalibratedData.tgz’ and installing the Analysis Utilities packages.
# In a terminal outside CASA tar -xvzf Sunspot_Band6_UncalibratedData.tgz cd Sunspot_Band6_UncalibratedData #Start CASA casa #In CASA execfile(“SunRedUtil.py”) execfile(“SunspotBand6Cal.py”) execfile(“SunspotBand6Img.py”)