Last modified: 24 October 2023

URL: https://cxc.cfa.harvard.edu/ciao/why/acissubpix.html

ACIS Energy-Dependent Subpixel Event Repositioning (EDSER)

About the EDSER Algorithm

Prior to standard data processing (SDP) version DS 8.4 (28 June 2011), the coordinates of ACIS events were randomized by up to +/- 0.5 pixel to avoid possible aliasing affects associated with the CCD pixel grids. See the pixel randomization why topic for more information.

Since the size of the core of the point spread function is smaller than the size of the ACIS pixels near the optical axis of the telescope, images of sources with arcsecond-scale features can be improved by using a subpixel algorithm (and by binning on scales smaller than a pixel).

One such algorithm, the Energy-Dependent Subpixel Event Repositioning (EDSER) algorithm of Li et al. (2004, ApJ, 610, 1204), was incorporated into the tool acis_process_events in CIAO 4.3 and into SDP version DS 8.4. Timed exposure mode datasets that were processed or reprocessed using these or later versions of the tool had the EDSER algorithm applied by default. Figures 1 and 2 show examples of datasets processed using subpixel algorithms.

The tool acis_process_events was modified in SDP version DS 10.4.2.1 (30 September 2015) and in CIAO 4.8 to make it possible to use the subpixel algorithm for continuous-clocking mode datasets. Since the subpixel adjustments affect not only the coordinates, but also the times of such datasets, and since the algorithm can introduce non-astrophysical features in the times of arrival, the adjustment is not used in the standard data pipeline.

Note that the use a subpixel algorithm has little effect for sources that are far from the optical axis or that do not have small-scale features.

[Three       examples of the EDSER algorithm.]

Fig. 1. Three examples of the EDSER algorithm. Panels (a), (b), and (c) are images of planetary nebulae BD +30°3639, NGC 7027, and NGC 6543, respectively, from Kastner et al. (2002, ApJ, 581, 1225). The images on the left-hand side include the effects of pixel randomization. The images in the middle include neither a randomization nor the EDSER subpixel adjustment. The images on the right-hand side include the effects of the EDSER algorithm. The left-hand and middle images have 0.5 arcsec bins. The right-hand images have 0.25 arcsec bins.

[Another       example of a subpixel algorithm.]

Fig. 2. The nucleus of NGC 4151. The left-hand image does not include the effects of a subpixel algorithm and has 0.5 arcsec bins. The right-hand image includes the effects of the SSER (not EDSER) algorithm of Li et al. (2004, ApJ, 610, 1204) and has 0.0625 arcsec bins (Wang et al. 2011, ApJ, 729, 75).

Caveat: PSF Calibration

While the subpixel algorithm EDSER improves the ability to study arcsecond-scale features, the Chandra point spread function (PSF) has not been calibrated on these spatial scales (e.g. see Probing higher resolution: an asymmetry in the Chandra PSF). As reported to the Chandra Users' Committee in October 2010, MARX now includes the option to include EDSER subpixel positions.

The Chandra Ray Trace caveats describe other limitations of the PSF modelling tools.

Applying & Removing the Adjustment

To use the algorithm EDSER, run the script chandra_repro with the parameter pix_adj=EDSER or run acis_process_events with pix_adj=EDSER (the default value). The algorithm does not change the values of the coordinates CHIPX and CHIPY, but does adjust the values of the detector coordinates DETX and DETY and the sky coordinates X and Y. For continuous-clocking mode datasets, the coordinates SKY_1D and TIMEs of arrival are also adjusted. The size of the adjustments for an event depend upon the flight grade and the energy of the event.

The ACIS Sub-Pixel Event Resolution analysis guide provides suggestions about how to analyze subpixel adjusted data.

To remove subpixel adjustments, run the script chandra_repro (or acis_process_events) with the parameter pix_adj=NONE (or pix_adj=RANDOMIZE).

Using a level=2 event file as input

Usually, Level 1 event data should be used when reprocessing. However, if a dataset is being reprocessed strictly for the purpose of applying a subpixel adjustment, then the input file may be (but does not have to be) a Level 2 event file instead of a Level 1. In this case, acis_process_events should be run with doevtgrade=no and calculate_pi=no to prevent the tool from recomputing the values of FLTGRADE, GRADE, PHA, ENERGY, and PI. The parameter eventdef should also be modified as shown in the example below for the reason described in the FAQ "Why is my level 2 event file larger than the one from the pipeline?".

unix% punlearn acis_process_events
unix% acis_process_events infile=acis_evt2.fits outfile=acis_new_evt2.fits \
      acaofffile=pcad_asol1.fits doevtgrade=no calculate_pi=no \
      pix_adj=EDSER \
      eventdef='{d:time,s:ccd_id,s:node_id,i:expno,s:chip,s:tdet,f:det,f:sky,l:pha,l:pha_ro,f:energy,l:pi,s:fltgrade,s:grade,x:status}'

# acis_process_events (CIAO 4.4): WARNING: Cannot load MTL file 'NONE', will not apply FPTEMP dependent cti corrections
# acis_process_events (CIAO 4.4): WARNING: The CTI adjustment to PHA will not be (re)computed or removed because doevtgrade=no.
# acis_process_events (CIAO 4.4): WARNING: The time-dependent gain adjustment to PHA will not be (re)computed or removed because doevtgrade=no.
# acis_process_events (CIAO 4.4): WARNING: The values of PHA, ENERGY, PI, FLTGRADE and GRADE may be inaccurate because doevtgrade=no.
# acis_process_events (CIAO 4.4): WARNING: The values of ENERGY and PI may be inaccurate because calculate_pi=no.

The warnings are expected because mtlfile=NONE (the default), doevtgrade=no, and calculate_pi=no.

A subpixel adjustment is not recommended for grating data because the grating responses have not been calibrated for subpixel-adjusted data.

Additional Resources