The following subset of the PSF system routines are for use by application software. Note that ";" in argument lists shows the break between the input arguments to the left, and output arguments to the right.
PSF_INIT( STATUS )
Initialise the PSF common block and load the available PSF libraries.
PSF_CLOSE( STATUS )
Free all PSF system sources
PSF_ASSOCI( LOC; SLOT, STATUS )
LOC <char> Locator to dataset
SLOT <int> The PSF reference
Associate a dataset with a PSF using READ access
PSF_ASSOCO( LOC; SLOT, STATUS )
LOC <char> Locator to dataset
SLOT <int> The PSF reference
Associate a dataset with a PSF using WRITE access.The name of the PSF selected is written to the dataset.
PSF_RELEASE( SLOT, STATUS )
SLOT <int> The PSF reference
Free any resources used by the PSF system for the PSF SLOT
PSF_2D_DATA( SLOT, X0, Y0, QX, QY, DX, DY, INTEG, NX, NY,
ARRAY, STATUS )
SLOT <int> The PSF reference
X0,Y0 <real> The image position at which the PSF is to
be evaluated, in radians
QX,QY <real> Radian offsets from the position (X0,Y0) to
the centre of the array ARRAY
DX,DY <real> The widths of the bins in ARRAY
INTEG <log> Return integrated probability per pixel?
NX,NY <int> The dimensions of ARRAY
ARRAY <real>[] The 2D probability array
Return a 2D array of probability per unit pixel for the PSF specified by SLOT.
PSF_DEF( SLOT, LOWT, HIGHT, LOWE, HIGHE, USERIN, USEROUT,
STATUS )
SLOT <int> The PSF reference
LOWT <dble> The lower time bound in offset from OBS_TAI
HIGHT <dble> The upper time bound in offset from OBS_TAI
LOWE <int> The lower energy channel bound
HIGHE <int> The upper energy channel bound
USERIN * User input to library DEF routine
USEROUT * User output from library DEF routine
Define the current energy and time bands for subsequent PSF evaluation. The time units are offsets from OBS_TAI, ie. the TAI equivalent of the time origin of the dataset, and the energy units are channel numbers. Additional USERIN and USEROUT arguments are provided for other possible information which could affect the PSF.
PSF_ENERGY_PFL( SLOT, NFRAC, FRAC, X0, Y0, RADII, STATUS )
SLOT <int> The PSF reference
NFRAC <int> Number of energy fractions to be evaluated
FRAC <real> Array of fractions for radii to be found
X0,Y0 <real> The image position at which the PSF is to
be evaluated, in radians
RADII <real>[] The radii in radians
Returns the radius in radians at which the specified PSF SLOT encloses each of the NFRAC energy fractions in FRAC. The PSF is evaluated at the image position (X0,Y0).
PSF_QMODEL( SLOT, MODEL, STATUS )
SLOT <int> The PSF reference
MODEL <logical> PSF is a model
Returns a logical flag depending on whether the PSF SLOT was defined using a PSF model specification.
PSF_RADIAL_PFL( SLOT, X0, Y0, DIM, PROF, STATUS )
SLOT <int> The PSF reference
X0,Y0 <real> The image position at which the PSF is to
be evaluated, in radians
DIM <int> Number of profile values
PROF <real>[] Profile values
Returns an normalised surface brightness profile of the specified PSF SLOT, evaluating the PSF at (X0,Y0).
PSF_RESAMPLE( NX, NY, IN, BORDER, OX, OY, OUT, STATUS )
NX,NY <int> Dimensions of IN and OUT arrays
IN <REAL>[] The input 2D PSF
BORDER <int> Border in pixels
OUT <REAL>[] The input 2D PSF
Used to shift a 2D array of values by an amount less than or equal to one pixel in each dimension. The value of BORDER which should be at least 1 prevents edge effects affecting the values in OUT within this BORDER. The units of OX and OY are fraction pixels.