STScI Logo

makevig xray.xspatial



makevig -- convert vignetting corrections to IRAF PLIO mask


makevig ref_image mask energy


This program generates an IRAF mask file of scaled integer vignetting values. It will work for either Einstein or ROSAT, HRI, IPC or PSPC and will produce an output file with the dimensions of the reference image. (However, no negative values are used.) The mask values can be converted to represent a vignetting correction value by multiplying by the scale factor stored in the output mask header. 1.00 is the MINUMUM possible vignetting value.

For ROSAT, the values come from fits to the MPE-supplied data (ROSAT.DATEN). At the moment the function is implemented as a quadratic function of off-axis-angle, which is valid only within a circle of radius 24'. All values outside of the 24-arcminute radius are set to 20.0 to emphasize that the function is not valid outside this range.

The Einstein vignetting values were produced by doing fits to the Einstein vignetting value table. This table appears as table 8 in internal memo #12 of the document "Scientific Specification of the Data Analysis System for the Einstein Observatory (HEAO-2) Imaging Proportional Counter". Contact RSDC or EDC for more information on this document.

This task requires that the input ref_image file have an X-ray header. It uses the PROS XRAY header information to determine the average optical axis.


ref_image = "" prompt = reference image name

The name of the IRAF image file containing the X-RAY data for which vignetting corrections are to be generated.

mask = "" prompt = root name for output file []

The name of the output mask file. If no root is given (default CR), the output mask file name will be the root of the reference image file followed by the "" suffix. If the user supplies a name without an extension, the default extension will be ""; otherwise, the extension will remain as specified by the user with the addition of the ".pl" as required by IRAF.

energy = "" prompt = requested energy ( in x.x KeV)

Einstein only. The input string for the requested energy. Currently this value must be entered in x.x format representing the real value for KeV. The requested KeV must be one of the following values: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, or 4.5. Note that the vignetting data for energy values 3.0 KeV and above are extrapolations from lower energy levels.

rosenergy = "" prompt = requested energy

ROSAT only. The input string for the requested energy.

(einvignfile = "xspatialdata$") [string]

The name of the einstein calibration file (table)

(norm = 1.) [real]

This must be a constant 1.0 for now.

(display = 1) [int]

Display information to screen. Integer of range 0-5. The higher the number, the more verbose the display.

(ncols = 80) [int]

Number of columns ( in characters ) for output display, if requested

(clobber = no) [boolean]

OK to overwrite the existing output file?


1. Produce a vignetting mask file named with energy 1.5 KeV.

makevig ref_image = i296 mask = "" energy="1.500"

2. Produce a vignetting mask file named with energy 1.0 KeV.

makevig ref_image = i296 mask = energy="1.000"

3. Produce a vignetting mask file named with energy 2.0 KeV.

makevig ref_image = i296 mask = vignmask energy="2.000"


The time required to run the task is proportional to the dimensions of the input reference image.


The ROSAT functions are valid only within a 24-arcminute radius. Also only a ROSAT quadratic function is supported at the moment.

The Einstein vignetting was measured before launch at 3 energies (0.28, 1.49, 2.98 keV) and at 3 off axis angles (10', 22', 30'). The values generated by this program are interpolations to these measured values. Values outside of 30' should be used with extreme caution, as they are extrapolations into unknown territory. As the standard IPC (screened) images do not extend beyond 30', the data outside of 30' is of limited use to begin with. Also these masks do not reflect any instrument geometry and are best applied in conjunction with the exposure mask to ensure exclusion of rib-shadowed data, etc.

The ref_image file MUST contain an XRAY header, to allow calculation of the optical axis. Future versions may allow manual input of these values for non-xray data.

The algorithm measures the off-axis angle as the distance from the optical axis with the average aspect solution applied. This value can be displayed by using the QPDISP task and setting the header option ON.

Current vignetting values are calculated for single energy values but future versions of this routine will be able to calculate vignetting values for a given input spectrum.

The optional display subsamples rather than averages.


Documentation on file extensions (help extensions ) for a description of PROS file extensions.

Documentation on coordinates (help coords ) for a description of PROS coordinate conventions.

Source Code · Search Form · STSDAS