Chandra X-Ray Observatory
Skip to the navigation links
Last modified: September 2016

AHELP for CIAO 4.9


Context: tools


Generate a photometric lightcurve from ACA monitor data.


monitor_photom  infile output [dark_ratio] [min_dark_limit]
[min_dark_meas] [max_dither_motion] [verbose] [clobber]


The Aspect Camera Assembly (ACA) on Chandra is part of the Pointing Control and Aspect Determination (PCAD) System, and is used to track the location of guide stars during an observation. The ACA can monitor one star during an observation, rather than use it to track the pointing of the spacecraft. For observations where this option was selected, the standard data products (SDP) include the monitor data in the pcad*adat71.fits files (the "7" indicates the ACA slot number, which is always 7 for the monitor data). The monitor_photom script is used to convert this data into a photometric lightcurve for further processing.

This script is used in the Processing ACA Monitor Window Data thread.

Advanced Support

If the monitor photometry data indicate scientifically interesting results worthy of detailed study, users may wish to contact the CXC HelpDesk for further advice on possible techniques to reduce the systematic errors.


unix% monitor_photom pcad_adat71.fits lc.fits verbose=1

The default parameter valued for monitor_photom (apart from the verbosity) are used to create a light curve lc.fits from the data in pcad_adat71.fits. The following screen output is generated:

          infile = pcad_adat71.fits
         outfile = lc.fits
      dark_ratio = 0.005
  min_dark_limit = 80
   min_dark_meas = 10
max_dither_motion = 10
         verbose = 1
         clobber = no
            mode = ql

Filtering image data (cosmic ray removal)...
Stacking dark current data...
Average counts  (e-) = 29882.9175202
Warm dark limit (e-) = 149.414587601
Warm pixel at CCD (row,col) = (-6,8)	 Dark current (e-) = 390.0
Warm pixel at CCD (row,col) = (-13,9)	 Dark current (e-) = 320.0
Warm pixel at CCD (row,col) = (-7,10)	 Dark current (e-) = 160.0
Warm pixel at CCD (row,col) = (-11,11)	 Dark current (e-) = 215.0
Warm pixel at CCD (row,col) = (-7,11)	 Dark current (e-) = 280.0
Warm pixel at CCD (row,col) = (-5,13)	 Dark current (e-) = 345.0
Warm pixel at CCD (row,col) = (-6,16)	 Dark current (e-) = 355.0
Warm pixel at CCD (row,col) = (-9,17)	 Dark current (e-) = 185.0
Warm pixel at CCD (row,col) = (-9,18)	 Dark current (e-) = 215.0


name type ftype def min max reqd
infile file input       yes
output file output       yes
dark_ratio real input 0.005      
min_dark_limit real input 80.0      
min_dark_meas integer input 10      
max_dither_motion integer input 10      
verbose integer   0 0 5  
clobber boolean   no      

Detailed Parameter Descriptions

Parameter=infile (file required filetype=input)

ACA image data file

The PCAD Level 1 ACA image data files (pcad...adat71.fits) are found in the secondary/ directory. The "7" in "adat71" refers to image slot 7, which is the slot where monitor window data always appear.

The monitor window data are available beginning with standard data processing (SDP) version DS 7.6.0.

Typically the image data are split over a number of files. Use dmmerge to merge them into a single file for input to monitor_photom:

unix% ls -1 *adat71.fits > adat71.lis
unix% dmmerge infile=@adat71.lis outfile=pcad_adat71.fits

Parameter=output (file required filetype=output)

Output lightcurve

The lightcurve contains columns with the time, counts, count rate, magnitude, and background-subtracted image. The magnitude is defined as

m_ACA = 10.32 - 2.5 * log10(cnt_rate / 5263.0)

An approximate formula relating B and V magnitude to m_ACA is given in the Aspect chapter of the Proposers' Observatory Guide.

Parameter=dark_ratio (real filetype=input default=0.005)

Dark ratio

This parameter affects the way in which warm pixels are detected.

Parameter=min_dark_limit (real filetype=input default=80.0)

Minimum warm pixel dark current

This parameter affects the way in which warm pixels are detected.

Parameter=min_dark_meas (integer filetype=input default=10)

Minimum warm pixel measurements

This parameter affects the way in which warm pixels are detected.

Parameter=max_dither_motion (integer filetype=input default=10)

Maximum possible dither motion (pixels)

Parameter=verbose (integer default=0 min=0 max=5)

Amount of tool chatter

Parameter=clobber (boolean default=no)

Remove outfile if it already exists?

How is the light curve generated?

The basic idea of the detection algorithm is to sample pixels from the outer edge of the readout window and look for values higher than a threshold. At the edge, the contamination of the dark current measurement from the monitor star is minimized. Since the readout window moves with respect to the CCD due to dither, the edge pixels end up sampling much of the CCD region used for imaging. In this way one can build up a map of warm pixels.

The main processing steps of the monitor_photom script are:

  • Read the image data file.
  • Median filter image data in time on a pixel-by-pixel basis to remove cosmic rays.
  • Search for "warm" pixels that have a dark current well outside the normal distribution. These pixels can significantly affect photometry as they dither in and out of the 8x8 pixel image readout window.
  • Subtract the background from each image readout. For warm pixels the detected value for that pixel is used, while for all others the median background dark current reported by the ACA is used.
  • Produce lightcurves in counts, counts/sec, and mags.


There are three limitations to the algorithm:

  • Background pixel sampling is not complete nor uniform.
  • For brighter stars, even the edge pixels have significant contribution from the star light so it is not possible to get a true dark current measurement. The "dark_ratio" parameter specifies that the warm pixel threshold be no less than dark_ratio * avg_source_counts.
  • The current algorithm does not account for flickering pixels where the dark current fluctuates between two or more values.

Changes in 4.8.4 (September 2016)

Internal changes only to support future changes in NumPy array indexing.


There are no known bugs for this tool.

See Also

lc_clean, lc_sigma_clip, lightcurves
axbary, deflare, glvary, gti_align, multi_chip_gti, pfold

Last modified: September 2016
Smithsonian Institute Smithsonian Institute

The Chandra X-Ray Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory. 60 Garden Street, Cambridge, MA 02138 USA.   Email: Smithsonian Institution, Copyright © 1998-2017. All rights reserved.