Bad pixels effectively remove useful focal plane area from an accumulation. The calculation of exposure maps, arfgen etc. need to have this data passed to them in the form of a map or a list.
A secondary use (currently only forseen for PN,and now implemented as a placeholder) is to determine the effect of bad pixels on the CTI correction: The actual amount of signal generated in a bad pixel is required as well. This is handled with an additional column that contains a value which is a proxy for the number of electrons generated per second so that a mode dependence of frame time can be accommodated. (An open issue is how implement newly discovered bad pixels for this point.) Also unique for PN is an extension which includes an offset value for selected columns. This is the offset applied for ``warm'' columns to reduce telemetry load, and which must then be removed in ground processing to get the correct energy scale.
The routine extracts from the CCF file integer arrays for RAWX, RAWY, type and yextent and a logical array showing whether the pixel has been previously identified and uplinked to the instrument for removal from the data stream. For the PN only (not yet implemented) a final real array is extracted containing the generation rates per second of each defect. This is converted via the frame time from CALgetModeParameters into PHA units (so that the data can be used in the CTI correction routine where necessary)
An example of use could be that the user needs to know what fraction of an extended region selected to make an Ancillary Response File (ARF) might be subject to bad pixels. In such a case would enquire via. size() of the array returned versus size() of the ARF region to correct for effective area. For point sources the weighted contribution of the location of a bad pixel must be removed from the encircled energy calculation.
Finally, in some modes of the instruments there is no up-loading of the bad pixel tables, so that the file has to be made mode dependent, via. the use of a column called MODE_N/A. This is also used in cases where a mode dependency in incorrect databases between on-board versions can be handled by the file.
We now intend to make the CCF file contain only the up-linked pixels, so as to avoid confusion. To detect low level bad pixels present in the observers' data sets, they should re-run the pipeline to locate new defects, and flag out the locations. These defects will be at an occurrence level 1%.