[PREVIOUS] [NEXT] [CONTENTS] ACIS Users Guide, Rev. A [AXAF]

3.5 Managing the Bad Pixel and Column Maps

The ACIS Instrument software maintains lists of bad pixels and vertical columns for each CCD. The instrument uses these lists to reduce the amount of processing time and telemetry consumed by "fake" events produced by pixels and columns which are known to be producing erroneous information. Over the life of the instrument, pixels and columns within the CCDs will erode due to radiation damage.

3.5.1 Adding Bad Pixels and Columns

Description

ACIS supports a single "Bad Pixel Map", and two "Bad Column Maps", one for Timed Exposure science runs, and one for Continuous Clocking science runs. The Bad Pixel Map can contain up to 10,000 entries, and each Bad Column Map can contain up to 10,240 entries each (i.e. you can eliminate every column if you want to).

The user can append a set of new bad pixels to the on-board bad pixel map using a "Add Bad Pixel" command packet, which contains a list of zero or more pixel entries to add. Each entry specifies which CCD contains the pixel, and the row and column position of the pixel within that CCD.

One uses the "Add Bad Te Column" or "Add Bad Cc Column" command packet to add a list of zero or more bad column entries to the Timed Exposure Bad Column Map and Continuous Clocking Bad Column map, respectively. Each entry specifies which CCD contains the column, and the column position within that CCD.

Once loaded, the bad pixel and column maps are only used after a bias-map has been recomputed. After a bias map for a CCD has been recomputed, the bad pixel and column maps are scanned. If an entry is found for the CCD, the corresponding pixel(s) bias map value is set to "PIXEL_BAD" (for columns, all 1024 pixels in the column are flagged). This prevents the system from reporting events centered on these pixels. For Timed Exposure science runs, the Bad Pixel map and Timed Exposure Bad Column map are used. For Continuous Clocking science runs, only the Continuous Clocking Bad Column Map is used.

Refer to Section 3.6.2.1 for a description of how to dump the contents of the Bad Pixel and Column maps.

NOTE: When the BEP is power-cycled or cold booted, the bad pixel map and bad column maps are reset and re-loaded with the default lists stored in ROM. All pixels and columns commanded prior to the reset are lost. A warn-boot, however, preserves the lists.

Commands

Adding one or more Bad Pixels

addBadPixel: CMDOP_ADD_BAD_PIXEL
{
  pixels[]    = Array of pixel entries
  {
    ccdId     = I0..S5     - Which CCD contains the pixel
    ccdRow    = 0..1023    - CCD row position of the pixel
    ccdColumn = 0..1023    - CCD column position of the pixel
  }
  ...
}

Adding one or more Bad Timed Exposure Columns

addBadColumn: CMDOP_ADD_BAD_TE_COL
{
  columns[]   = Array of column entries
  {
    ccdId     = I0..S5     - Which CCD contains the column
    ccdColumn = 0..1023    - CCD column position
  }
  ...
}

Adding one or more Bad Continuous Clocking Columns

addBadColumn: CMDOP_ADD_BAD_CC_COL
{
  columns[]   = Array of column entries
  {
    ccdId     = I0..S5     - Which CCD contains the column
    ccdColumn = 0..1023    - CCD column position
  }
  ...
}

For example, to load a bad pixel to the top right corner of I0 and S2 and flag column 511 on CCD S3 for Continuous Clocking mode, the following two commands are sent:

addBadPixel: CMDOP_ADD_BAD_PIXEL
{
  pixels[2]   =
  {
    ccdId     = I0
    ccdRow    = 1023
    ccdColumn = 1023
  },
  {
    ccdId     = S2
    ccdRow    = 1023
    ccdColumn = 1023
  }
}
addBadColumn: CMDOP_ADD_BAD_CC_COL
{
  columns[1]  =
  {
    ccdId     = S5
    ccdColumn = 511
  }
}

Science Telemetry

If a load bad pixel map command is successful, the command echo reports:

commandEcho: TTAG_CMD_ECHO
{
  arrival       = time command arrived (BEP 10Hz Ticks)
  result        = CMDRESULT_OK (other values indicate an error)

  addBadPixel: CMDOP_ADD_BAD_PIXEL
  {
    pixels[]    = Array of pixel entries
    {
      ccdId     = specified CCD
      ccdRow    = specified row
      ccdColumn = specified column
    }
    ...
  }
}

If a load bad te column map command is successful, the command echo reports:

commandEcho: TTAG_CMD_ECHO
{
  arrival       = time command arrived (BEP 10Hz Ticks)
  result        = CMDRESULT_OK (other values indicate an error)

  addBadColumn: CMDOP_ADD_BAD_TE_COL
  {
    columns[]   = Array of column entries
    {
      ccdId     = specified CCD
      ccdColumn = specified column
    }
    ...
  }
}

If a load bad cc column map command is successful, the command echo reports:

commandEcho: TTAG_CMD_ECHO
{
  arrival       = time command arrived (BEP 10Hz Ticks)
  result        = CMDRESULT_OK (other values indicate an error)

  addBadColumn: CMDOP_ADD_BAD_CC_COL
  {
    columns[]   = Array of column entries
    {
      ccdId     = specified CCD
      ccdColumn = specified column
    }
    ...
  }
}

If one or more entries cannot be stored because the corresponding table is full, the command echo "result" field will report: CMDRESULT_TABLE_FULL.

If one or more entries contains an argument which is out of range, the command echo "result" field will report: CMDRESULT_BAD_ARGUMENT, and the offending and remaining entries in the command packet will not be added to the map.

Warnings

  1. Power-Cycle or Cold Boot loads default lists

    If the BEP is power-cycled or performs a cold re-boot, all previously loaded bad pixels and columns are removed and overwritten with the default lists contained in ROM. See Section 3.5.2 to set the lists to an empty state.

  2. Re-compute bias maps whenever the pixel/column maps change

    The implementation of the bad pixel and column filtering uses special codes poked into the FEP bias map to eliminate those pixels from data processing. These codes are written into the maps after the maps have been re-computed. If any pixels or columns have been added since the last bias-recomputation, new bias maps must be computed. If any pixels or columns are removed from the lists, the bias maps must be recomputed to produce valid bias values for the corresponding locations in the map.

3.5.2 Resetting the on-board maps

Description

To empty the contents of the Bad Pixel Map, the user issues a "Reset Bad Pixel Map" command, and to empty the contents of the Bad Column Maps, the user issues a "Rest Bad Column" command.

Since there are default lists loaded from ROM upon power-on and cold boot, the bad pixel and column maps are not empty upon start-up. The "reset" commands are required to empty the lists.

Commands

To empty the contents of the Bad Pixel Map,

resetBadPixelMap: CMDOP_RESET_BAD_PIXEL
{
  No additional parameters
}

To empty the contents of the Timed Exposure Bad Column Map,

resetBadColumnMap: CMDOP_RESET_BAD_TE_COL
{
  No additional parameters
}

To empty the contents of the Continuous Clocking Bad Column Map,

resetBadColumnMap: CMDOP_RESET_BAD_CC_COL
{
  No additional parameters
}

Science Telemetry

The command echo to the Reset Bad Pixel Map command reports:

commandEcho: TTAG_CMD_ECHO
{
  arrival      = time command arrived (BEP 10Hz Ticks)
  result       = CMDRESULT_OK (other values indicate an error)

  resetBadPixelMap: CMDOP_RESET_BAD_PIXEL
  {
  }
}

The command echo to the Timed Exposure and Continuous Clocking Reset Bad Column Map commands are, respectively:

commandEcho: TTAG_CMD_ECHO
{
  arrival      = time command arrived (BEP 10Hz Ticks)
  result       = CMDRESULT_OK (other values indicate an error)

  resetBadPixelMap: CMDOP_RESET_BAD_TE_COL
  {
  }
}
commandEcho: TTAG_CMD_ECHO
{
  arrival      = time command arrived (BEP 10Hz Ticks)
  result       = CMDRESULT_OK (other values indicate an error)

  resetBadPixelMap: CMDOP_RESET_BAD_CC_COL
  {
  }
}

Warnings

Same as Section 3.5.1 Warnings


[PREVIOUS] [NEXT] [CONTENTS]
James E. Francis
Last modified: Wed Jan 12 10:52:49 EST