Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 803
News FAQ
Search Home


next up previous contents
Next: Making Images Up: Instrumental Polarization Calibration Previous: Instrumental Polarization Calibration

Continuum polarimetry case (only)

First make IQUV images of the polarization calibrator 3C 286 to determine the polarization model (a more detailed description of imaging is given in the next section). First, start the imager tool and click on the Function Group button to the left of the GUI. Choose the option ALL function groups so you can see all possible functions available within the imager tool. Then select the 3C 286 data, define the image characteristics and weighting scheme. Finally, make a simple, un-CLEANED image called 3c286.cal1.im and write it to disk:

imgrC:=imager(filename='ap366.ms');          # Start the imager tool
imgrC.setdata(mode='none',                   # Select continuum data for
              fieldid=11);                   #  for 3C 286.
imgrC.setimage(nx=512,                       # Set up imaging parameters.
               ny=512,
               cellx='0.1arcsec',
               celly='0.1arcsec',
               stokes='IQUV',
               fieldid=11);
imgrC.weight(type='uniform');                # Choose weighting 
                                             #  e.g. uniform, natural.
imgrC.makeimage(type='corrected',            # Make an image using the 
                image='3c286cal1.im');       #  CORRECTED_DATA column
                                             #  in the MS.  Write the image
                                             #  3c286cal1.im to disk.
The resulting image, 3c286cal.im, written to disk, has 4 planes, with I, Q, U, and V images. Use the viewer to obtain statistics on each plane of the IQUV image (see the Image Analysis section of this document for details about Viewer operation). Very briefly, bring up the image with the viewer by left-clicking on the wrench icon to the right of the image name in the GUI input, and choosing the option View. Once the viewer window comes up, use the arrow buttons on the right of the viewer to display the Q image (2nd image plane). Then, left-click on the Tools button at the top of the viewer and choose the ImageStatistics option to bring up an Image Statistics GUI. Click on the Statistics option in this GUI. To obtain statistics in the 2nd image plane, left-click on the Plane button. Record the maximum OR minimum value, which ever has the largest absolute value. Use the viewer arrow buttons to display the U image and repeat this procedure. Now, using the Stokes I value reported by the Imager.setjy function run earlier and assuming V=0, the final polarization model is:
I = 7.462  Q = 0.4982  U = -0.6988  V = 0

If your data set has two spectral windows, create an image with spwid=2 and repeat this procedure to find I, Q, and U.

Now, set the flux density model of 3C 286 with imager.setjy and proceed to the calibrator tool to solve for the polarization ``leakage'' terms (aka D-terms):

stokes := [7.462, 0.4982, -0.6988, 0.0]      # Define polarization model 
                                             #  determined from imaging
imgrC.setjy(fieldid=11,                      # Set model for IQUV
            fluxdensity=stokes);           

calC.setdata(msselect='FIELD_ID==11');       # Select data for polarization
                                             #  calibrator, 3C286
calC.reset();                                # Reset setapply/setsolve
calC.setapply(type='P',                      # Arrange to apply parallactic angle
              t=5.0);                        #  correction
calC.setapply(type='G',                      # Arrange to apply flux-scaled
              t=0.0,                         #  G solutions
              table='ap366.fluxcal');
calC.setsolve(type='D',                      # Arrange to solve for D over a long 
              t=86400.0,                     #  time scale, average data within 
              preavg=600.0,                  #  the solution to no more than 600 
              table='ap366.dcal');           #  sec per chunk. 
                                             #  Write the solutions to the table 
                                             #  ap366.dcal located on disk. 
calC.state();                                # Review setapply/setsolve settings
calC.solve();                                # Solve
calC.plotcal(plottype="DRI" ,                # Examine solutions
             tablename="ap366.dcal");

The calibrator.state and calibrator.solve functions will produce the logger messages:

  The following calibration components will be applied:
    G table=ap366.fluxcal t=0 select=[]
    P table=<pre-computed> t=5 select=[]
  The following calibration components will be solved for:
    D table=ap366.dcal t=86400 preavg=600 phaseonly=F refant=4 append=F
  Solving for D
  D Jones Slot=1, 1328+307, spw=1: 23-May-1998/00:53:15 to 23-May-1998/04:45:40
  D Jones    Initial fit per unit weight = 0.191679 Jy, sum of weights = 25290
  D Jones    Final   fit per unit weight = 0.13899 Jy after 8 iterations
  Storing D matrix in table ap366.dcal

The D-term solutions (Fig. 1.16) are plotted with PLOTTYPE=DRI: D-term real versus imaginary components. Most solutions are less than 1% except for a few antennas with about 3% leakage. This is a reasonable solution. See:
http://www.aoc.nrao.edu/$ \sim$gtaylor/calman/polcal.html for a detailed description on how to plan for good polarization calibration and what to expect when solving for D-terms.

\begin{figure}
% latex2html id marker 1120
\epsfig{file=cookbook.dir/vla.plotcal...
...nnas. X and Y axes are plotted as percent polarization.}
\hrulefill
\end{figure}

Now, correct the data for P, G and D as follows:

calC.setdata(msselect='FIELD_ID IN [9:11]'); # Select fields 9, 10, & 11 to 
                                             #  which calibration will be applied:
                                             #  9  = gain calibrator 0917+642
                                             #  10 = target source 0957+561
                                             #  11 = polarization cal 3C 286
calC.reset();                                # Reset setapply/setsolve
calC.setapply(type='P',                      # Arrange to apply parallactic 
              t=5.0);                        #  angle correction
calC.setapply(type='G',                      # Arrange to apply flux-scaled
              t=0.0,                         #  G solutions
              table='ap366.fluxcal');  
calC.setapply(type='D',                      # Arrange to apply D solutions
              t=0.0,
              table='ap366.dcal'); 
calC.state();                                # review setapply settings
calC.correct()                               # Write the corrected the data
                                             #  to the CORRECTED_DATA column
                                             #  in the MS

The calC.state and calC.correct functions will report in the logger window:

  The following calibration components will be applied:
    D table=ap366.dcal t=0 select=[]
    G table=ap366.fluxcal t=0 select=[]
    P table=<pre-computed> t=5 select=[]
  The following calibration components will be solved for:
    None.
  Initializing non-solvable parallactic angle (P-matrix)
  For interval of 5 seconds, found 213 slots
  Applying G table from ap366.fluxcal
  Applying D table from ap366.dcal

Polarization calibration is almost complete at this point - the final step, calibrating the electric vector position angle, will be done during the imaging steps below.


next up previous contents
Next: Making Images Up: Instrumental Polarization Calibration Previous: Instrumental Polarization Calibration   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2004-08-28