Jiggle-map polarimetry data reduction
Reducing jiggle-map polarimetry data |
|
The polarimetric jiggle-map data reduction uses POLPACK (for complete details, see the locally available online manual) running
under the automatic
reduction pipeline ORACDR. A detailed knowledge of SURF
and POLPACK is not required, but looking at the manuals will help in
understanding the reduction steps.
While observing, you will normally have
the ORACDR pipeline running, and polarimetry images at 850 microns will be
reduced automatically. Procedures for reducing the data when not at the
telescope (offline) are very similar. In either case, first set up useful
variables based on UT date:
This defaults to reducing data for the
current night, so if you are working offline, use 'scusetenv yyyymmdd', where
yyyymmdd is a date such as 19990101. You also need to tell ORACDR where to
put the output files, so to use the current directory,
- setenv ORAC_DATA_OUT `pwd`
noting that those are backwards apostrophes!!
To run the pipeline at the telescope you need only set it
going:
while offline, you should also supply the date and
observation numbers:
- oracdr -ut 19990101 -list 1:10
ORACDR reduces the data as follows. Each waveplate cycle
produced 16 images, which give 4 sets of the Stokes parameters I, Q and U
(where Q and U are the two orthogonal components of linear polarization).
First, 16 rebinned images are generated, with the outer ring of the LW array
used for sky-noise removal and instrumental polarization subtracted. (A
default IP file is used for 850/450 micron observations; if you observed at
750/350, consult your support scientist for how to use an alternative file.)
The polarized modulation repeats every 90 degrees of the waveplate position
(giving the 4 sets), so next the data are 'stacked' and each 4 equivalent
measurements used to generate error images. Then the 'polcal' task in POLPACK
is used to fit a sine wave through data points in the 4 rebinned images,
to produce the Q,U parameters and the mean intensity I. Finally the
pixels are binned to improve the signal-to-noise, and a catalogue of the
polarization parameters p,theta (the percentage and position angle of the
polarization) is generated from Q/I and U/I.
The ORACDR display screen will first show the results from an
individual cycle, binned to produce a polarization vector every 6 arcsec.
After 2 or more cycles, the screen will then produce a new display, with the
co-added results (from averaging of the I,Q,U data cube), but showing a vector
only every 9 arcsec and only if better than 3 sigma (theta defined to +/- 10
degrees). Thus you can see first if the last cycle produced any results, and
then how you're doing with all the data. The binning and S/N criteria are
somewhat arbitrary - the actual sampling on the sky is 6 arcsec, but using a 3
arcsec pixel gives a neater I image, while binning just the polarimetry data to
larger pixels improves the S/N.
If there are noisy (or dead) bolometers, these may
produce a few spurious vectors. It is advisable to turn these off in the
pipeline - simply add (for example) -cal badbols=h6:h14 at the end of the
oracdr command. Note that the bolometers should be separated by colons,
not commas!
To reduce data for the short-wave array, you need to copy
the data reduction recipe, SCUBA_JIGPOLMAP, from $ORAC_DIR/recipes/SCUBA to
your current directory, and change the line
_EXTINCTION_CORRECT_ SUBS=long
to
_EXTINCTION_CORRECT_ SUBS=short
You then need to use
- setenv ORAC_RECIPE_DIR `pwd`
to run your 'local' version of the recipe.
Similarly, you can use different bolometers for sky-noise
removal by changing e.g.
_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=r3 MODE=mean ADD=false
to
_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=[r3,-i7,-i8,-i9] MODE=mean ADD=false
if you want to use the outer ring, but not bolometers which have flux in
them, or
_REMOVE_SKY_NOISE_JIGGLE_ BOLOMETERS=[i5,i6,i7,i8,i9] MODE=mean ADD=false
to use only certain bolometers which look empty. Or, you can
just change the mode used for sky subtraction to 'median', and then provided
your source emission fills less than half the outer ring, the median bolometer
will be a true 'sky' bolometer. This is often preferable, as sky rotation means
that bolometers picked as 'sky' may be 'source' later on! Also, to pick
bolometers you need to display the rebinned image (..._long_reb.sdf) and then
use the SURF command 'scuover' to plot the bolometer positions and see which
ones are empty for the current observation.
If your source is faint, you may need to change the default
smoothing, binning and S/N criteria to produce any vectors in real-time. Copy
the SCUBA_JIGPOLMAP recipe to your local directory, rename it, edit it and then
call it instead of the default (as described above, now just add the name of
your personal recipe at the end of the oracdr command - for example 'oracdr
MY_JIGPOLMAP', no hyphens or option names required). You will see the name of
your recipe come up in the oracdr information screen. For the editing, I
suggest changing the binning first, in the
_CALCULATE_POLARISATION_FROM_CUBE_GROUP_ line, from BIN=3 to BIN=5 (which will
be about a beam-width, or 5 pixels). If really desperate to see something,
change to S2N=2.0 (or less) in this line. If still nothing, increase SMOOTH=5
in the _REBIN_INTEGRATIONS_ line (this is in arcsec, try up to 15 which will be
a beam-width).
It may be simpler to fiddle around with the S/N when you have
reduced all the data for an object (note that fields will have been
automatically mosaiced if they have the same source name or belong to the same
group). Start by running up the packages POLPACK and CURSA. Then use 'polbin'
to rebin the polarization catalogue (....grp..._cat.FIT) by a specified number
of 3-arcsec pixels, e.g. 5 pixels, and save this with an output catalogue name
of your choice (the .FIT extension will be added automatically). Then use
'catselect' to specify your criteria - the selection type should be set to 'e'
(short for 'expression') and you can choose any expression similar to 'p < 15 &
p/dp > 3 & i > 0', using & symbols to separate criteria. In this example, p
will be OK if less than 15%, you want at least 3-sigma detections (equivalent
to position angles accurate to at least +/- 10 degrees; you can specify 'dang <
10' instead if you want), and you want positive flux (which eliminates any
problems with chopping onto the source).
To get a hardcopy of the image with polarization vectors on
top, the easiest method is to press the 'print' button on the oracdr display
window. Then save the plot to a file (.ps or .eps) and send it to the printer
(e.g. 'lp -d jcmt' at the telescope). This does not give great quality however,
so if you want to get publication quality, you need to run up the KAPPA (or
GAIA) packages. In KAPPA, for example, using
display axes device=epsfcol_l lut=$KAPPA_DIR/heat_lut ...._avcube'(,,1)'
plots the intensity image (part of the whole datacube ..._avcube.sdf), and from
POLPACK,
polplot noclear device=epsfcol_l noaxes cat=my_cat
(where my_cat.FIT is your final catalogue) will plot the vectors. You can add
angrot=90 at the end if you want rotated vectors, showing the magnetic field
directions. You can also use style='colour(vec)=red' or style='width(vec)=3' to
fiddle with vector colours and thicknesses. When you're happy, use something
like 'psmerge -e gks74.ps gks74.ps.1 > my_plot.ps' to get the combined
image-and-vectors plot file, and print as above.
|