|
All images taken with the Advanced Camera for Surveys Wide
Field Channel (ACS/WFC) after Servicing Mission 4
show a row-correlated noise due to the CCD Electronics
Box Replacement (CEB-R). The CEB-R includes an Application-Specific
Integrated Circuit (ASIC) that generates the bias and reference
voltages for the Wide Field Channel CCDs. The ASIC voltages
suffer from low-frequency noise, at 1mHz to 1Hz (Loose 2011).
This noise contribution, first seen in CEB-R thermal-vac testing,
does not matter for bias voltages going to the CCDs because the
fluctuations are cancelled out by correlated double sampling (CDS)
during the CCD readout. However, there is one reference voltage
from the ASIC that is used to offset the signal, applied after the
CDS stage. Here, the noise does not cancel out, and manifests as a
slow moving variation of the baseline. A power-spectrum analysis
reveals this to be very nearly "1/f"-noise, also known as "pink noise".
In practice, we observe a horizontal "striping" in all post-SM4 WFC images,
virtually uniform along rows for all four amplifiers reading out the
two WFC CCDs. Because the amplifiers are in the corners of the WFC
footprint, the row striping noise in WFC1 is mirror-reversed in the WFC2 rows.
An example of this phenomenon is shown in Figure 1.
The 1/f power spectrum of this striping noise means that the fluctations
are increasingly stronger on increasingly larger scales.

Figure 1: The WFC1
readout from a post-SM4 bias frame, which has been subtracted by the
calibration superbias (nearly stripe-free) to remove fixed bias
structure and thereby highlight the striping noise.
During a year of monitoring after SM4, the striping noise amplitude has
remained highly stable. The amplitude distribution of the stripes is
shown in Figure 2. This distribution is well fit across most of its
range by a Gaussian profile with sigma = 0.75 electrons (Fig. 2, red).
There is a modest negative skewness that brings the overall standard
deviation to 0.9 electrons. This is less than 25% of the
WFC read noise, and for most WFC science will present negligible
effect (e.g., for small-aperture photometry with local background estimation).
However, the highly correlated nature of the
striping noise can strongly impact certain science cases
such as faint-isophotal analyses or weak-lensing studies relying
upon precise ellipticity measurements for faint galaxies. For this
reason, the ACS Team has tested several algorithms for post-SM4
striping removal, and we are making available the preferred algorithm here.

Figure 2: Histogram of
WFC stripe-noise intensity as measured from a year of post-SM4
BIAS images.
Because of the low level of the striping noise relative to the WFC
read noise, and because of the relatively few pixels available in the WFC
overscans, we must fit the stripes across the science area. In essence,
this represents a row-by-row determination of the background, with the
advantage that the mirror-imaging of the stripe noise between CCDs
allows us to fit two spatially-separated rows (8192 total columns)
simultaneously.
For images where the sky background is low to moderate (<35 electrons),
and where the astronomical scene is relatively "uncomplicated", the algorithm
does an excellent job of suppressing the striping noise. However for bright
backgrounds and/or complicated scenes where a uniform sky is nonexistent
(e.g., WFC-spanning nebulosity or background gradient) or difficult to isolate
(e.g., WFC-spanning globular cluster), this algorithm will do more harm than
good. As an a posteriori check, we suggest that you compare the
difference between corrected and uncorrected WFC images with the histogram
shown in Figure 2. If the code is correcting the image with a much broader
striping distribution than 0.9 electrons, we recommend that you do not use
the striping correction code. In such cases, it is likely that the low-level
striping will not significantly impact your science.
For a more comprehensive treatment of the bias striping and its mitigation,
we refer the reader to
Grogin et al. (2011).
The task, acs_destripe, has been written in Python as part of the
acstools package within PyRaf. The latest available version of this code
can be found here.
Please bear in mind the following caveats if you are planning to use this code:
- This code is intended for use only upon post-SM4 full-frame ACS/WFC images in FLT format.
- It should only be used upon images already dark-subtracted (header keyword DARKCORR="COMPLETED")
- It is known to perform poorly in the presence of high backgrounds and/or complicated scenes.
- In addition to de-striping, this code also performs an approximate correction for WFC intra-CCD
amplifier crosstalk (A<-->B and C<-->D crosstalk) assuming GAIN=2 crosstalk properties.
- If you also plan to use the pixel-based CTE correction ,
remove the striping before correcting the CTE.
The following tutorial will guide you in correcting your post-SM4
ACS/WFC images for bias striping, using the publicly available
algorithm described in Grogin et al. (2011).
The target for the de-striping code must be a FLT-format image (not yet
drizzled) whose filename ends in "_flt.fits". This image must have
been processed by calacs at least through the DARKCORR stage,
and have units of counts or electrons. The code also needs access to the
flatfield for the image, as specified in the FITS extension-0 header
keyword PFLTFILE. When retrieving your image(s) from the HST Archive,
specifying the FLT file extension and the "Used Reference Files"
should be sufficient.
Let us assume that we are in a directory containing
a post-SM4 WFC FLT file to be de-striped
(j12345678_flt.fits),
and also containing its associated flatfield
(q12345678_pfl.fits)
retrieved from the HST Archive.
The procedure for stripe removal begins as follows:
Start the PyRAF program:
> iraf
> pyraf
PyRAF 1.9.1.dev (r1290) Copyright (c) 2002 AURA
Python 2.5.4 Copyright (c) 2001-2008 Python Software Foundation.
Python/CL command line wrapper
.help describes executive commands
-->
Edit the keyword PFLTFILE
to your FLT image header using task hedit.
--> hedit j12345678_flt.fits[0] PFLTFILE q12345678_pfl.fits
The above step may be skipped if you maintain a jref/ directory
of reference files where you have placed this flatfield, and your
$jref environment variable is set to this directory. Alternately
you may specify any valid pathname for the PFLTFILE keyword if
you keep the flatfield elsewhere on the filesystem. Beware
exceeding the FITS header character-length limit if specifying an
absolute pathname for PFLTFILE.
Now your FLT file is ready to be used as input for
the stripe removal code.
Within PyRAF, the task acs_destripe
is located in the acstools package, so we first need to import it:
--> import acstools
The following tasks in the acstools package can be run with TEAL:
PixCteCorr acs_destripe updatenpol
The code is run from the TEAL (Task Editor And Launcher) GUI, by typing
--> epar acs_destripe
This will open a window that allows the user to modify
parameters and run the code.
In our example, we will specify the name of the file to correct,
and also an arbitrary suffix for the de-striped output:
input = j12345678_flt.fits
output = dstrp
You may right-click on the input text box to
browse for the input file. If you have several files, the usual
wildcards (e.g., @list, j*_flt.fits, etc.) are
available in the input specification.
To run the code, click on the Execute button.
Brief status messages are written to the screen as the
code progresses through the images:
Task acs_destripe is running...
Processing j12345678_flt.fits ...Created corrected image: j12345678_flt_dstrp.fits
If the output file already exists, the task will abort
unless the clobber parameter
is set to "Yes".
The stripe-corrected image is suitable
for further processing as customary for FLT files (e.g., with
Drizzle/Multidrizzle).
Because the stripe removal algorithm
is known to perform poorly under certain conditions, we strongly urge
you to visually inspect the output file before proceeding further.
For a quantitative assessment of the stripe-removal fidelity, we
suggest differencing the input and output SCI extensions and comparing
the difference image histogram (the removed stripes) with the
distribution plotted in Figure 2. If your distribution of stripe
values is significantly broader, we recommend that you
work with the original rather than the de-striped FLT.
Within PyRAF, additional help is available via the TEAL interface:
simply click Help on the upper right corner of the TEAL
window and select Acs_destripe Help.
An available STSDAS Documentation page for acs_destripe
can be reached
here
We explicitly request that the community provide us with feedback and
input on the performance of the algorithm, its applicability, and any
suggestions that might be beneficial. To do this, please send a message to
the STScI Help Desk and it will be forwarded to the ACS Team.
|