Last modified: 24 October 2023

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

ACIS Pixel Randomization


Prior to the implementation of version DS 8.4 of the Standard Data Processing (SDP) code in the pipeline (28 June 2011), the coordinates of ACIS events were randomized to avoid possible aliasing affects associated with the CCD pixel grids. The locations were randomized by adding a uniform random deviate in the range [-0.5,+0.5) pixel (i.e. from -0.246 to +0.246 arcsec on axis) to the integer values of the CCD coordinates CHIPX and CHIPY when the real-valued sky coordinates X and Y are computed. With the implementation of version DS 8.4 (28 June 2011), the default processing applies the sub-pixel event-repositioning algorithm EDSER.

Removing the randomization

Users interested in closely-spaced point sources or closely-spaced features in an extended source can reprocess older data to remove the randomization and to apply a sub-pixel algorithm.

Be aware that there are no PSF calibration products appropriate for data that has not had the coordinates randomized.

To remove the pixel randomization and apply the sub-pixel algorithm EDSER, run acis_process_events with the parameter pix_adj=EDSER.

Using a level=2 event file as input

Since recomputing the coordinates does not affect any of the status, grade, or time filters, it may be run on level=2 imaging data. If you are analyzing grating data, you must run this thread on the level=1 event file, then complete the appropriate "Obtain Grating Spectra" thread to create an new level=2 event file.

In this case, several additional parameters are set so that acis_process_events does not recompute the values of FLTGRADE, GRADE, and PHA (doevtgrade=no) or the values of ENERGY and PI (calculate_pi=no). A custom "level 2" eventdef is specified. The reason for this is explained in the "Why is my level 2 event file larger than the one from the pipeline?" FAQ.

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): ERROR: Cannot load MTL file, 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; they are triggered because mtlfile=NONE (by default), doevtgrade=no, and calculate_pi=no.

Continuous-clocking mode

Although it is possible, as of CIAO 4.8, to use pix_adj=EDSER for continuous-clocking mode observations the subpixel adjustments affect not only the coordinates, but also the times of such datasets. Since the algorithm can introduce non-astrophysical features in the times of arrival, the adjustment is not used in the standard data pipeline for continuous-clocking mode (i.e. pix_adj=NONE).