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.